        /* ============================================
           CSS VARIABLES - TILIA TREE CARE DESIGN SYSTEM
           ============================================ */
        :root {
            /* Brand Colors - Green & Brown (Tree Palette) */
            --primary: #2E7D32;              /* Deep leaf green */
            --primary-dark: #1B5E20;         /* Dark forest green */
            --primary-light: #4CAF50;        /* Light leaf green */
            --secondary: #5D4037;            /* Tree bark brown */
            --secondary-dark: #4E342E;       /* Dark bark */
            --secondary-light: #8D6E63;      /* Light bark/wood */
            --accent: #66BB6A;               /* Fresh green accent */
            --accent-hover: #81C784;         /* Bright green hover */

            /* Brown Variations (Natural Wood/Bark) */
            --brown-warm: #6D4C41;           /* Warm brown */
            --brown-earth: #795548;          /* Earth tone */
            --brown-light: #A1887F;          /* Light wood */

            /* Green-Brown Combinations */
            --gradient-tree: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
            --gradient-nature: linear-gradient(90deg, var(--primary-light) 0%, var(--secondary-light) 100%);

            /* Neutrals */
            --white: #FFFFFF;
            --off-white: #FAFAFA;
            --light-gray: #F5F5F5;
            --gray: #E0E0E0;
            --dark-gray: #757575;
            --charcoal: #424242;
            --black: #212121;

            /* Functional */
            --success: #4CAF50;
            --warning: #FF9800;
            --error: #F44336;

            /* Typography - Light & Organic */
            --font-family: 'Quicksand', -apple-system, BlinkMacSystemFont, sans-serif;
            --font-family-accent: 'Kalam', cursive;
            --font-size-xs: 0.75rem;
            --font-size-sm: 0.875rem;
            --font-size-base: clamp(0.9375rem, 0.9rem + 0.15vw, 1rem);
            --font-size-lg: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
            --font-size-xl: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
            --font-size-2xl: clamp(1.5rem, 1.25rem + 0.75vw, 2rem);
            --font-size-3xl: clamp(1.75rem, 1.35rem + 1.25vw, 2.5rem);
            --font-size-4xl: clamp(2rem, 1.5rem + 1.5vw, 3rem);
            --font-weight-light: 300;
            --font-weight-normal: 400;
            --font-weight-medium: 500;
            --font-weight-semibold: 600;
            --line-height: 1.7;
            --line-height-tight: 1.4;

            /* Spacing */
            --spacing-xs: 0.25rem;
            --spacing-sm: 0.5rem;
            --spacing-md: clamp(0.75rem, 0.6rem + 0.4vw, 1rem);
            --spacing-lg: clamp(1rem, 0.8rem + 0.6vw, 1.5rem);
            --spacing-xl: clamp(1.25rem, 0.9rem + 1vw, 2rem);
            --spacing-2xl: clamp(1.75rem, 1.2rem + 1.5vw, 3rem);
            --spacing-3xl: clamp(2.25rem, 1.5rem + 2vw, 4rem);
            --spacing-4xl: clamp(6rem, 4rem + 5vw, 11.25rem);

            /* Shadows */
            --shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
            --shadow-md: 0 4px 12px rgba(0,0,0,0.1);
            --shadow-lg: 0 8px 24px rgba(0,0,0,0.12);
            --shadow-xl: 0 16px 48px rgba(0,0,0,0.16);

            /* Border Radius - Organic */
            --radius-sm: 0.5rem;
            --radius-md: 1rem;
            --radius-lg: 1.5rem;
            --radius-xl: 2rem;
            --radius-full: 9999px;
            --radius-organic: 40% 60% 60% 40% / 60% 40% 60% 40%;

            /* Transitions */
            --transition-fast: 0.15s ease;
            --transition-base: 0.3s ease;
            --transition-slow: 0.5s ease;

            /* Layout */
            --max-width: 75rem;
            --header-height: 7.5rem;
            --header-height-scrolled: 4.375rem;
        }

        /* Reset & Base */
        *, *::before, *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        html {
            scroll-behavior: smooth;
            overflow-x: hidden;
        }

        body {
            font-family: var(--font-family);
            font-size: var(--font-size-base);
            line-height: var(--line-height);
            color: var(--charcoal);
            background: var(--white);
            overflow-x: hidden;
        }

        img {
            max-width: 100%;
            height: auto;
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        /* Container */
        .container {
            max-width: var(--max-width);
            margin: 0 auto;
            padding: 0 var(--spacing-lg);
        }

        /* ============================================
           HEADER / NAVIGATION
           ============================================ */
        .header {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            height: var(--header-height);
            background: var(--white);
            box-shadow: var(--shadow-sm);
            z-index: 1000;
            display: flex;
            align-items: center;
            transition: height var(--transition-base);
        }

        .header .container {
            display: flex;
            justify-content: space-between;
            align-items: center;
            width: 100%;
        }

        .logo {
            display: flex;
            align-items: center;
            gap: var(--spacing-sm);
        }

        .logo-icon {
            width: 2.75rem;
            height: 2.75rem;
            background: var(--primary);
            border-radius: var(--radius-md);
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--white);
        }

        .logo-text {
            font-size: var(--font-size-xl);
            font-weight: var(--font-weight-medium);
            color: var(--primary);
        }

        .logo-text span {
            color: var(--secondary);
        }

        .header .logo-image {
            height: 6.125rem;
            width: auto;
            transition: height var(--transition-base);
        }

        /* Header scrolled state */
        .header.scrolled {
            height: var(--header-height-scrolled);
        }

        .header.scrolled .logo-image {
            height: 3.125rem;
        }

        .nav {
            display: flex;
            align-items: center;
            gap: var(--spacing-xl);
        }

        .nav-links {
            display: flex;
            list-style: none;
            gap: var(--spacing-lg);
        }

        .nav-link {
            font-weight: var(--font-weight-medium);
            color: var(--charcoal);
            padding: var(--spacing-sm) 0;
            position: relative;
            transition: color var(--transition-fast);
        }

        .nav-link:hover {
            color: var(--primary);
        }

        .nav-link::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 2px;
            background: var(--primary);
            transition: width var(--transition-base);
        }

        .nav-link:hover::after {
            width: 100%;
        }

        .nav-cta {
            background: linear-gradient(135deg, rgba(255, 200, 60, 0.15) 0%, rgba(74, 92, 44, 0.1) 30%, rgba(74, 92, 44, 0.1) 100%);
            color: #4A5C2C;
            padding: 0.5rem 1.25rem;
            border-radius: 50px;
            font-size: 1rem;
            font-weight: var(--font-weight-normal);
            display: flex;
            align-items: center;
            gap: 0.5rem;
            transition: all var(--transition-base);
            border: 1.5px solid rgba(200, 170, 50, 0.4);
            box-shadow: 0 2px 6px rgba(200, 170, 50, 0.12);
        }

        .nav-cta:hover {
            background: linear-gradient(135deg, rgba(255, 200, 60, 0.25) 0%, rgba(74, 92, 44, 0.18) 30%, rgba(74, 92, 44, 0.18) 100%);
            border-color: rgba(200, 170, 50, 0.6);
            transform: translateY(-1px);
            box-shadow: 0 3px 10px rgba(200, 170, 50, 0.2);
        }

        .mobile-menu-btn {
            display: none;
            background: none;
            border: none;
            cursor: pointer;
            color: var(--charcoal);
        }

        /* Hidden on desktop - only shown via media query at 768px */
        .mobile-menu,
        .mobile-menu-overlay {
            display: none;
        }

        /* ============================================
           HERO SECTION - CSS Grid Overlap Layout
           ============================================ */
        .hero {
            padding-top: var(--header-height);
            background: var(--white);
            position: relative;
            overflow: hidden;
            /* CSS Grid for overlapping image and content */
            display: grid;
            grid-template-rows: auto 1fr;
            min-height: 105vh;
        }

        /* Full-width hero image - spans both grid rows */
        .hero-image-banner {
            grid-row: 1 / 3;
            grid-column: 1;
            width: 100%;
            height: 85vh;
            min-height: 43.75rem;
            max-height: 62.5rem;
            background: url('../assets/hero-new.jpg') center 70%/cover no-repeat;
            position: relative;
        }

        /* Enhanced gradient - taller and stronger white fade */
        .hero-image-banner::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 17.5rem;
            background: linear-gradient(
                to top,
                rgba(255,255,255,1) 0%,
                rgba(255,255,255,0.95) 20%,
                rgba(255,255,255,0.7) 50%,
                rgba(255,255,255,0) 100%
            );
        }

        /* Google Rating Floating Card */
        .hero-float-card {
            position: absolute;
            bottom: 2.5rem;
            left: 1.25rem;
            background: var(--white);
            padding: var(--spacing-md) var(--spacing-lg);
            border-radius: var(--radius-lg);
            box-shadow: 0 4px 20px rgba(0,0,0,0.12);
            display: flex;
            align-items: center;
            gap: var(--spacing-md);
            z-index: 2;
        }

        .float-card-icon {
            width: 3rem;
            height: 3rem;
            background: rgba(232, 196, 74, 0.2);
            border-radius: var(--radius-md);
            display: flex;
            align-items: center;
            justify-content: center;
            color: #E8C44A;
        }

        .float-card-icon .material-icons {
            font-size: 1.5rem;
        }

        .float-card-content h4 {
            font-size: var(--font-size-base);
            font-weight: var(--font-weight-semibold);
            color: var(--black);
            margin-bottom: 2px;
        }

        .float-card-content p {
            font-size: var(--font-size-sm);
            color: var(--dark-gray);
        }

        /* Container overlaps bottom of image */
        .hero .container {
            grid-row: 1 / 3;
            grid-column: 1;
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            align-self: end;
            position: relative;
            z-index: 1;
            padding-top: var(--spacing-2xl);
            padding-bottom: var(--spacing-3xl);
            /* Position so H1 overlaps image, rest below fold */
            margin-top: 50vh;
        }

        .hero-content {
            max-width: 55rem;
            margin: 0 auto;
            text-align: center;
        }

        .hero-badge {
            position: absolute;
            left: 1.25rem;
            bottom: 9.375rem;
            display: flex;
            min-width: 17.5rem;
            align-items: center;
            gap: var(--spacing-sm);
            background: rgba(255,255,255,0.95);
            color: var(--primary);
            padding: var(--spacing-sm) var(--spacing-md);
            border-radius: var(--radius-full);
            font-size: var(--font-size-sm);
            font-weight: var(--font-weight-normal);
            z-index: 3;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            white-space: nowrap;
            margin: 0;
        }

        .hero-title {
            font-size: 4rem;
            font-weight: var(--font-weight-medium);
            line-height: var(--line-height-tight);
            color: #3F2B1A;
            margin-bottom: var(--spacing-lg);
        }

        .hero-title .highlight {
            color: #A8D86A;
            text-shadow: 3px 3px 6px rgba(20, 50, 10, 0.75);
            font-size: 1.15em;
        }

        .hero-title .text-shadow {
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
        }

        @media (max-width: 768px) {
            /* ============================================
               TABLET HERO: Stacked Layout (no gradient)
               ============================================ */

            /* Reset grid to stacked block layout */
            .hero {
                display: block;
                min-height: auto;
                padding-top: var(--header-height);
                background: transparent;
            }

            /* Image as contained banner, not overlapping */
            .hero-image-banner {
                position: relative;
                display: block;
                height: 50vh;
                min-height: 18.75rem;
                max-height: 28.125rem;
                border: none !important;
                outline: none !important;
                box-shadow: none !important;
            }

            /* Remove ALL pseudo-elements (gradient overlay) */
            .hero-image-banner::before,
            .hero-image-banner::after {
                content: none !important;
                display: none !important;
                height: 0 !important;
                width: 0 !important;
                background: none !important;
                opacity: 0 !important;
                border: none !important;
                visibility: hidden !important;
            }

            /* Container sits below image, clean white background */
            .hero .container {
                position: relative;
                margin-top: -1px;
                padding-top: var(--spacing-xl);
                padding-bottom: var(--spacing-2xl);
                background: var(--white);
            }

            /* White overlap to cover any edge artifacts */
            .hero .container::before {
                content: '';
                position: absolute;
                top: -0.75rem;
                left: 0;
                right: 0;
                height: 1rem;
                background: var(--white);
                z-index: 10;
            }

            /* Content styling */
            .hero-content {
                padding-top: 0;
                margin-top: 0;
            }

            .hero-title {
                font-size: 2.5rem;
            }
            .hero-title .highlight {
                font-size: 1em;
                text-shadow: none;
            }
            .hero-title .text-shadow {
                text-shadow: none;
            }
        }

        .hero-subtitle {
            font-size: var(--font-size-lg);
            color: var(--dark-gray);
            margin-bottom: var(--spacing-xl);
            line-height: 1.7;
        }

        .hero-cta-group {
            display: flex;
            gap: var(--spacing-md);
            margin-bottom: var(--spacing-xl);
            justify-content: center;
        }

        /* Hero CTA - Sunlight Gradient Style with Wave Animation */
        .hero-cta-group .btn-primary {
            background: linear-gradient(135deg, rgba(255, 200, 60, 0.15) 0%, rgba(74, 92, 44, 0.1) 30%, rgba(74, 92, 44, 0.1) 100%);
            color: #4A5C2C;
            border: 1.5px solid rgba(200, 170, 50, 0.4);
            box-shadow: 0 2px 6px rgba(200, 170, 50, 0.12);
            transition: all var(--transition-base);
        }

        .hero-cta-group .btn-primary .material-icons {
            color: #6B8E5A;
            font-size: 1.25rem;
            transition: color 0.3s ease;
        }

        .hero-cta-group .btn-primary .btn-text {
            background: linear-gradient(90deg,
                #4A5C2C 0%, #4A5C2C 33%,
                #E8C44A 33%, #F5D76E 50%, #E8C44A 66%,
                #4A5C2C 66%, #4A5C2C 100%);
            background-size: 300% 100%;
            background-position: 0% 50%;
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .hero-cta-group .btn-primary:hover {
            border-color: rgba(200, 170, 50, 0.6);
            box-shadow: 0 3px 10px rgba(200, 170, 50, 0.2);
        }

        .hero-cta-group .btn-primary:hover .material-icons {
            color: #E8C44A;
        }

        .hero-cta-group .btn-primary:hover .btn-text {
            animation: orange-wave-sweep 0.6s ease-out;
            animation-delay: 0.15s;
        }

        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.5625rem;
            padding: 0.5625rem 1.6875rem;
            border-radius: 50px;
            font-family: var(--font-family);
            font-size: 1.3125rem;
            font-weight: var(--font-weight-normal);
            border: none;
            cursor: pointer;
            transition: all var(--transition-base);
            text-decoration: none;
        }

        /* ============================================
           BUTTON STYLES - Original Green, Compact Height
           ============================================ */

        .btn-primary {
            background: #F5F3ED;
            border: 1px solid #E5E3DD;
            color: #5A5A55;
            padding: 1.125rem 2.5rem;
            font-size: 1.25rem;
            font-weight: var(--font-weight-normal);
            gap: 0.625rem;
        }

        .btn-primary .material-icons {
            color: #6B8E5A;
            font-size: 1.25rem;
        }

        .btn-primary:hover {
            background: #EDEAE4;
            transform: translateY(-2px);
            box-shadow: var(--shadow-md);
        }

        /* ALTERNATIVE 1: Outlined with Soft Hover
        .btn-primary {
            background: rgba(255, 255, 255, 0.95);
            color: var(--primary);
            border: 2px solid var(--primary);
            box-shadow: 0 2px 8px rgba(46, 125, 50, 0.08);
        }

        .btn-primary:hover {
            background: rgba(46, 125, 50, 0.12);
            border-color: var(--primary-dark);
            transform: translateY(-2px);
            box-shadow: 0 4px 16px rgba(46, 125, 50, 0.2);
        }
        */

        /* ALTERNATIVE 2: Very Light Fill with Strong Border
        .btn-primary {
            background: rgba(46, 125, 50, 0.08);
            color: var(--primary);
            border: 2.5px solid rgba(46, 125, 50, 0.5);
            box-shadow: 0 3px 10px rgba(46, 125, 50, 0.1);
        }

        .btn-primary:hover {
            background: rgba(46, 125, 50, 0.15);
            border-color: var(--primary);
            transform: translateY(-2px);
            box-shadow: 0 5px 18px rgba(46, 125, 50, 0.22);
        }
        */

        /* ALTERNATIVE 3: White with Shadow Emphasis
        .btn-primary {
            background: rgba(255, 255, 255, 0.98);
            color: var(--primary);
            border: 2px solid rgba(46, 125, 50, 0.25);
            box-shadow: 0 4px 16px rgba(46, 125, 50, 0.2);
        }

        .btn-primary:hover {
            background: rgba(250, 255, 250, 1);
            border-color: var(--primary);
            transform: translateY(-3px);
            box-shadow: 0 6px 24px rgba(46, 125, 50, 0.3);
        }
        */

        /* CSS custom property for animating conic-gradient angle */
        @property --gradient-angle {
            syntax: '<angle>';
            initial-value: 0deg;
            inherits: false;
        }

        /* Rotating color animation around the oval */
        @keyframes spin-gradient {
            to { --gradient-angle: 430deg; }
        }

        /* Orange wave sweep animation for gradient text effects */
        @keyframes orange-wave-sweep {
            0% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }

        /* Hand-drawn circle button style */
        .btn-circle {
            position: relative;
            background: transparent;
            border: none;
            color: #6E9125;
            padding: 1.875rem 6.875rem 2.1875rem 6.875rem;
            font-size: 1.125rem;
            font-weight: 700;
            margin: 0.9375rem 0 0.625rem 0;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.625rem;
            text-decoration: none;
            cursor: pointer;
            transition: transform var(--transition-base);
            z-index: 1;
        }

        /* The oval shape - static green by default */
        .btn-circle::before {
            content: '';
            position: absolute;
            inset: 0;
            background: #6E9125;
            -webkit-mask-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzI3OSIgaGVpZ2h0PSI4MDgiIHZpZXdCb3g9IjAgMCAzMjc5IDgwOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgdHJhbnNmb3JtPSJyb3RhdGUoMTgwIDE2MzkuNSA0MDQpIj4KPHBhdGggZD0iTTI4MDEuMzcgMTgzLjM3NUMyNDU4LjU0IDE0NS4zNTYgMjExMi4zNiAxMjQuNjMgMTc2Ni42NCAxMjEuNTA0QzE0MjMuMTMgMTE4LjQgMTA4MC4wNCAxMzMuMjc5IDc0MS42NzYgMTY1LjAyM0M2NTcuMDI1IDE3Mi45NiA1NzIuNzA1IDE4MS45NzggNDg4LjY5MSAxOTIuMDYyQzQxOCAyMDAuNTU5IDM0Ni44IDIwOC43NjUgMjc4LjI5NiAyMjIuNzQyQzE2MC43NjEgMjQ2LjcyNCAzNy45OTY1IDI5MS43MzMgNy42MTMzOSAzNzcuNEMtMjUuMjY3OSA0NzAuMDc0IDUyLjQyNjUgNTY0LjE0IDE2Mi42NDMgNjIxLjgyMUMyODQuMTc0IDY4NS40MjUgNDQxLjg5NCA3MTQuNjQ1IDU4Ny42NzcgNzQwLjE3OEM5MDIuMzk0IDc5NS4zMDMgMTIyNy44NyA4MTQuNTIyIDE1NDkuMzEgODA0LjkzQzE4NzIuMzcgNzk1LjI4NSAyMTkxLjIzIDc1OC4zNyAyNTAwLjA2IDcwMC42ODhDMjU3Ny4yMiA2ODYuMjc5IDI2NTMuODIgNjcwLjU3NiAyNzI5LjczIDY1My42NzNDMjgwMC42NyA2MzcuODggMjg3Mi4wNCA2MjEuOTc3IDI5NDAuODIgNjAyLjY0NUMzMDU0LjU3IDU3MC43MTkgMzE3NS41NCA1MjUuMTMzIDMyMzguNzkgNDUyLjE1NUMzMjcwLjMyIDQxNS43NTkgMzI4My42OSAzNzQuMjg2IDMyNzYuMDEgMzMxLjc1MUMzMjY3LjY1IDI4NS40NTkgMzIzMS41MSAyNDEuODM0IDMxODQuMTIgMjA3LjI0NUMzMDc1IDEyNy41MzQgMjkxMi4wOCA5OS4xNzUxIDI3NjEuODIgNzUuMzM2M0MyNDM4LjExIDI0LjAyIDIxMDYuNTIgLTEuMjk4NDQgMTc3Ni40MSAwLjA1MTE3MTdDMTQ0OC4zNyAxLjM4ODk4IDExMjEuMDIgMjcuNjM0IDgwNi41IDgzLjMxNTJDNzI5LjgzMiA5Ni44ODA1IDY1NC40MDMgMTEyLjU4NiA1NzguOTM4IDEyOC41ODRDNTY0LjkyNSAxMzEuNTQ3IDU1NS4wMDYgMTM5Ljg5NCA1NTguNzgzIDE1MC4yNUM1NjIuMDc0IDE1OS4yMDIgNTc4LjAzIDE2Ny4zOTggNTkyLjEzNiAxNjQuNDAxQzc0Mi41MTYgMTMyLjUxOSA4OTguMDg0IDEwOS4yMTYgMTA1My43MSA4OS45MjIyQzEyMDguNyA3MC42OTIgMTM2NS45MSA1Ni45NjQ2IDE1MjMuODMgNDkuNzAwN0MxODQwLjggMzUuMTA3MSAyMTYxLjczIDQ1LjE0OTMgMjQ3Ny43NSA3OS45MzZDMjU1NS4xIDg4LjQ1MiAyNjMyLjE3IDk4LjUxMTkgMjcwOC43OSAxMTAuMTAyQzI3ODUuNzggMTIxLjc2IDI4NjMuNDYgMTMzLjc1NCAyOTM4LjExIDE1MS42NDRDMzA2My45MiAxODEuNzgxIDMxOTcuMjYgMjQxLjc2OCAzMjE2Ljg2IDMzNi43ODVDMzIzMy4wNCA0MTUuMjIzIDMxNDcuOTUgNDc4LjEwMiAzMDU4LjExIDUxNy43NTRDMjk0NS4xNCA1NjcuNTk0IDI4MTIuMTYgNTk1LjkyNCAyNjgzLjc1IDYyNC4yODRDMjM4OC44OCA2ODkuMzk2IDIwODMuNTYgNzM2LjYxNyAxNzcyLjQ2IDc1OS4yMDJDMTQ2My4yNyA3ODEuNjYzIDExNDcuMjEgNzc4LjMxNSA4MzcuNDk5IDc0Mi42MDFDNjg1LjQ3MiA3MjUuMDYzIDUzMi41NDUgNzAwLjUwNiAzODYuOTQzIDY2NC41MjRDMjU1Ljc2NSA2MzIuMTI5IDEyNi40NTggNTgxLjUzOSA2OS41MjA4IDQ5MS44OThDNDQuNjg2OCA0NTIuNzc1IDM4LjM0NjkgNDA4LjY0MSA2MC4zNTkzIDM2OS4zODhDODAuMzI5MSAzMzMuNzg3IDEyMi4yNDQgMzA2LjIzIDE3MC40NjQgMjg3LjA1MUMyMjIuNTA5IDI2Ni4zNTMgMjgwLjgyNCAyNTMuNTIgMzM5Ljg1MiAyNDMuNzUzQzQxMi4xOTIgMjMxLjc5OCA0ODYuMjM5IDIyMy41MzcgNTU5Ljc5NiAyMTUuMDZDODg4LjM0NSAxNzcuMjk2IDEyMjEuOTEgMTU1Ljk0NSAxNTU2Ljk0IDE1MS4yNUMxODkwLjA1IDE0Ni42MDQgMjIyNCAxNTcuMDcgMjU1Ni4zNyAxODQuNDJDMjYzNy44NiAxOTEuMTI5IDI3MTkuMiAxOTguODI1IDI4MDAuMzggMjA3LjQ2MUMyODIzLjYgMjA5Ljk0MyAyODI0LjI5IDE4NS45MiAyODAxLjM3IDE4My4zNzVaIiBmaWxsPSIjNkU5MTI1Ii8+CjwvZz4KPC9zdmc+Cg==');
            mask-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzI3OSIgaGVpZ2h0PSI4MDgiIHZpZXdCb3g9IjAgMCAzMjc5IDgwOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgdHJhbnNmb3JtPSJyb3RhdGUoMTgwIDE2MzkuNSA0MDQpIj4KPHBhdGggZD0iTTI4MDEuMzcgMTgzLjM3NUMyNDU4LjU0IDE0NS4zNTYgMjExMi4zNiAxMjQuNjMgMTc2Ni42NCAxMjEuNTA0QzE0MjMuMTMgMTE4LjQgMTA4MC4wNCAxMzMuMjc5IDc0MS42NzYgMTY1LjAyM0M2NTcuMDI1IDE3Mi45NiA1NzIuNzA1IDE4MS45NzggNDg4LjY5MSAxOTIuMDYyQzQxOCAyMDAuNTU5IDM0Ni44IDIwOC43NjUgMjc4LjI5NiAyMjIuNzQyQzE2MC43NjEgMjQ2LjcyNCAzNy45OTY1IDI5MS43MzMgNy42MTMzOSAzNzcuNEMtMjUuMjY3OSA0NzAuMDc0IDUyLjQyNjUgNTY0LjE0IDE2Mi42NDMgNjIxLjgyMUMyODQuMTc0IDY4NS40MjUgNDQxLjg5NCA3MTQuNjQ1IDU4Ny42NzcgNzQwLjE3OEM5MDIuMzk0IDc5NS4zMDMgMTIyNy44NyA4MTQuNTIyIDE1NDkuMzEgODA0LjkzQzE4NzIuMzcgNzk1LjI4NSAyMTkxLjIzIDc1OC4zNyAyNTAwLjA2IDcwMC42ODhDMjU3Ny4yMiA2ODYuMjc5IDI2NTMuODIgNjcwLjU3NiAyNzI5LjczIDY1My42NzNDMjgwMC42NyA2MzcuODggMjg3Mi4wNCA2MjEuOTc3IDI5NDAuODIgNjAyLjY0NUMzMDU0LjU3IDU3MC43MTkgMzE3NS41NCA1MjUuMTMzIDMyMzguNzkgNDUyLjE1NUMzMjcwLjMyIDQxNS43NTkgMzI4My42OSAzNzQuMjg2IDMyNzYuMDEgMzMxLjc1MUMzMjY3LjY1IDI4NS40NTkgMzIzMS41MSAyNDEuODM0IDMxODQuMTIgMjA3LjI0NUMzMDc1IDEyNy41MzQgMjkxMi4wOCA5OS4xNzUxIDI3NjEuODIgNzUuMzM2M0MyNDM4LjExIDI0LjAyIDIxMDYuNTIgLTEuMjk4NDQgMTc3Ni40MSAwLjA1MTE3MTdDMTQ0OC4zNyAxLjM4ODk4IDExMjEuMDIgMjcuNjM0IDgwNi41IDgzLjMxNTJDNzI5LjgzMiA5Ni44ODA1IDY1NC40MDMgMTEyLjU4NiA1NzguOTM4IDEyOC41ODRDNTY0LjkyNSAxMzEuNTQ3IDU1NS4wMDYgMTM5Ljg5NCA1NTguNzgzIDE1MC4yNUM1NjIuMDc0IDE1OS4yMDIgNTc4LjAzIDE2Ny4zOTggNTkyLjEzNiAxNjQuNDAxQzc0Mi41MTYgMTMyLjUxOSA4OTguMDg0IDEwOS4yMTYgMTA1My43MSA4OS45MjIyQzEyMDguNyA3MC42OTIgMTM2NS45MSA1Ni45NjQ2IDE1MjMuODMgNDkuNzAwN0MxODQwLjggMzUuMTA3MSAyMTYxLjczIDQ1LjE0OTMgMjQ3Ny43NSA3OS45MzZDMjU1NS4xIDg4LjQ1MiAyNjMyLjE3IDk4LjUxMTkgMjcwOC43OSAxMTAuMTAyQzI3ODUuNzggMTIxLjc2IDI4NjMuNDYgMTMzLjc1NCAyOTM4LjExIDE1MS42NDRDMzA2My45MiAxODEuNzgxIDMxOTcuMjYgMjQxLjc2OCAzMjE2Ljg2IDMzNi43ODVDMzIzMy4wNCA0MTUuMjIzIDMxNDcuOTUgNDc4LjEwMiAzMDU4LjExIDUxNy43NTRDMjk0NS4xNCA1NjcuNTk0IDI4MTIuMTYgNTk1LjkyNCAyNjgzLjc1IDYyNC4yODRDMjM4OC44OCA2ODkuMzk2IDIwODMuNTYgNzM2LjYxNyAxNzcyLjQ2IDc1OS4yMDJDMTQ2My4yNyA3ODEuNjYzIDExNDcuMjEgNzc4LjMxNSA4MzcuNDk5IDc0Mi42MDFDNjg1LjQ3MiA3MjUuMDYzIDUzMi41NDUgNzAwLjUwNiAzODYuOTQzIDY2NC41MjRDMjU1Ljc2NSA2MzIuMTI5IDEyNi40NTggNTgxLjUzOSA2OS41MjA4IDQ5MS44OThDNDQuNjg2OCA0NTIuNzc1IDM4LjM0NjkgNDA4LjY0MSA2MC4zNTkzIDM2OS4zODhDODAuMzI5MSAzMzMuNzg3IDEyMi4yNDQgMzA2LjIzIDE3MC40NjQgMjg3LjA1MUMyMjIuNTA5IDI2Ni4zNTMgMjgwLjgyNCAyNTMuNTIgMzM5Ljg1MiAyNDMuNzUzQzQxMi4xOTIgMjMxLjc5OCA0ODYuMjM5IDIyMy41MzcgNTU5Ljc5NiAyMTUuMDZDODg4LjM0NSAxNzcuMjk2IDEyMjEuOTEgMTU1Ljk0NSAxNTU2Ljk0IDE1MS4yNUMxODkwLjA1IDE0Ni42MDQgMjIyNCAxNTcuMDcgMjU1Ni4zNyAxODQuNDJDMjYzNy44NiAxOTEuMTI5IDI3MTkuMiAxOTguODI1IDI4MDAuMzggMjA3LjQ2MUMyODIzLjYgMjA5Ljk0MyAyODI0LjI5IDE4NS45MiAyODAxLjM3IDE4My4zNzVaIiBmaWxsPSIjNkU5MTI1Ii8+CjwvZz4KPC9zdmc+Cg==');
            -webkit-mask-size: 95% 95%;
            mask-size: 95% 95%;
            -webkit-mask-position: center;
            mask-position: center;
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            z-index: -1;
            transition: background 0.3s ease;
        }

        /* On hover: rotating conic gradient with orange accent */
        .btn-circle:hover::before {
            background: conic-gradient(
                from var(--gradient-angle),
                #6E9125 0deg,
                #8A9E30 30deg,
                #B8A235 60deg,
                #D4A030 90deg,
                #D4A030 160deg,
                #B8A235 190deg,
                #8A9E30 220deg,
                #6E9125 250deg,
                #6E9125 360deg
            );
            animation: spin-gradient 0.6s linear forwards;
        }

        .btn-circle .material-icons {
            color: #6E9125;
            font-size: 1.25rem;
        }

        .btn-circle:hover {
            transform: scale(1.05);
        }

        /* ============================================
           BUTTON DEMO STYLES - For Visual Comparison
           ============================================ */

        .btn-demo-current {
            background: rgba(46, 125, 50, 0.12);
            color: var(--primary);
            border: 2.5px solid rgba(46, 125, 50, 0.6);
            box-shadow: 0 3px 10px rgba(46, 125, 50, 0.1);
            padding: 0.75rem 2rem;
            font-size: 1rem;
            font-weight: var(--font-weight-medium);
            border-radius: var(--radius-full);
            cursor: pointer;
            transition: all var(--transition-base);
        }

        .btn-demo-current:hover {
            background: rgba(46, 125, 50, 0.20);
            border-color: var(--primary);
            transform: translateY(-2px);
            box-shadow: 0 5px 18px rgba(46, 125, 50, 0.22);
        }

        .btn-demo-alt1 {
            background: rgba(255, 255, 255, 0.95);
            color: var(--primary);
            border: 2px solid var(--primary);
            box-shadow: 0 2px 8px rgba(46, 125, 50, 0.08);
            padding: 0.75rem 2rem;
            font-size: 1rem;
            font-weight: var(--font-weight-medium);
            border-radius: var(--radius-full);
            cursor: pointer;
            transition: all var(--transition-base);
        }

        .btn-demo-alt1:hover {
            background: rgba(46, 125, 50, 0.12);
            border-color: var(--primary-dark);
            transform: translateY(-2px);
            box-shadow: 0 4px 16px rgba(46, 125, 50, 0.2);
        }

        .btn-demo-alt2 {
            background: rgba(46, 125, 50, 0.08);
            color: var(--primary);
            border: 2.5px solid rgba(46, 125, 50, 0.5);
            box-shadow: 0 3px 10px rgba(46, 125, 50, 0.1);
            padding: 0.75rem 2rem;
            font-size: 1rem;
            font-weight: var(--font-weight-medium);
            border-radius: var(--radius-full);
            cursor: pointer;
            transition: all var(--transition-base);
        }

        .btn-demo-alt2:hover {
            background: rgba(46, 125, 50, 0.15);
            border-color: var(--primary);
            transform: translateY(-2px);
            box-shadow: 0 5px 18px rgba(46, 125, 50, 0.22);
        }

        .btn-demo-alt3 {
            background: rgba(255, 255, 255, 0.98);
            color: var(--primary);
            border: 2px solid rgba(46, 125, 50, 0.25);
            box-shadow: 0 4px 16px rgba(46, 125, 50, 0.2);
            padding: 0.75rem 2rem;
            font-size: 1rem;
            font-weight: var(--font-weight-medium);
            border-radius: var(--radius-full);
            cursor: pointer;
            transition: all var(--transition-base);
        }

        .btn-demo-alt3:hover {
            background: rgba(250, 255, 250, 1);
            border-color: var(--primary);
            transform: translateY(-3px);
            box-shadow: 0 6px 24px rgba(46, 125, 50, 0.3);
        }

        .btn-secondary {
            background: rgba(255, 255, 255, 0.95);
            color: var(--charcoal);
            border: 1.5px solid rgba(0, 0, 0, 0.15);
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
        }

        .btn-secondary:hover {
            border-color: rgba(0, 0, 0, 0.25);
            color: var(--charcoal);
            background: rgba(255, 255, 255, 1);
            transform: translateY(-1px);
            box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
        }

        .btn-secondary .btn-text {
            background: linear-gradient(90deg,
                #424242 0%, #424242 33%,
                #E8C44A 33%, #F5D76E 50%, #E8C44A 66%,
                #424242 66%, #424242 100%);
            background-size: 300% 100%;
            background-position: 0% 50%;
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .btn-secondary:hover .btn-text {
            animation: orange-wave-sweep 0.6s ease-out;
            animation-delay: 0.15s;
        }

        .btn-lg {
            padding: 0.75rem 2.25rem;
            font-size: 1.4375rem;
        }

        .hero-trust {
            display: flex;
            align-items: center;
            gap: var(--spacing-lg);
            justify-content: center;
        }

        .trust-item {
            display: flex;
            align-items: center;
            gap: var(--spacing-sm);
            color: var(--dark-gray);
            font-size: var(--font-size-sm);
        }

        .trust-item .material-icons {
            color: var(--primary);
            font-size: 1.25rem;
        }

        .hero-image {
            position: relative;
        }

        .hero-image-main {
            width: 100%;
            height: 30rem;
            background: url('../assets/photos/hero.png') center/cover no-repeat;
            border-radius: var(--radius-xl);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            color: var(--white);
            text-align: center;
            padding: var(--spacing-xl);
            box-shadow: var(--shadow-xl);
            position: relative;
            overflow: hidden;
        }

        .hero-image-main::before {
            content: '';
            position: absolute;
            inset: 0;
            background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="40" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="0.5"/></svg>') center/cover;
            opacity: 0.5;
        }

        .placeholder-icon {
            font-size: 4rem;
            margin-bottom: var(--spacing-md);
            opacity: 0.9;
        }

        .placeholder-text {
            font-size: var(--font-size-sm);
            font-weight: var(--font-weight-medium);
            opacity: 0.9;
            max-width: 12.5rem;
        }

        /* ============================================
           SERVICES SECTION
           ============================================ */
        .services {
            padding: var(--spacing-4xl) 0;
            background: #F5F5F5;
        }

        .services .section-header {
            text-align: center;
            max-width: 37.5rem;
            margin: 0 auto var(--spacing-xl);
        }

        .services .section-label {
            display: inline-block;
            font-size: var(--font-size-sm);
            font-weight: var(--font-weight-normal);
            color: #3F2B1A;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: var(--spacing-sm);
        }

        .services .section-title {
            font-size: var(--font-size-3xl);
            font-weight: var(--font-weight-medium);
            color: #2E7D32;
            margin-bottom: var(--spacing-md);
        }

        .services .section-subtitle {
            font-size: var(--font-size-lg);
            color: #3F2B1A;
        }

        /* Default section header styles */
        .section-header {
            text-align: center;
            max-width: 37.5rem;
            margin: 0 auto var(--spacing-3xl);
        }

        .section-label {
            display: inline-block;
            font-size: var(--font-size-sm);
            font-weight: var(--font-weight-normal);
            color: var(--primary);
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: var(--spacing-sm);
        }

        .section-title {
            font-size: var(--font-size-3xl);
            font-weight: var(--font-weight-medium);
            color: #2E7D32;
            margin-bottom: var(--spacing-md);
        }

        .section-subtitle {
            font-size: var(--font-size-lg);
            color: var(--dark-gray);
        }

        .services-grid {
            display: grid;
            grid-template-columns: repeat(6, 1fr);
            gap: var(--spacing-lg);
            align-items: start;
            transition: gap 0.4s ease;
        }

        /* First row: cards 1-3 span 2 columns each */
        .services-grid .service-card:nth-child(1),
        .services-grid .service-card:nth-child(2),
        .services-grid .service-card:nth-child(3) {
            grid-column: span 2;
        }

        /* Second row: cards 4-5 span 3 columns each (full width together) */
        .services-grid .service-card:nth-child(4),
        .services-grid .service-card:nth-child(5) {
            grid-column: span 3;
        }

        /* Card highlight when expanded */
        .service-card.is-active {
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
            transform: translateY(-4px);
            opacity: 1;
        }

        /* Slightly reduce opacity of inactive cards when one is selected */
        .services-grid:has(.service-card.is-active) .service-card:not(.is-active) {
            opacity: 0.65;
            box-shadow: none;
        }

        .service-card {
            background: var(--white);
            border: 1px solid #E0E0E0;
            border-radius: var(--radius-xl);
            padding: var(--spacing-xl);
            padding-top: 5.9375rem;
            min-height: 17.5rem;
            cursor: pointer;
            position: relative;
            margin-top: 3.75rem;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
            transition: box-shadow 0.3s ease, transform 0.3s ease, margin 0.4s ease, padding 0.3s ease, opacity 0.3s ease;
        }

        /* Z-index stacking: earlier cards on top to prevent image overlap */
        .service-card:nth-child(1) { z-index: 5; }
        .service-card:nth-child(2) { z-index: 4; }
        .service-card:nth-child(3) { z-index: 3; }
        .service-card:nth-child(4) { z-index: 2; }
        .service-card:nth-child(5) { z-index: 1; }

        .service-card:not(.expanded):hover {
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
            transform: translateY(-4px);
        }

        .service-icon {
            width: 90%;
            height: 6.875rem;
            background: transparent;
            display: flex;
            align-items: flex-end;
            justify-content: center;
            position: absolute;
            top: -2.75rem;
            left: 50%;
            transform: translateX(-50%);
            transition: all var(--transition-base);
            overflow: visible;
        }

        .service-card:hover .service-icon {
            background: transparent;
        }

        .service-icon img {
            max-width: 100%;
            max-height: 110px;
            height: auto;
            object-fit: contain;
            transition: transform var(--transition-base);
            filter: saturate(0.9);
        }

        .service-card:not(.expanded):hover .service-icon img {
            transform: scale(1.05);
        }

        /* Image 1 - fit without cropping */
        .service-card:nth-child(1) .service-icon img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

        /* Image 2 - show full image without cropping */
        .service-card:nth-child(2) .service-icon img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

        /* Desktop: Stump Grinding - 15% smaller, constrained to container */
        .service-card:nth-child(3) .service-icon img {
            width: 85%;
            height: 100%;
            object-fit: contain;
        }

        /* Desktop: Site Clearance - 10% smaller, constrained to container */
        .service-card:nth-child(4) .service-icon img {
            width: 90%;
            height: 100%;
            object-fit: contain;
        }

        .service-icon .material-icons {
            font-size: 1.75rem;
            color: var(--primary);
            transition: color var(--transition-base);
        }

        .service-card:hover .service-icon .material-icons {
            color: #1B5E20;
        }

        .service-card h3 {
            font-size: var(--font-size-xl);
            font-weight: var(--font-weight-medium);
            color: #3F2B1A;
            margin-bottom: var(--spacing-md);
        }

        .service-card p {
            font-size: var(--font-size-sm);
            color: #3F2B1A;
            line-height: 1.6;
            margin-bottom: var(--spacing-md);
        }

        .service-card .learn-more {
            display: inline-block;
            position: relative;
            margin-top: var(--spacing-md);
            font-size: 0.8125rem;
            font-weight: var(--font-weight-normal);
            color: #3F2B1A;
            transition: all var(--transition-base);
        }

        .service-card .learn-more::after {
            content: '';
            position: absolute;
            bottom: -3px;
            left: 0;
            width: 100%;
            height: 3px;
            background: linear-gradient(
                90deg,
                transparent 0%,
                rgba(110, 145, 37, 0.4) 15%,
                rgba(110, 145, 37, 0.6) 50%,
                rgba(110, 145, 37, 0.4) 85%,
                transparent 100%
            );
            border-radius: 50%;
            transition: all var(--transition-base);
        }

        .service-card .learn-more .material-icons {
            display: none;
        }

        .service-card:hover .learn-more {
            color: #6E9125;
        }

        .service-card:hover .learn-more::after {
            background: linear-gradient(
                90deg,
                /* Green section at start - matches original */
                transparent 0%,
                rgba(110, 145, 37, 0.4) 4%,
                rgba(110, 145, 37, 0.6) 14%,
                rgba(110, 145, 37, 0.4) 24%,
                transparent 28%,
                /* Gold wave in middle */
                rgba(232, 196, 74, 0.5) 35%,
                rgba(232, 196, 74, 0.9) 42%,
                #E8C44A 50%,
                rgba(232, 196, 74, 0.9) 58%,
                rgba(232, 196, 74, 0.5) 65%,
                /* Green section at end - matches original */
                transparent 72%,
                rgba(110, 145, 37, 0.4) 76%,
                rgba(110, 145, 37, 0.6) 86%,
                rgba(110, 145, 37, 0.4) 96%,
                transparent 100%
            );
            background-size: 350% 100%;
            background-position: 0% 50%;
            animation: underline-wave 0.65s ease-out;
        }

        @keyframes underline-wave {
            0% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }

        .service-card[data-service] {
            cursor: pointer;
        }

        /* ============================================
           SERVICE DETAIL PANEL (Below Grid)
           ============================================ */

        /* Hide close button and expanded content in cards - not used anymore */
        .service-close-btn {
            display: none !important;
        }

        .service-card-expanded {
            display: none !important;
        }

        /* Detail Panel - modal popup on desktop */
        .service-detail-panel {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 2000;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.3s ease, visibility 0.3s ease;
        }

        .service-detail-panel.open {
            opacity: 1;
            visibility: visible;
        }

        .service-modal-overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.5);
            backdrop-filter: blur(4px);
        }

        .service-detail-panel .panel-inner {
            position: relative;
            background: var(--white);
            border-radius: var(--radius-xl);
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0;
            overflow: hidden;
            max-width: 800px;
            width: 90%;
            max-height: 90vh;
            overflow-y: auto;
            transform: scale(0.9) translateY(20px);
            transition: transform 0.3s ease;
        }

        .service-detail-panel.open .panel-inner {
            transform: scale(1) translateY(0);
        }

        /* Close button in panel */
        .panel-close-btn {
            position: absolute;
            top: 1rem;
            right: 1rem;
            width: 2.75rem;
            height: 2.75rem;
            border: none;
            background: transparent;
            border-radius: var(--radius-md);
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0;
            transition: all var(--transition-base);
            z-index: 10;
        }

        .panel-close-btn:hover {
            background: rgba(90, 90, 85, 0.1);
        }

        .panel-close-btn .material-icons {
            font-size: 2rem;
            color: #A5A5A0;
        }

        /* Panel left column - title + desc + checklist */
        .panel-left {
            padding: var(--spacing-xl);
            display: flex;
            flex-direction: column;
        }

        .panel-left h3 {
            font-size: var(--font-size-2xl);
            font-weight: var(--font-weight-semibold);
            color: var(--secondary);
            margin-bottom: var(--spacing-md);
        }

        .panel-left > p {
            font-size: var(--font-size-base);
            color: var(--dark-gray);
            line-height: 1.7;
            margin-bottom: var(--spacing-lg);
        }

        /* Panel right column - checklist */
        .panel-right {
            padding: var(--spacing-xl);
            padding-right: var(--spacing-3xl);
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        /* Price hint - light grey, pushed to bottom */
        .panel-left .service-price-hint {
            margin-top: auto;
            padding: 0.625rem 0.875rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            background: rgba(0, 0, 0, 0.03);
            border-radius: var(--radius-md);
            font-size: var(--font-size-sm);
        }

        .panel-left .service-price-hint .material-icons {
            color: #6E9125;
            font-size: 1.125rem;
            flex-shrink: 0;
        }

        /* CTA button row - inside panel, spans both columns */
        .panel-cta {
            grid-column: 1 / -1;
            padding: var(--spacing-md) var(--spacing-xl) var(--spacing-lg);
            text-align: center;
        }

        .panel-cta .btn {
            padding: 0.875rem 2rem;
            font-size: var(--font-size-base);
            font-weight: var(--font-weight-medium);
            border-radius: var(--radius-full);
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: linear-gradient(135deg, rgba(255, 200, 60, 0.15) 0%, rgba(74, 92, 44, 0.1) 100%);
            color: #4A5C2C;
            border: 1.5px solid rgba(200, 170, 50, 0.4);
            transition: all var(--transition-base);
            text-decoration: none;
        }

        .panel-cta .btn:hover {
            background: linear-gradient(135deg, rgba(255, 200, 60, 0.25) 0%, rgba(74, 92, 44, 0.18) 100%);
            border-color: rgba(200, 170, 50, 0.6);
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(200, 170, 50, 0.2);
        }

        .panel-cta .btn .material-icons {
            font-size: 1.125rem;
        }

        /* Panel service features list - now in panel-right */
        .panel-right .service-features {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .panel-right .service-features li {
            display: flex;
            align-items: flex-start;
            gap: 0.625rem;
            margin-bottom: 0.625rem;
            font-size: var(--font-size-sm);
            color: #3F2B1A;
        }

        .panel-right .service-features li .material-icons {
            color: #6E9125;
            font-size: 1.125rem;
            flex-shrink: 0;
            margin-top: 2px;
        }

        /* Service features list (shared) */
        .service-features {
            list-style: none;
            padding: 0;
            margin: 0 0 var(--spacing-lg) 0;
        }

        .service-features li {
            display: flex;
            align-items: flex-start;
            gap: var(--spacing-sm);
            padding: var(--spacing-sm) 0;
            font-size: var(--font-size-base);
            color: var(--charcoal);
            border-bottom: 1px solid rgba(0, 0, 0, 0.05);
        }

        .service-features li:last-child {
            border-bottom: none;
        }

        .service-features li .material-icons {
            color: #6E9125;
            font-size: 1rem;
            flex-shrink: 0;
            margin-top: 2px;
        }

        /* Service price hint (shared) */
        .service-price-hint {
            display: flex;
            align-items: center;
            gap: var(--spacing-md);
            padding: var(--spacing-md);
            background: rgba(0, 0, 0, 0.03);
            border-radius: var(--radius-md);
            margin-bottom: var(--spacing-lg);
        }

        .service-price-hint .material-icons {
            color: #6E9125;
            font-size: 1.5rem;
        }

        /* CTA button hover in expanded left */
        .expanded-left .btn:hover {
            background: linear-gradient(135deg, rgba(255, 200, 60, 0.25) 0%, rgba(74, 92, 44, 0.18) 100%);
            border-color: rgba(200, 170, 50, 0.6);
            transform: translateY(-1px);
        }

        .expanded-left .btn .material-icons {
            font-size: 1.125rem;
        }

        /* Mobile: stack expanded content */
        @media (max-width: 768px) {
            .service-card.expanded .service-card-expanded {
                grid-template-columns: 1fr;
            }
            .expanded-left {
                padding: var(--spacing-lg);
            }
            .expanded-left .expanded-image img {
                max-width: 9.375rem;
                max-height: 9.375rem;
            }
            .expanded-right {
                padding: var(--spacing-lg);
                padding-right: var(--spacing-lg);
            }
            /* Tablet/mobile: ALL service cards - images inside container, no offset */
            .service-card {
                margin-top: 0;
                padding-top: var(--spacing-lg);
            }
            .service-card .service-icon {
                position: relative;
                top: 0;
                transform: none;
                left: 0;
                width: 100%;
                height: auto;
                margin-bottom: var(--spacing-md);
            }
            .service-card .service-icon img {
                width: 80%;
                height: auto;
            }
        }

        /* ============================================
           QUOTE CTA SECTION
           ============================================ */
        .quote-cta {
            display: flex;
            flex-direction: column;
            height: clamp(23.75rem, 40vw, 32.5rem); /* Reduced height */
            position: relative;
            overflow: hidden;
        }

        .quote-cta-green {
            background: linear-gradient(180deg, #232B26 0%, #092914 100%);
            flex: 1; /* Full height - single green container */
        }

        .quote-cta-image {
            position: absolute;
            right: -5%;
            top: 0;
            height: 100%;
            width: 45%;
            z-index: 1;
        }

        .quote-cta-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
        }

        /* Gradient overlay to blend image into green background */
        .quote-cta-image::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, #1a2a1d 0%, rgba(26, 42, 29, 0.5) 12%, transparent 30%);
            z-index: 2;
            pointer-events: none;
        }

        .quote-tree {
            position: absolute;
            top: -8%;
            left: 52%;
            transform: translateX(-50%);
            z-index: 10;
        }

        .quote-tree img {
            height: clamp(23.75rem, 38vw, 34.375rem); /* Smaller tree to fit */
            width: auto;
        }

        .quote-cta-content {
            position: absolute;
            left: clamp(5rem, 12vw, 11.25rem);
            top: 42%;
            transform: translateY(-50%);
            max-width: clamp(20rem, 38vw, 34.375rem);
            z-index: 10;
        }

        .quote-cta-content h2 {
            font-size: 2.5rem;
            font-weight: 500;
            color: #FFFFFF;
            margin-bottom: 1rem;
            white-space: nowrap;
        }

        .quote-cta-content p {
            font-size: 1.125rem;
            color: rgba(255, 255, 255, 0.9);
            margin-bottom: 1.5rem;
            line-height: 1.6;
        }

        .btn-cta-gradient {
            position: relative;
            background: transparent;
            border: none;
            color: #FFFFFF;
            padding: 1.375rem 3.75rem;
            font-size: 1.25rem;
            font-weight: 700;
            border-radius: 3.125rem;
            display: inline-flex;
            align-items: center;
            gap: 0.625rem;
            text-decoration: none;
            transition: all 0.3s ease;
            z-index: 1;
        }

        .btn-cta-gradient::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: #6E9125;
            -webkit-mask-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzI3OSIgaGVpZ2h0PSI4MDgiIHZpZXdCb3g9IjAgMCAzMjc5IDgwOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgdHJhbnNmb3JtPSJyb3RhdGUoMTgwIDE2MzkuNSA0MDQpIj4KPHBhdGggZD0iTTI4MDEuMzcgMTgzLjM3NUMyNDU4LjU0IDE0NS4zNTYgMjExMi4zNiAxMjQuNjMgMTc2Ni42NCAxMjEuNTA0QzE0MjMuMTMgMTE4LjQgMTA4MC4wNCAxMzMuMjc5IDc0MS42NzYgMTY1LjAyM0M2NTcuMDI1IDE3Mi45NiA1NzIuNzA1IDE4MS45NzggNDg4LjY5MSAxOTIuMDYyQzQxOCAyMDAuNTU5IDM0Ni44IDIwOC43NjUgMjc4LjI5NiAyMjIuNzQyQzE2MC43NjEgMjQ2LjcyNCAzNy45OTY1IDI5MS43MzMgNy42MTMzOSAzNzcuNEMtMjUuMjY3OSA0NzAuMDc0IDUyLjQyNjUgNTY0LjE0IDE2Mi42NDMgNjIxLjgyMUMyODQuMTc0IDY4NS40MjUgNDQxLjg5NCA3MTQuNjQ1IDU4Ny42NzcgNzQwLjE3OEM5MDIuMzk0IDc5NS4zMDMgMTIyNy44NyA4MTQuNTIyIDE1NDkuMzEgODA0LjkzQzE4NzIuMzcgNzk1LjI4NSAyMTkxLjIzIDc1OC4zNyAyNTAwLjA2IDcwMC42ODhDMjU3Ny4yMiA2ODYuMjc5IDI2NTMuODIgNjcwLjU3NiAyNzI5LjczIDY1My42NzNDMjgwMC42NyA2MzcuODggMjg3Mi4wNCA2MjEuOTc3IDI5NDAuODIgNjAyLjY0NUMzMDU0LjU3IDU3MC43MTkgMzE3NS41NCA1MjUuMTMzIDMyMzguNzkgNDUyLjE1NUMzMjcwLjMyIDQxNS43NTkgMzI4My42OSAzNzQuMjg2IDMyNzYuMDEgMzMxLjc1MUMzMjY3LjY1IDI4NS40NTkgMzIzMS41MSAyNDEuODM0IDMxODQuMTIgMjA3LjI0NUMzMDc1IDEyNy41MzQgMjkxMi4wOCA5OS4xNzUxIDI3NjEuODIgNzUuMzM2M0MyNDM4LjExIDI0LjAyIDIxMDYuNTIgLTEuMjk4NDQgMTc3Ni40MSAwLjA1MTE3MTdDMTQ0OC4zNyAxLjM4ODk4IDExMjEuMDIgMjcuNjM0IDgwNi41IDgzLjMxNTJDNzI5LjgzMiA5Ni44ODA1IDY1NC40MDMgMTEyLjU4NiA1NzguOTM4IDEyOC41ODRDNTY0LjkyNSAxMzEuNTQ3IDU1NS4wMDYgMTM5Ljg5NCA1NTguNzgzIDE1MC4yNUM1NjIuMDc0IDE1OS4yMDIgNTc4LjAzIDE2Ny4zOTggNTkyLjEzNiAxNjQuNDAxQzc0Mi41MTYgMTMyLjUxOSA4OTguMDg0IDEwOS4yMTYgMTA1My43MSA4OS45MjIyQzEyMDguNyA3MC42OTIgMTM2NS45MSA1Ni45NjQ2IDE1MjMuODMgNDkuNzAwN0MxODQwLjggMzUuMTA3MSAyMTYxLjczIDQ1LjE0OTMgMjQ3Ny43NSA3OS45MzZDMjU1NS4xIDg4LjQ1MiAyNjMyLjE3IDk4LjUxMTkgMjcwOC43OSAxMTAuMTAyQzI3ODUuNzggMTIxLjc2IDI4NjMuNDYgMTMzLjc1NCAyOTM4LjExIDE1MS42NDRDMzA2My45MiAxODEuNzgxIDMxOTcuMjYgMjQxLjc2OCAzMjE2Ljg2IDMzNi43ODVDMzIzMy4wNCA0MTUuMjIzIDMxNDcuOTUgNDc4LjEwMiAzMDU4LjExIDUxNy43NTRDMjk0NS4xNCA1NjcuNTk0IDI4MTIuMTYgNTk1LjkyNCAyNjgzLjc1IDYyNC4yODRDMjM4OC44OCA2ODkuMzk2IDIwODMuNTYgNzM2LjYxNyAxNzcyLjQ2IDc1OS4yMDJDMTQ2My4yNyA3ODEuNjYzIDExNDcuMjEgNzc4LjMxNSA4MzcuNDk5IDc0Mi42MDFDNjg1LjQ3MiA3MjUuMDYzIDUzMi41NDUgNzAwLjUwNiAzODYuOTQzIDY2NC41MjRDMjU1Ljc2NSA2MzIuMTI5IDEyNi40NTggNTgxLjUzOSA2OS41MjA4IDQ5MS44OThDNDQuNjg2OCA0NTIuNzc1IDM4LjM0NjkgNDA4LjY0MSA2MC4zNTkzIDM2OS4zODhDODAuMzI5MSAzMzMuNzg3IDEyMi4yNDQgMzA2LjIzIDE3MC40NjQgMjg3LjA1MUMyMjIuNTA5IDI2Ni4zNTMgMjgwLjgyNCAyNTMuNTIgMzM5Ljg1MiAyNDMuNzUzQzQxMi4xOTIgMjMxLjc5OCA0ODYuMjM5IDIyMy41MzcgNTU5Ljc5NiAyMTUuMDZDODg4LjM0NSAxNzcuMjk2IDEyMjEuOTEgMTU1Ljk0NSAxNTU2Ljk0IDE1MS4yNUMxODkwLjA1IDE0Ni42MDQgMjIyNCAxNTcuMDcgMjU1Ni4zNyAxODQuNDJDMjYzNy44NiAxOTEuMTI5IDI3MTkuMiAxOTguODI1IDI4MDAuMzggMjA3LjQ2MUMyODIzLjYgMjA5Ljk0MyAyODI0LjI5IDE4NS45MiAyODAxLjM3IDE4My4zNzVaIiBmaWxsPSIjNkU5MTI1Ii8+CjwvZz4KPC9zdmc+Cg==');
            mask-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzI3OSIgaGVpZ2h0PSI4MDgiIHZpZXdCb3g9IjAgMCAzMjc5IDgwOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgdHJhbnNmb3JtPSJyb3RhdGUoMTgwIDE2MzkuNSA0MDQpIj4KPHBhdGggZD0iTTI4MDEuMzcgMTgzLjM3NUMyNDU4LjU0IDE0NS4zNTYgMjExMi4zNiAxMjQuNjMgMTc2Ni42NCAxMjEuNTA0QzE0MjMuMTMgMTE4LjQgMTA4MC4wNCAxMzMuMjc5IDc0MS42NzYgMTY1LjAyM0M2NTcuMDI1IDE3Mi45NiA1NzIuNzA1IDE4MS45NzggNDg4LjY5MSAxOTIuMDYyQzQxOCAyMDAuNTU5IDM0Ni44IDIwOC43NjUgMjc4LjI5NiAyMjIuNzQyQzE2MC43NjEgMjQ2LjcyNCAzNy45OTY1IDI5MS43MzMgNy42MTMzOSAzNzcuNEMtMjUuMjY3OSA0NzAuMDc0IDUyLjQyNjUgNTY0LjE0IDE2Mi42NDMgNjIxLjgyMUMyODQuMTc0IDY4NS40MjUgNDQxLjg5NCA3MTQuNjQ1IDU4Ny42NzcgNzQwLjE3OEM5MDIuMzk0IDc5NS4zMDMgMTIyNy44NyA4MTQuNTIyIDE1NDkuMzEgODA0LjkzQzE4NzIuMzcgNzk1LjI4NSAyMTkxLjIzIDc1OC4zNyAyNTAwLjA2IDcwMC42ODhDMjU3Ny4yMiA2ODYuMjc5IDI2NTMuODIgNjcwLjU3NiAyNzI5LjczIDY1My42NzNDMjgwMC42NyA2MzcuODggMjg3Mi4wNCA2MjEuOTc3IDI5NDAuODIgNjAyLjY0NUMzMDU0LjU3IDU3MC43MTkgMzE3NS41NCA1MjUuMTMzIDMyMzguNzkgNDUyLjE1NUMzMjcwLjMyIDQxNS43NTkgMzI4My42OSAzNzQuMjg2IDMyNzYuMDEgMzMxLjc1MUMzMjY3LjY1IDI4NS40NTkgMzIzMS41MSAyNDEuODM0IDMxODQuMTIgMjA3LjI0NUMzMDc1IDEyNy41MzQgMjkxMi4wOCA5OS4xNzUxIDI3NjEuODIgNzUuMzM2M0MyNDM4LjExIDI0LjAyIDIxMDYuNTIgLTEuMjk4NDQgMTc3Ni40MSAwLjA1MTE3MTdDMTQ0OC4zNyAxLjM4ODk4IDExMjEuMDIgMjcuNjM0IDgwNi41IDgzLjMxNTJDNzI5LjgzMiA5Ni44ODA1IDY1NC40MDMgMTEyLjU4NiA1NzguOTM4IDEyOC41ODRDNTY0LjkyNSAxMzEuNTQ3IDU1NS4wMDYgMTM5Ljg5NCA1NTguNzgzIDE1MC4yNUM1NjIuMDc0IDE1OS4yMDIgNTc4LjAzIDE2Ny4zOTggNTkyLjEzNiAxNjQuNDAxQzc0Mi41MTYgMTMyLjUxOSA4OTguMDg0IDEwOS4yMTYgMTA1My43MSA4OS45MjIyQzEyMDguNyA3MC42OTIgMTM2NS45MSA1Ni45NjQ2IDE1MjMuODMgNDkuNzAwN0MxODQwLjggMzUuMTA3MSAyMTYxLjczIDQ1LjE0OTMgMjQ3Ny43NSA3OS45MzZDMjU1NS4xIDg4LjQ1MiAyNjMyLjE3IDk4LjUxMTkgMjcwOC43OSAxMTAuMTAyQzI3ODUuNzggMTIxLjc2IDI4NjMuNDYgMTMzLjc1NCAyOTM4LjExIDE1MS42NDRDMzA2My45MiAxODEuNzgxIDMxOTcuMjYgMjQxLjc2OCAzMjE2Ljg2IDMzNi43ODVDMzIzMy4wNCA0MTUuMjIzIDMxNDcuOTUgNDc4LjEwMiAzMDU4LjExIDUxNy43NTRDMjk0NS4xNCA1NjcuNTk0IDI4MTIuMTYgNTk1LjkyNCAyNjgzLjc1IDYyNC4yODRDMjM4OC44OCA2ODkuMzk2IDIwODMuNTYgNzM2LjYxNyAxNzcyLjQ2IDc1OS4yMDJDMTQ2My4yNyA3ODEuNjYzIDExNDcuMjEgNzc4LjMxNSA4MzcuNDk5IDc0Mi42MDFDNjg1LjQ3MiA3MjUuMDYzIDUzMi41NDUgNzAwLjUwNiAzODYuOTQzIDY2NC41MjRDMjU1Ljc2NSA2MzIuMTI5IDEyNi40NTggNTgxLjUzOSA2OS41MjA4IDQ5MS44OThDNDQuNjg2OCA0NTIuNzc1IDM4LjM0NjkgNDA4LjY0MSA2MC4zNTkzIDM2OS4zODhDODAuMzI5MSAzMzMuNzg3IDEyMi4yNDQgMzA2LjIzIDE3MC40NjQgMjg3LjA1MUMyMjIuNTA5IDI2Ni4zNTMgMjgwLjgyNCAyNTMuNTIgMzM5Ljg1MiAyNDMuNzUzQzQxMi4xOTIgMjMxLjc5OCA0ODYuMjM5IDIyMy41MzcgNTU5Ljc5NiAyMTUuMDZDODg4LjM0NSAxNzcuMjk2IDEyMjEuOTEgMTU1Ljk0NSAxNTU2Ljk0IDE1MS4yNUMxODkwLjA1IDE0Ni42MDQgMjIyNCAxNTcuMDcgMjU1Ni4zNyAxODQuNDJDMjYzNy44NiAxOTEuMTI5IDI3MTkuMiAxOTguODI1IDI4MDAuMzggMjA3LjQ2MUMyODIzLjYgMjA5Ljk0MyAyODI0LjI5IDE4NS45MiAyODAxLjM3IDE4My4zNzVaIiBmaWxsPSIjNkU5MTI1Ii8+CjwvZz4KPC9zdmc+Cg==');
            -webkit-mask-size: contain;
            mask-size: contain;
            -webkit-mask-position: center;
            mask-position: center;
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            z-index: -1;
        }

        .btn-cta-gradient .material-icons {
            color: #FFFFFF;
            font-size: 1.25rem;
        }

        .btn-cta-gradient:hover {
            transform: scale(1.02);
        }

        .btn-cta-gradient:hover::before {
            background: conic-gradient(
                from var(--gradient-angle),
                #6E9125 0deg,
                #8AAD40 30deg,
                #B8C878 60deg,
                #FFFFFF 90deg,
                #FFFFFF 160deg,
                #B8C878 190deg,
                #8AAD40 220deg,
                #6E9125 250deg,
                #6E9125 360deg
            );
            -webkit-mask-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzI3OSIgaGVpZ2h0PSI4MDgiIHZpZXdCb3g9IjAgMCAzMjc5IDgwOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgdHJhbnNmb3JtPSJyb3RhdGUoMTgwIDE2MzkuNSA0MDQpIj4KPHBhdGggZD0iTTI4MDEuMzcgMTgzLjM3NUMyNDU4LjU0IDE0NS4zNTYgMjExMi4zNiAxMjQuNjMgMTc2Ni42NCAxMjEuNTA0QzE0MjMuMTMgMTE4LjQgMTA4MC4wNCAxMzMuMjc5IDc0MS42NzYgMTY1LjAyM0M2NTcuMDI1IDE3Mi45NiA1NzIuNzA1IDE4MS45NzggNDg4LjY5MSAxOTIuMDYyQzQxOCAyMDAuNTU5IDM0Ni44IDIwOC43NjUgMjc4LjI5NiAyMjIuNzQyQzE2MC43NjEgMjQ2LjcyNCAzNy45OTY1IDI5MS43MzMgNy42MTMzOSAzNzcuNEMtMjUuMjY3OSA0NzAuMDc0IDUyLjQyNjUgNTY0LjE0IDE2Mi42NDMgNjIxLjgyMUMyODQuMTc0IDY4NS40MjUgNDQxLjg5NCA3MTQuNjQ1IDU4Ny42NzcgNzQwLjE3OEM5MDIuMzk0IDc5NS4zMDMgMTIyNy44NyA4MTQuNTIyIDE1NDkuMzEgODA0LjkzQzE4NzIuMzcgNzk1LjI4NSAyMTkxLjIzIDc1OC4zNyAyNTAwLjA2IDcwMC42ODhDMjU3Ny4yMiA2ODYuMjc5IDI2NTMuODIgNjcwLjU3NiAyNzI5LjczIDY1My42NzNDMjgwMC42NyA2MzcuODggMjg3Mi4wNCA2MjEuOTc3IDI5NDAuODIgNjAyLjY0NUMzMDU0LjU3IDU3MC43MTkgMzE3NS41NCA1MjUuMTMzIDMyMzguNzkgNDUyLjE1NUMzMjcwLjMyIDQxNS43NTkgMzI4My42OSAzNzQuMjg2IDMyNzYuMDEgMzMxLjc1MUMzMjY3LjY1IDI4NS40NTkgMzIzMS41MSAyNDEuODM0IDMxODQuMTIgMjA3LjI0NUMzMDc1IDEyNy41MzQgMjkxMi4wOCA5OS4xNzUxIDI3NjEuODIgNzUuMzM2M0MyNDM4LjExIDI0LjAyIDIxMDYuNTIgLTEuMjk4NDQgMTc3Ni40MSAwLjA1MTE3MTdDMTQ0OC4zNyAxLjM4ODk4IDExMjEuMDIgMjcuNjM0IDgwNi41IDgzLjMxNTJDNzI5LjgzMiA5Ni44ODA1IDY1NC40MDMgMTEyLjU4NiA1NzguOTM4IDEyOC41ODRDNTY0LjkyNSAxMzEuNTQ3IDU1NS4wMDYgMTM5Ljg5NCA1NTguNzgzIDE1MC4yNUM1NjIuMDc0IDE1OS4yMDIgNTc4LjAzIDE2Ny4zOTggNTkyLjEzNiAxNjQuNDAxQzc0Mi41MTYgMTMyLjUxOSA4OTguMDg0IDEwOS4yMTYgMTA1My43MSA4OS45MjIyQzEyMDguNyA3MC42OTIgMTM2NS45MSA1Ni45NjQ2IDE1MjMuODMgNDkuNzAwN0MxODQwLjggMzUuMTA3MSAyMTYxLjczIDQ1LjE0OTMgMjQ3Ny43NSA3OS45MzZDMjU1NS4xIDg4LjQ1MiAyNjMyLjE3IDk4LjUxMTkgMjcwOC43OSAxMTAuMTAyQzI3ODUuNzggMTIxLjc2IDI4NjMuNDYgMTMzLjc1NCAyOTM4LjExIDE1MS42NDRDMzA2My45MiAxODEuNzgxIDMxOTcuMjYgMjQxLjc2OCAzMjE2Ljg2IDMzNi43ODVDMzIzMy4wNCA0MTUuMjIzIDMxNDcuOTUgNDc4LjEwMiAzMDU4LjExIDUxNy43NTRDMjk0NS4xNCA1NjcuNTk0IDI4MTIuMTYgNTk1LjkyNCAyNjgzLjc1IDYyNC4yODRDMjM4OC44OCA2ODkuMzk2IDIwODMuNTYgNzM2LjYxNyAxNzcyLjQ2IDc1OS4yMDJDMTQ2My4yNyA3ODEuNjYzIDExNDcuMjEgNzc4LjMxNSA4MzcuNDk5IDc0Mi42MDFDNjg1LjQ3MiA3MjUuMDYzIDUzMi41NDUgNzAwLjUwNiAzODYuOTQzIDY2NC41MjRDMjU1Ljc2NSA2MzIuMTI5IDEyNi40NTggNTgxLjUzOSA2OS41MjA4IDQ5MS44OThDNDQuNjg2OCA0NTIuNzc1IDM4LjM0NjkgNDA4LjY0MSA2MC4zNTkzIDM2OS4zODhDODAuMzI5MSAzMzMuNzg3IDEyMi4yNDQgMzA2LjIzIDE3MC40NjQgMjg3LjA1MUMyMjIuNTA5IDI2Ni4zNTMgMjgwLjgyNCAyNTMuNTIgMzM5Ljg1MiAyNDMuNzUzQzQxMi4xOTIgMjMxLjc5OCA0ODYuMjM5IDIyMy41MzcgNTU5Ljc5NiAyMTUuMDZDODg4LjM0NSAxNzcuMjk2IDEyMjEuOTEgMTU1Ljk0NSAxNTU2Ljk0IDE1MS4yNUMxODkwLjA1IDE0Ni42MDQgMjIyNCAxNTcuMDcgMjU1Ni4zNyAxODQuNDJDMjYzNy44NiAxOTEuMTI5IDI3MTkuMiAxOTguODI1IDI4MDAuMzggMjA3LjQ2MUMyODIzLjYgMjA5Ljk0MyAyODI0LjI5IDE4NS45MiAyODAxLjM3IDE4My4zNzVaIiBmaWxsPSIjNkU5MTI1Ii8+CjwvZz4KPC9zdmc+Cg==');
            mask-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzI3OSIgaGVpZ2h0PSI4MDgiIHZpZXdCb3g9IjAgMCAzMjc5IDgwOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgdHJhbnNmb3JtPSJyb3RhdGUoMTgwIDE2MzkuNSA0MDQpIj4KPHBhdGggZD0iTTI4MDEuMzcgMTgzLjM3NUMyNDU4LjU0IDE0NS4zNTYgMjExMi4zNiAxMjQuNjMgMTc2Ni42NCAxMjEuNTA0QzE0MjMuMTMgMTE4LjQgMTA4MC4wNCAxMzMuMjc5IDc0MS42NzYgMTY1LjAyM0M2NTcuMDI1IDE3Mi45NiA1NzIuNzA1IDE4MS45NzggNDg4LjY5MSAxOTIuMDYyQzQxOCAyMDAuNTU5IDM0Ni44IDIwOC43NjUgMjc4LjI5NiAyMjIuNzQyQzE2MC43NjEgMjQ2LjcyNCAzNy45OTY1IDI5MS43MzMgNy42MTMzOSAzNzcuNEMtMjUuMjY3OSA0NzAuMDc0IDUyLjQyNjUgNTY0LjE0IDE2Mi42NDMgNjIxLjgyMUMyODQuMTc0IDY4NS40MjUgNDQxLjg5NCA3MTQuNjQ1IDU4Ny42NzcgNzQwLjE3OEM5MDIuMzk0IDc5NS4zMDMgMTIyNy44NyA4MTQuNTIyIDE1NDkuMzEgODA0LjkzQzE4NzIuMzcgNzk1LjI4NSAyMTkxLjIzIDc1OC4zNyAyNTAwLjA2IDcwMC42ODhDMjU3Ny4yMiA2ODYuMjc5IDI2NTMuODIgNjcwLjU3NiAyNzI5LjczIDY1My42NzNDMjgwMC42NyA2MzcuODggMjg3Mi4wNCA2MjEuOTc3IDI5NDAuODIgNjAyLjY0NUMzMDU0LjU3IDU3MC43MTkgMzE3NS41NCA1MjUuMTMzIDMyMzguNzkgNDUyLjE1NUMzMjcwLjMyIDQxNS43NTkgMzI4My42OSAzNzQuMjg2IDMyNzYuMDEgMzMxLjc1MUMzMjY3LjY1IDI4NS40NTkgMzIzMS41MSAyNDEuODM0IDMxODQuMTIgMjA3LjI0NUMzMDc1IDEyNy41MzQgMjkxMi4wOCA5OS4xNzUxIDI3NjEuODIgNzUuMzM2M0MyNDM4LjExIDI0LjAyIDIxMDYuNTIgLTEuMjk4NDQgMTc3Ni40MSAwLjA1MTE3MTdDMTQ0OC4zNyAxLjM4ODk4IDExMjEuMDIgMjcuNjM0IDgwNi41IDgzLjMxNTJDNzI5LjgzMiA5Ni44ODA1IDY1NC40MDMgMTEyLjU4NiA1NzguOTM4IDEyOC41ODRDNTY0LjkyNSAxMzEuNTQ3IDU1NS4wMDYgMTM5Ljg5NCA1NTguNzgzIDE1MC4yNUM1NjIuMDc0IDE1OS4yMDIgNTc4LjAzIDE2Ny4zOTggNTkyLjEzNiAxNjQuNDAxQzc0Mi41MTYgMTMyLjUxOSA4OTguMDg0IDEwOS4yMTYgMTA1My43MSA4OS45MjIyQzEyMDguNyA3MC42OTIgMTM2NS45MSA1Ni45NjQ2IDE1MjMuODMgNDkuNzAwN0MxODQwLjggMzUuMTA3MSAyMTYxLjczIDQ1LjE0OTMgMjQ3Ny43NSA3OS45MzZDMjU1NS4xIDg4LjQ1MiAyNjMyLjE3IDk4LjUxMTkgMjcwOC43OSAxMTAuMTAyQzI3ODUuNzggMTIxLjc2IDI4NjMuNDYgMTMzLjc1NCAyOTM4LjExIDE1MS42NDRDMzA2My45MiAxODEuNzgxIDMxOTcuMjYgMjQxLjc2OCAzMjE2Ljg2IDMzNi43ODVDMzIzMy4wNCA0MTUuMjIzIDMxNDcuOTUgNDc4LjEwMiAzMDU4LjExIDUxNy43NTRDMjk0NS4xNCA1NjcuNTk0IDI4MTIuMTYgNTk1LjkyNCAyNjgzLjc1IDYyNC4yODRDMjM4OC44OCA2ODkuMzk2IDIwODMuNTYgNzM2LjYxNyAxNzcyLjQ2IDc1OS4yMDJDMTQ2My4yNyA3ODEuNjYzIDExNDcuMjEgNzc4LjMxNSA4MzcuNDk5IDc0Mi42MDFDNjg1LjQ3MiA3MjUuMDYzIDUzMi41NDUgNzAwLjUwNiAzODYuOTQzIDY2NC41MjRDMjU1Ljc2NSA2MzIuMTI5IDEyNi40NTggNTgxLjUzOSA2OS41MjA4IDQ5MS44OThDNDQuNjg2OCA0NTIuNzc1IDM4LjM0NjkgNDA4LjY0MSA2MC4zNTkzIDM2OS4zODhDODAuMzI5MSAzMzMuNzg3IDEyMi4yNDQgMzA2LjIzIDE3MC40NjQgMjg3LjA1MUMyMjIuNTA5IDI2Ni4zNTMgMjgwLjgyNCAyNTMuNTIgMzM5Ljg1MiAyNDMuNzUzQzQxMi4xOTIgMjMxLjc5OCA0ODYuMjM5IDIyMy41MzcgNTU5Ljc5NiAyMTUuMDZDODg4LjM0NSAxNzcuMjk2IDEyMjEuOTEgMTU1Ljk0NSAxNTU2Ljk0IDE1MS4yNUMxODkwLjA1IDE0Ni42MDQgMjIyNCAxNTcuMDcgMjU1Ni4zNyAxODQuNDJDMjYzNy44NiAxOTEuMTI5IDI3MTkuMiAxOTguODI1IDI4MDAuMzggMjA3LjQ2MUMyODIzLjYgMjA5Ljk0MyAyODI0LjI5IDE4NS45MiAyODAxLjM3IDE4My4zNzVaIiBmaWxsPSIjNkU5MTI1Ii8+CjwvZz4KPC9zdmc+Cg==');
            -webkit-mask-size: contain;
            mask-size: contain;
            -webkit-mask-position: center;
            mask-position: center;
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            animation: spin-gradient 0.6s linear forwards;
        }

        .quote-cta .container {
            display: grid;
            grid-template-columns: 1fr auto 1fr;
            align-items: center;
            gap: var(--spacing-xl);
            position: relative;
            z-index: 1;
        }

        .quote-cta-content {
            max-width: 23.75rem;
            text-align: left;
        }

        .quote-cta-content h2 {
            font-size: var(--font-size-3xl);
            font-weight: var(--font-weight-medium);
            color: #FFFFFF;
            margin-bottom: var(--spacing-md);
        }

        .quote-cta-content p {
            font-size: var(--font-size-lg);
            color: rgba(255, 255, 255, 0.85);
            margin-bottom: var(--spacing-xl);
        }

        .btn-cta-gradient {
            background: transparent;
            color: #FFFFFF;
            border: none;
            box-shadow: none;
        }

        .btn-cta-gradient:hover {
            opacity: 0.9;
            box-shadow: none;
        }

        .quote-tree {
            display: flex;
            justify-content: center;
            align-items: flex-end;
        }

        .quote-tree img {
            width: 52.5rem;
            height: auto;
            margin-bottom: 0;
        }

        .quote-features {
            position: absolute;
            left: clamp(5rem, 12vw, 11.25rem);
            bottom: 8%;
            display: flex;
            flex-direction: row;
            gap: var(--spacing-2xl);
            z-index: 10;
        }

        .quote-feature {
            display: flex;
            align-items: center;
            gap: var(--spacing-sm);
            color: #A8D86A;
        }

        .quote-feature-icon {
            width: 1.75rem;
            height: 1.75rem;
            min-width: 1.75rem;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .quote-feature-icon .material-icons {
            font-size: 1.125rem;
            color: #A8D86A;
        }

        .quote-feature-text {
            display: flex;
            flex-direction: column;
        }

        .quote-feature h4 {
            font-size: var(--font-size-sm);
            font-weight: var(--font-weight-medium);
            font-style: italic;
            margin-bottom: 0;
            color: #A8D86A;
            white-space: nowrap;
        }

        .quote-feature p {
            font-size: var(--font-size-sm);
            font-style: italic;
            opacity: 0.85;
            color: #A8D86A;
        }

        /* ============================================
           TRUST SECTION
           ============================================ */
        .trust {
            padding: var(--spacing-4xl) 0;
            background: var(--white);
        }

        .trust-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: var(--spacing-lg);
        }

        .trust-card {
            text-align: center;
            position: relative;
            padding-top: 2.5rem;
            background: transparent;
            box-shadow: none;
            border: none;
        }

        /* Circle frame container */
        .trust-card-frame {
            position: relative;
            width: 14.375rem;
            height: 13.375rem;
            margin: 0;
        }

        /* SVG circle background */
        .trust-card-frame::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-image: url('../assets/green circle-1.svg');
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
        }

        /* Icon positioning - base styles */
        .trust-card-icon {
            position: absolute;
            width: 5.75rem;
            height: 5.75rem;
            z-index: 2;
        }

        .trust-card-icon img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            object-position: top right;
        }

        /* Unique icon positions and sizes for each card */
        .trust-card--umbrella .trust-card-icon {
            width: 9.1875rem;
            height: 9.1875rem;
            top: -5%;
            right: -15%;
            bottom: auto;
            left: auto;
        }

        .trust-card--certified .trust-card-icon {
            width: 7.8125rem;
            height: 7.8125rem;
            top: -5%;
            right: -5%;
            bottom: auto;
            left: auto;
        }

        .trust-card--eco .trust-card-icon {
            width: 6.625rem;
            height: 6.625rem;
            top: -5%;
            right: -7%;
            bottom: auto;
            left: auto;
        }

        .trust-card--hands .trust-card-icon {
            width: 9.1875rem;
            height: 9.1875rem;
            top: -5%;
            right: -10%;
            bottom: auto;
            left: auto;
        }

        /* Text content inside frame */
        .trust-card-content {
            position: absolute;
            top: 58%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 10rem;
            padding-top: 1.25rem;
        }

        .trust-card-content h3 {
            font-size: var(--font-size-base);
            font-weight: var(--font-weight-semibold);
            color: #3F2B1A;
            margin-bottom: var(--spacing-xs);
            line-height: 1.3;
        }

        .trust-card-content p {
            font-size: 0.75rem;
            color: #3F2B1A;
            line-height: 1.4;
        }

        /* Trust Section Responsive - Tablet */
        @media (max-width: 1024px) {
            .trust-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: var(--spacing-xl);
            }

            /* Tablet: services grid - equal height cards */
            .services-grid {
                align-items: stretch;
            }

            /* Tablet: ALL service cards - images inside container, no offset */
            .service-card {
                margin-top: 0;
                padding-top: var(--spacing-lg);
                display: flex;
                flex-direction: column;
                height: 100%;
            }

            .service-card-preview {
                display: flex;
                flex-direction: column;
                flex: 1;
            }

            .service-card-preview p {
                flex: 1;
            }

            /* Tablet: larger fonts for readability */
            .service-card h3 {
                font-size: var(--font-size-xl);
            }

            .service-card p {
                font-size: var(--font-size-base);
                line-height: 1.7;
            }

            .service-card .learn-more {
                font-size: var(--font-size-sm);
            }

            .service-card .service-icon {
                position: relative;
                top: 0;
                transform: none;
                left: 0;
                width: 100%;
                height: auto;
                margin-bottom: var(--spacing-md);
            }
            .service-card .service-icon img {
                width: 64%;
                height: auto;
            }

            /* Tablet: hide the shared panel, use inline expansion instead */
            .service-detail-panel {
                display: none !important;
            }

            /* Tablet: show inline expanded content when card is expanded */
            .service-card.expanded .service-card-expanded {
                display: block !important;
                margin-top: var(--spacing-lg);
            }

            /* Tablet: expanded card takes full width of grid */
            .service-card.expanded {
                grid-column: 1 / -1;
            }

            /* Tablet: expanded content layout - single column */
            .service-card.expanded .service-card-expanded {
                display: grid !important;
                grid-template-columns: 1fr;
                gap: var(--spacing-md);
            }

            .service-card.expanded .expanded-left {
                display: flex;
                flex-direction: row;
                align-items: center;
                gap: var(--spacing-lg);
                padding: var(--spacing-lg);
                background: var(--light-sage);
                border-radius: var(--radius-lg);
            }

            .service-card.expanded .expanded-left .expanded-image {
                flex-shrink: 0;
            }

            .service-card.expanded .expanded-left .expanded-image img {
                width: 7.5rem;
                height: auto;
            }

            .service-card.expanded .expanded-right {
                padding: var(--spacing-lg);
            }

            .service-card.expanded .expanded-right h3 {
                font-size: var(--font-size-xl);
                margin-bottom: var(--spacing-sm);
            }

            .service-card.expanded .expanded-right p {
                font-size: var(--font-size-sm);
                margin-bottom: var(--spacing-md);
            }

            .service-card.expanded .service-features li {
                font-size: var(--font-size-sm);
                margin-bottom: var(--spacing-xs);
            }
        }

        /* Trust Section Responsive - Mobile */
        @media (max-width: 576px) {
            .trust-grid {
                grid-template-columns: 1fr;
                gap: var(--spacing-lg);
            }

            /* Mobile: Scale trust cards up for better readability (1.27x) */
            .trust-card {
                padding-top: 2.375rem;
            }

            .trust-card-frame {
                width: 16.5rem;
                height: 15.25rem;
            }

            .trust-card-icon {
                width: 5.5rem;
                height: 5.5rem;
            }

            .trust-card-content {
                width: 11rem;
            }

            .trust-card-content h3 {
                font-size: var(--font-size-base);
            }

            .trust-card-content p {
                font-size: 0.875rem;
            }

            /* Adjusted icon positions for mobile (scaled 1.27x) */
            .trust-card--umbrella .trust-card-icon {
                top: -2rem;
                right: -0.8rem;
            }

            .trust-card--certified .trust-card-icon {
                top: -2.4rem;
            }

            .trust-card--eco .trust-card-icon {
                top: -1.6rem;
                right: -0.4rem;
            }

            .trust-card--hands .trust-card-icon {
                right: -2rem;
            }
        }

        /* ============================================
           TESTIMONIALS SECTION
           ============================================ */
        .testimonials {
            padding: 0;
            background: linear-gradient(135deg, rgba(128, 128, 128, 0.08) 0%, rgba(255, 255, 255, 1) 100%);
            scroll-margin-top: 4.375rem;
            position: relative;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .testimonials-content {
            display: flex;
            align-items: stretch;
            gap: var(--spacing-xl);
        }

        .testimonials-illustration {
            flex-shrink: 0;
            width: 17.5rem;
            margin-left: -5rem;
            display: flex;
            align-items: flex-end;
        }

        .testimonials-illustration img {
            width: 100%;
            height: auto;
            object-fit: contain;
        }

        .testimonials-grid {
            flex: 1;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: var(--spacing-xl);
        }

        .testimonial-card {
            background: var(--white);
            border: 1px solid var(--gray);
            border-radius: var(--radius-lg);
            padding: var(--spacing-xl);
            display: flex;
            flex-direction: column;
            height: 100%;
        }

        .testimonial-stars {
            color: #FFC107;
            margin-bottom: var(--spacing-md);
        }

        .testimonial-text {
            font-size: var(--font-size-base);
            color: var(--charcoal);
            margin-bottom: var(--spacing-lg);
            line-height: 1.7;
        }

        .testimonial-author {
            display: flex;
            align-items: center;
            gap: var(--spacing-md);
            margin-top: auto;
            padding-top: var(--spacing-md);
        }

        .testimonial-avatar {
            width: 3rem;
            height: 3rem;
            background: var(--gray);
            border-radius: var(--radius-full);
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--dark-gray);
        }

        .testimonial-author-info h4 {
            font-size: var(--font-size-base);
            font-weight: var(--font-weight-normal);
            color: var(--black);
        }

        .testimonial-author-info p {
            font-size: var(--font-size-sm);
            color: var(--dark-gray);
        }

        /* ============================================
           GALLERY PREVIEW SECTION
           ============================================ */
        .gallery-preview {
            height: 100vh;
            padding: var(--spacing-3xl) 0;
            background: var(--white);
            display: flex;
            flex-direction: column;
            box-sizing: border-box;
        }

        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: var(--spacing-lg);
        }

        .video-section-title {
            text-align: center;
            font-size: var(--font-size-2xl);
            font-weight: var(--font-weight-medium);
            color: #2E7D32;
            margin-top: var(--spacing-xl);
            margin-bottom: var(--spacing-lg);
            letter-spacing: 0.02em;
        }

        .gallery-item {
            aspect-ratio: 4/3;
            background-size: cover;
            background-position: center;
            border-radius: var(--radius-lg);
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all var(--transition-base);
            position: relative;
            overflow: hidden;
            box-shadow: var(--shadow-sm);
        }

        /* Vertical video items */
        .gallery-item.video-item {
            aspect-ratio: 9/16;
        }

        .gallery-item.video-item video {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .gallery-item:hover {
            transform: scale(1.02);
            box-shadow: var(--shadow-lg);
        }

        /* Large/tall variants for expanded gallery only */
        .gallery-expanded .gallery-item.large {
            grid-column: span 2;
            grid-row: span 2;
        }

        .gallery-expanded .gallery-item.tall {
            grid-row: span 2;
        }

        /* Video play button */
        .gallery-item.video::after {
            content: '';
            width: 4.375rem;
            height: 4.375rem;
            background: rgba(255,255,255,0.12);
            backdrop-filter: blur(8px);
            border: 1.5px solid rgba(255,255,255,0.4);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all var(--transition-base);
        }

        .gallery-item.video::before {
            content: '';
            position: absolute;
            width: 0;
            height: 0;
            border-left: 1.25rem solid rgba(255,255,255,0.85);
            border-top: 0.75rem solid transparent;
            border-bottom: 0.75rem solid transparent;
            margin-left: 0.3125rem;
            z-index: 1;
            transition: all var(--transition-base);
        }

        .gallery-item.video:hover::after {
            background: rgba(255,255,255,0.2);
            border-color: rgba(255,255,255,0.6);
            transform: scale(1.08);
        }

        .gallery-item.video:hover::before {
            border-left-color: white;
        }

        .gallery-cta {
            text-align: center;
            margin-top: var(--spacing-3xl);
        }

        /* ============================================
           CLIMBING COMPETITIONS SECTION
           ============================================ */
        .climbing-section {
            background: linear-gradient(135deg, var(--cream) 0%, #f5f5f0 100%);
        }

        .climbing-content {
            display: grid;
            grid-template-columns: 1fr 1.2fr;
            gap: var(--spacing-3xl);
            align-items: center;
        }

        .climbing-text p {
            color: var(--dark-gray);
            margin-bottom: var(--spacing-md);
            line-height: 1.7;
        }

        .climbing-text p:last-child {
            margin-bottom: 0;
        }

        .climbing-gallery {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: var(--spacing-md);
        }

        .climbing-photo {
            border-radius: var(--radius-lg);
            overflow: hidden;
            aspect-ratio: 1;
            box-shadow: 0 4px 20px rgba(0,0,0,0.1);
            position: relative;
            cursor: pointer;
        }

        .climbing-photo img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform var(--transition-base);
        }

        .climbing-photo:hover img {
            transform: scale(1.05);
        }

        .climbing-photo .gallery-item-overlay {
            position: absolute;
            inset: 0;
            background: rgba(0,0,0,0.4);
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: opacity var(--transition-base);
        }

        .climbing-photo .gallery-item-overlay .material-icons {
            color: white;
            font-size: 2rem;
        }

        .climbing-photo:hover .gallery-item-overlay {
            opacity: 1;
        }

        @media (max-width: 768px) {
            .climbing-content {
                grid-template-columns: 1fr;
                gap: var(--spacing-xl);
            }

            .climbing-gallery {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        /* ============================================
           EXPANDED GALLERY (INLINE)
           ============================================ */
        .gallery-expanded {
            display: none;
            margin-top: var(--spacing-xl);
        }

        .gallery-expanded.active {
            display: block;
        }

        /* When expanded: section grows, grid items use aspect-ratio instead of flex height */
        .gallery-preview:has(.gallery-expanded.active) {
            height: auto;
            min-height: 100vh;
        }

        .gallery-preview:has(.gallery-expanded.active) .gallery-grid {
            flex: none;
        }

        .gallery-preview:has(.gallery-expanded.active) .gallery-item {
            height: auto;
            aspect-ratio: 3/4;
        }

        .gallery-expanded-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: var(--spacing-lg);
        }

        .gallery-expanded-item {
            aspect-ratio: 4/3;
            background-size: cover;
            background-position: center;
            border-radius: 0.75rem;
            cursor: pointer;
            transition: all 0.3s ease;
            position: relative;
            box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
            overflow: hidden;
        }

        .gallery-expanded-item:hover {
            transform: scale(1.02);
            box-shadow: var(--shadow-lg);
        }

        /* Video play button in expanded gallery */
        .gallery-expanded-item.video::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 3.75rem;
            height: 3.75rem;
            background: rgba(255,255,255,0.12);
            backdrop-filter: blur(8px);
            border: 1.5px solid rgba(255,255,255,0.4);
            border-radius: 50%;
            transition: all 0.3s ease;
        }

        .gallery-expanded-item.video::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 0;
            height: 0;
            border-left: 1rem solid rgba(255,255,255,0.85);
            border-top: 0.625rem solid transparent;
            border-bottom: 0.625rem solid transparent;
            margin-left: 0.1875rem;
            z-index: 1;
            transition: all 0.3s ease;
        }

        .gallery-expanded-item.video:hover::after {
            background: rgba(255,255,255,0.2);
            border-color: rgba(255,255,255,0.6);
        }

        .gallery-expanded-item.video:hover::before {
            border-left-color: white;
        }

        /* ============================================
           LIGHTBOX
           ============================================ */
        .lightbox {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0,0,0,0.97);
            z-index: 10002;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .lightbox.active {
            opacity: 1;
            visibility: visible;
        }

        .lightbox-content {
            max-width: 90vw;
            max-height: 85vh;
            position: relative;
        }

        .lightbox-content img,
        .lightbox-content video {
            max-width: 90vw;
            max-height: 85vh;
            object-fit: contain;
            border-radius: var(--radius-md);
        }

        .lightbox-close {
            position: fixed;
            top: 1.25rem;
            right: 1.25rem;
            width: 3.125rem;
            height: 3.125rem;
            background: rgba(255,255,255,0.1);
            border: none;
            border-radius: 50%;
            color: white;
            font-size: 1.75rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
            z-index: 10003;
        }

        .lightbox-close:hover {
            background: rgba(255,255,255,0.2);
        }

        .lightbox-nav {
            position: fixed;
            top: 50%;
            transform: translateY(-50%);
            width: 3.125rem;
            height: 3.125rem;
            background: rgba(255,255,255,0.1);
            border: none;
            border-radius: 50%;
            color: white;
            font-size: 1.75rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
            z-index: 10003;
        }

        .lightbox-nav:hover {
            background: rgba(255,255,255,0.2);
        }

        .lightbox-prev {
            left: 1.25rem;
        }

        .lightbox-next {
            right: 1.25rem;
        }

        .lightbox-mute {
            position: absolute;
            bottom: 1.25rem;
            right: 1.25rem;
            width: 2.75rem;
            height: 2.75rem;
            background: rgba(0,0,0,0.7);
            border: none;
            border-radius: 50%;
            color: white;
            font-size: 1.5rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
            z-index: 10004;
        }

        .lightbox-mute:hover {
            background: rgba(0,0,0,0.9);
        }

        .lightbox-counter {
            position: fixed;
            bottom: 1.25rem;
            left: 50%;
            transform: translateX(-50%);
            color: rgba(255,255,255,0.7);
            font-size: 0.875rem;
        }

        /* ============================================
           TRUST BANNER CTA
           ============================================ */
        .trust-banner {
            padding: var(--spacing-3xl) 0;
            background: var(--light-gray);
            text-align: center;
        }

        .trust-banner h2 {
            font-size: var(--font-size-2xl);
            font-weight: var(--font-weight-bold);
            color: var(--black);
            margin-bottom: var(--spacing-md);
        }

        .trust-banner p {
            font-size: var(--font-size-lg);
            color: var(--dark-gray);
            margin-bottom: var(--spacing-xl);
        }

        .trust-banner-buttons {
            display: flex;
            gap: var(--spacing-md);
            justify-content: center;
            flex-wrap: wrap;
        }

        .trust-banner .btn-call {
            background: linear-gradient(135deg, rgba(255, 200, 60, 0.15) 0%, rgba(74, 92, 44, 0.1) 30%, rgba(74, 92, 44, 0.1) 100%);
            color: #4A5C2C;
            border: 1.5px solid rgba(200, 170, 50, 0.4);
            box-shadow: 0 2px 6px rgba(200, 170, 50, 0.12);
            padding: 1.125rem 2.5rem;
            border-radius: 3.125rem;
            font-weight: var(--font-weight-normal);
            font-size: 1.25rem;
            display: inline-flex;
            align-items: center;
            gap: 0.625rem;
            text-decoration: none;
            transition: all var(--transition-base);
        }

        .trust-banner .btn-call .material-icons {
            color: #6B8E5A;
            font-size: 1.25rem;
        }

        .trust-banner .btn-call:hover {
            background: linear-gradient(135deg, rgba(255, 200, 60, 0.25) 0%, rgba(74, 92, 44, 0.18) 30%, rgba(74, 92, 44, 0.18) 100%);
            border-color: rgba(200, 170, 50, 0.6);
            box-shadow: 0 3px 10px rgba(200, 170, 50, 0.2);
            transform: translateY(-2px);
        }

        .trust-banner .btn-call .btn-text {
            background: linear-gradient(90deg,
                #4A5C2C 0%, #4A5C2C 33%,
                #E8C44A 33%, #F5D76E 50%, #E8C44A 66%,
                #4A5C2C 66%, #4A5C2C 100%);
            background-size: 300% 100%;
            background-position: 0% 50%;
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .trust-banner .btn-call:hover .btn-text {
            animation: orange-wave-sweep 0.6s ease-out;
            animation-delay: 0.15s;
        }

        .trust-banner .btn-services {
            background: #F5F3ED;
            border: 1px solid #E5E3DD;
            color: #5A5A55;
            padding: 1.125rem 2.5rem;
            border-radius: 3.125rem;
            font-weight: var(--font-weight-normal);
            font-size: 1.25rem;
            text-decoration: none;
            transition: all var(--transition-base);
        }

        .trust-banner .btn-services:hover {
            background: #EDEAE4;
            transform: translateY(-2px);
            box-shadow: var(--shadow-md);
        }

        .trust-banner .btn-services .btn-text {
            background: linear-gradient(90deg,
                #5A5A55 0%, #5A5A55 33%,
                #E8C44A 33%, #F5D76E 50%, #E8C44A 66%,
                #5A5A55 66%, #5A5A55 100%);
            background-size: 300% 100%;
            background-position: 0% 50%;
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .trust-banner .btn-services:hover .btn-text {
            animation: orange-wave-sweep 0.6s ease-out;
            animation-delay: 0.15s;
        }

        /* ============================================
           CONTACT SECTION
           ============================================ */
        .contact-section {
            padding: var(--spacing-4xl) 0 var(--spacing-3xl);
            background: linear-gradient(135deg, rgba(128, 128, 128, 0.08) 0%, rgba(255, 255, 255, 1) 100%);
        }

        .contact-section .section-header {
            text-align: center;
            margin-bottom: var(--spacing-xl);
        }

        .contact-section .section-header h2 {
            font-size: var(--font-size-3xl);
            font-weight: var(--font-weight-medium);
            background: linear-gradient(135deg, #4CAF50 0%, #2E7D32 50%, #1B5E20 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            color: #2E7D32;
            margin-bottom: var(--spacing-md);
        }

        .contact-section .section-header p {
            font-size: var(--font-size-lg);
            color: var(--dark-gray);
            max-width: 37.5rem;
            margin: 0 auto;
        }

        .contact-grid {
            display: grid;
            grid-template-columns: 1fr 1.2fr;
            gap: var(--spacing-3xl);
            align-items: stretch;
        }

        /* Contact Info Cards */
        .contact-info {
            display: flex;
            flex-direction: column;
            gap: var(--spacing-lg);
        }

        .contact-card {
            background: var(--white);
            border: 1px solid var(--gray);
            border-radius: var(--radius-lg);
            padding: var(--spacing-xl);
            display: flex;
            gap: var(--spacing-lg);
            transition: all var(--transition-base);
        }

        .contact-card:hover {
            border-color: #6E9125;
            box-shadow: var(--shadow-md);
        }

        .contact-card-icon {
            width: 3.5rem;
            height: 3.5rem;
            background: rgba(0, 0, 0, 0.03);
            border-radius: var(--radius-md);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            color: #6E9125;
        }

        .contact-card-icon .material-icons {
            font-size: 1.75rem;
            color: #6E9125;
        }

        .contact-card-content {
            flex: 1;
        }

        .contact-card-content h3 {
            font-size: var(--font-size-base);
            font-weight: 700;
            color: var(--black);
            margin-bottom: var(--spacing-xs);
        }

        .contact-card-content p {
            font-size: var(--font-size-base);
            color: var(--charcoal);
            margin-bottom: var(--spacing-sm);
        }

        .contact-card-content a {
            font-weight: var(--font-weight-medium);
            display: inline-flex;
            align-items: center;
            gap: var(--spacing-xs);
            text-decoration: none;
            color: #6E9125;
        }

        .contact-card-content a .btn-text {
            background: linear-gradient(90deg,
                #6E9125 0%, #6E9125 33%,
                #E8C44A 33%, #F5D76E 50%, #E8C44A 66%,
                #6E9125 66%, #6E9125 100%);
            background-size: 300% 100%;
            background-position: 0% 50%;
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .contact-card:hover .contact-card-content a .btn-text {
            animation: orange-wave-sweep 0.6s ease-out;
            animation-delay: 0.15s;
        }

        .contact-card-content .hours {
            font-size: var(--font-size-sm);
            color: var(--dark-gray);
        }

        /* Service Area Card */
        .service-area-card {
            background: linear-gradient(180deg, #232B26 0%, #092914 100%);
            border-radius: var(--radius-lg);
            padding: var(--spacing-xl);
            color: var(--white);
        }

        .service-area-card h3 {
            font-size: var(--font-size-lg);
            font-weight: var(--font-weight-semibold);
            margin-bottom: var(--spacing-md);
            display: flex;
            align-items: center;
            gap: var(--spacing-sm);
            color: var(--white);
        }

        .service-area-card h3 .material-icons {
            font-size: 1.25rem;
            color: var(--white);
        }

        .service-area-card p {
            margin-bottom: var(--spacing-lg);
            line-height: 1.7;
            font-size: var(--font-size-base);
            color: rgba(255, 255, 255, 0.9);
        }

        .area-tags {
            display: flex;
            flex-wrap: wrap;
            gap: var(--spacing-sm);
        }

        .area-tag {
            background: rgba(255, 255, 255, 0.2);
            color: var(--white);
            padding: var(--spacing-sm) var(--spacing-md);
            border-radius: var(--radius-full);
            font-size: var(--font-size-sm);
            font-weight: var(--font-weight-medium);
        }

        /* Contact Form */
        .contact-form-card {
            background: var(--white);
            border: 1px solid var(--gray);
            border-radius: var(--radius-xl);
            padding: var(--spacing-xl);
            box-shadow: var(--shadow-md);
            display: flex;
            flex-direction: column;
        }

        .contact-form-card form {
            flex: 1;
            display: flex;
            flex-direction: column;
        }

        .contact-form-card form .btn-form {
            margin-top: auto;
        }

        .contact-form-card h2 {
            font-size: var(--font-size-xl);
            font-weight: var(--font-weight-semibold);
            color: var(--black);
            margin-bottom: var(--spacing-sm);
        }

        .contact-form-card > p {
            color: var(--dark-gray);
            margin-bottom: var(--spacing-md);
            font-size: var(--font-size-sm);
        }

        .form-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: var(--spacing-sm);
        }

        .form-group {
            margin-bottom: var(--spacing-md);
        }

        .form-group.full-width {
            grid-column: span 2;
        }

        .form-label {
            display: block;
            font-size: var(--font-size-sm);
            font-weight: var(--font-weight-medium);
            color: var(--charcoal);
            margin-bottom: var(--spacing-xs);
        }

        .form-label .required {
            color: var(--error);
        }

        .form-input,
        .form-select,
        .form-textarea {
            width: 100%;
            padding: var(--spacing-sm) var(--spacing-md);
            border: 1px solid var(--gray);
            border-radius: var(--radius-md);
            font-family: var(--font-family);
            font-size: var(--font-size-sm);
            color: var(--charcoal);
            transition: all var(--transition-fast);
            background: var(--white);
        }

        .form-input:focus,
        .form-select:focus,
        .form-textarea:focus {
            outline: none;
            border-color: #6E9125;
            box-shadow: 0 0 0 3px rgba(110,145,37,0.1);
        }

        .form-input::placeholder,
        .form-textarea::placeholder {
            color: var(--dark-gray);
        }

        .form-textarea {
            resize: none;
            min-height: 5rem;
            flex: 1;
            overflow-y: auto;
        }

        /* Scrollbar styling - only visible when content overflows */
        .form-textarea::-webkit-scrollbar {
            width: 0.5rem;
        }

        .form-textarea::-webkit-scrollbar-track {
            background: transparent;
        }

        .form-textarea::-webkit-scrollbar-thumb {
            background: #ccc;
            border-radius: 0.25rem;
        }

        .form-textarea::-webkit-scrollbar-thumb:hover {
            background: #aaa;
        }

        .form-group:has(.form-textarea) {
            flex: 1;
            display: flex;
            flex-direction: column;
        }

        .form-select {
            cursor: pointer;
            appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23757575'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 0.75rem center;
            padding-right: 2.5rem;
        }

        .form-hint {
            font-size: var(--font-size-sm);
            color: var(--dark-gray);
            margin-top: var(--spacing-xs);
        }

        .btn-form {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: var(--spacing-sm);
            padding: var(--spacing-md) var(--spacing-xl);
            border-radius: var(--radius-md);
            font-family: var(--font-family);
            font-size: var(--font-size-base);
            font-weight: var(--font-weight-medium);
            border: none;
            cursor: pointer;
            transition: all var(--transition-base);
            background: #F5F3ED;
            border: 1px solid #E5E3DD;
            color: #5A5A55;
            box-shadow: var(--shadow-sm);
            width: 100%;
        }

        .btn-form .material-icons {
            color: #6E9125;
        }

        .btn-form:hover {
            background: #EFEDE7;
            transform: translateY(-2px);
            box-shadow: var(--shadow-md);
        }

        .btn-form .btn-text {
            display: inline-flex;
            align-items: center;
            gap: var(--spacing-sm);
            background: linear-gradient(90deg,
                #6E9125 0%, #6E9125 33%,
                #E8C44A 33%, #F5D76E 50%, #E8C44A 66%,
                #6E9125 66%, #6E9125 100%);
            background-size: 300% 100%;
            background-position: 0% 50%;
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .btn-form:hover .btn-text {
            animation: orange-wave-sweep 0.6s ease-out;
            animation-delay: 0.15s;
        }

        .form-privacy {
            font-size: var(--font-size-sm);
            color: var(--dark-gray);
            text-align: center;
            margin-top: var(--spacing-md);
        }

        .form-privacy a {
            color: #6E9125;
        }

        .form-privacy a:hover {
            text-decoration: underline;
        }

        /* Map Section */
        .map-section {
            padding: var(--spacing-xl) 0 var(--spacing-3xl);
        }

        .map-section h2 {
            font-size: var(--font-size-2xl);
            font-weight: var(--font-weight-semibold);
            color: var(--black);
            text-align: center;
            margin-bottom: var(--spacing-xl);
        }

        .map-container {
            width: 100%;
            height: 25rem;
            border-radius: var(--radius-xl);
            overflow: hidden;
            box-shadow: var(--shadow-md);
            position: relative;
        }

        .map-container iframe {
            width: 100%;
            height: 100%;
            border: 0;
        }

        /* Service Area Responsive Visibility */
        .service-area-mobile {
            display: none;
        }

        /* Contact Responsive */
        @media (max-width: 1024px) {
            .contact-grid {
                grid-template-columns: 1fr;
                gap: var(--spacing-2xl);
            }
        }

        @media (max-width: 768px) {
            .contact-section .section-header h2 {
                font-size: var(--font-size-2xl);
            }

            .form-row {
                grid-template-columns: 1fr;
            }

            .form-group.full-width {
                grid-column: span 1;
            }

            /* Move service area to map section on mobile only */
            .service-area-desktop {
                display: none;
            }

            .service-area-mobile {
                display: block;
                margin-bottom: var(--spacing-xl);
            }
        }

        /* ============================================
           FOOTER
           ============================================ */
        .footer {
            background: linear-gradient(180deg, #232B26 0%, #092914 100%);
            color: var(--white);
            padding: var(--spacing-3xl) 0 var(--spacing-xl);
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 2fr 1fr 1fr 1fr;
            gap: var(--spacing-3xl);
            margin-bottom: var(--spacing-3xl);
        }

        .footer-brand .logo {
            margin-bottom: var(--spacing-md);
        }

        .footer-brand .logo-image {
            height: 6rem;
            width: auto;
        }

        .footer-brand .logo-text {
            color: var(--white);
        }

        .footer-brand .logo-text span {
            color: var(--accent);
        }

        .footer-brand p {
            color: rgba(255,255,255,0.7);
            font-size: var(--font-size-sm);
            line-height: 1.7;
            margin-bottom: var(--spacing-lg);
        }

        .footer-social {
            display: flex;
            gap: var(--spacing-sm);
        }

        .social-link {
            width: 2.5rem;
            height: 2.5rem;
            background: rgba(255,255,255,0.1);
            border-radius: var(--radius-md);
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--white);
            transition: all var(--transition-base);
        }

        .social-link:hover {
            background: var(--primary);
        }

        .footer-column h4 {
            font-size: var(--font-size-base);
            font-weight: var(--font-weight-medium);
            margin-bottom: var(--spacing-lg);
        }

        .footer-links {
            list-style: none;
        }

        .footer-links li {
            margin-bottom: var(--spacing-sm);
        }

        .footer-links a {
            color: rgba(255,255,255,0.7);
            font-size: var(--font-size-sm);
            transition: color var(--transition-fast);
        }

        .footer-links a:hover {
            color: var(--white);
        }

        .footer-contact-item {
            display: flex;
            align-items: flex-start;
            gap: var(--spacing-sm);
            margin-bottom: var(--spacing-md);
            color: rgba(255,255,255,0.7);
            font-size: var(--font-size-sm);
        }

        .footer-contact-item .material-icons {
            font-size: 1.125rem;
            color: var(--accent);
        }

        .footer-bottom {
            border-top: 1px solid rgba(255,255,255,0.1);
            padding-top: var(--spacing-xl);
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            align-items: center;
            gap: var(--spacing-sm);
        }

        .footer-bottom p {
            font-size: var(--font-size-sm);
            color: rgba(255,255,255,0.5);
        }

        .footer-bottom .company-info {
            width: 100%;
            text-align: center;
            font-size: var(--font-size-xs);
            order: 3;
            margin-top: var(--spacing-sm);
        }

        .footer-legal {
            display: flex;
            gap: var(--spacing-lg);
        }

        .footer-legal a {
            font-size: var(--font-size-sm);
            color: rgba(255,255,255,0.5);
            transition: color var(--transition-fast);
        }

        .footer-legal a:hover {
            color: var(--white);
        }

        /* ============================================
           RESPONSIVE
           ============================================ */
        @media (max-width: 1200px) {
            /* ============================================
               TABLET HERO: Stacked Layout (no gradient)
               Same as mobile - image above, text below
               ============================================ */

            /* Reset grid to stacked block layout */
            .hero {
                display: block;
                min-height: auto;
                padding-top: var(--header-height);
                background: transparent;
            }

            /* Image as contained banner, not overlapping */
            .hero-image-banner {
                position: relative;
                display: block;
                height: 50vh;
                min-height: 20rem;
                max-height: 28rem;
                border: none !important;
                outline: none !important;
                box-shadow: none !important;
            }

            /* Remove ALL pseudo-elements entirely */
            .hero-image-banner::before,
            .hero-image-banner::after {
                content: none !important;
                display: none !important;
                height: 0 !important;
                width: 0 !important;
                background: none !important;
                opacity: 0 !important;
                border: none !important;
                visibility: hidden !important;
            }

            /* Container sits below image, clean white background */
            .hero .container {
                position: relative;
                text-align: center;
                margin-top: -1px;
                padding-top: var(--spacing-xl);
                padding-bottom: var(--spacing-2xl);
                background: var(--white);
            }

            /* White overlap to cover any edge artifacts */
            .hero .container::before {
                content: '';
                position: absolute;
                top: -0.75rem;
                left: 0;
                right: 0;
                height: 1rem;
                background: var(--white);
                z-index: 10;
            }

            /* Content styling */
            .hero-content {
                max-width: 100%;
                padding-top: 0;
                margin-top: 0;
            }

            .hero-float-card,
            .hero-badge {
                display: none;
            }

            .hero-title .highlight {
                text-shadow: none;
            }

            .hero-title .text-shadow {
                text-shadow: none;
            }

            .hero-cta-group {
                flex-direction: column;
                align-items: center;
            }

            .hero-trust {
                flex-wrap: wrap;
            }

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

            /* Reset all cards to span 1 column on tablet */
            .services-grid .service-card:nth-child(1),
            .services-grid .service-card:nth-child(2),
            .services-grid .service-card:nth-child(3),
            .services-grid .service-card:nth-child(4),
            .services-grid .service-card:nth-child(5) {
                grid-column: span 1;
            }

            .trust-grid {
                grid-template-columns: repeat(2, 1fr);
                justify-items: center;
                gap: var(--spacing-xl);
            }

            .trust-item {
                transform: scale(1.15);
            }

            /* Testimonials tablet layout - arborist beside header */
            .testimonials {
                padding-top: var(--spacing-3xl);
                padding-bottom: var(--spacing-3xl);
            }

            .testimonials .container {
                position: relative;
                padding-left: 10rem;
            }

            .testimonials .section-header {
                text-align: left;
            }

            .testimonials-content {
                flex-direction: column;
                align-items: flex-start;
            }

            .testimonials-illustration {
                position: absolute;
                left: 0;
                top: 0;
                width: 9rem;
                margin-left: 0;
                margin-bottom: 0;
            }

            .testimonials-grid {
                grid-template-columns: 1fr;
                justify-items: center;
            }

            .testimonial-card {
                max-width: 32rem;
            }

            .gallery-grid,
            .gallery-expanded-grid {
                grid-template-columns: repeat(2, 1fr);
            }

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

            .quote-cta .container {
                grid-template-columns: 1fr;
                justify-items: center;
                gap: var(--spacing-md);
            }

            .quote-cta-content {
                position: static;
                left: auto;
                top: auto;
                transform: none;
                max-width: 100%;
                text-align: center;
            }

            .quote-tree img {
                width: 37.5rem;
                margin-bottom: 0;
            }
        }

        @media (max-width: 768px) {
            /* Hide desktop nav elements, show hamburger */
            .nav-links {
                display: none;
            }

            .nav-cta {
                display: none;
            }

            .mobile-menu-btn {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 2.75rem;
                height: 2.75rem;
                padding: 0;
            }

            .mobile-menu-btn .material-icons {
                font-size: 1.75rem;
            }

            /* Mobile menu overlay */
            .mobile-menu-overlay {
                display: block;
                position: fixed;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                background: rgba(0, 0, 0, 0.5);
                z-index: 999;
                opacity: 0;
                visibility: hidden;
                transition: opacity 0.3s, visibility 0.3s;
            }

            .mobile-menu-overlay.active {
                opacity: 1;
                visibility: visible;
            }

            .mobile-menu {
                position: fixed;
                top: 0;
                right: -17.5rem;
                width: 17.5rem;
                height: 100%;
                background: var(--white);
                z-index: 1001;
                box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
                transition: right 0.3s ease;
                display: flex;
                flex-direction: column;
            }

            .mobile-menu.active {
                right: 0;
            }

            .mobile-menu-header {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                padding: var(--spacing-md) var(--spacing-lg);
                border-bottom: 1px solid rgba(0, 0, 0, 0.08);
            }

            .mobile-menu-close {
                background: none;
                border: none;
                cursor: pointer;
                color: var(--charcoal);
                width: 2.75rem;
                height: 2.75rem;
                display: flex;
                align-items: center;
                justify-content: center;
            }

            .mobile-menu-nav {
                flex: 1;
                padding: var(--spacing-lg);
                display: flex;
                flex-direction: column;
                gap: var(--spacing-md);
            }

            .mobile-menu-nav a {
                display: flex;
                align-items: center;
                gap: var(--spacing-md);
                padding: var(--spacing-md);
                color: var(--charcoal);
                font-size: var(--font-size-lg);
                font-weight: var(--font-weight-medium);
                border-radius: var(--radius-md);
                transition: background 0.2s;
            }

            .mobile-menu-nav a:hover {
                background: rgba(0, 0, 0, 0.04);
                color: var(--primary);
            }

            .mobile-menu-cta {
                padding: var(--spacing-lg);
                border-top: 1px solid rgba(0, 0, 0, 0.08);
            }

            .mobile-menu-cta .nav-cta {
                display: flex;
                width: 100%;
                justify-content: center;
            }

            /* ============================================
               TABLET HERO: Stacked Layout (no gradient)
               Same as mobile - image above, text below
               ============================================ */

            /* Reset grid to stacked block layout */
            .hero {
                display: block;
                min-height: auto;
                padding-top: var(--header-height);
                background: transparent;
            }

            /* Image as contained banner, not overlapping */
            .hero-image-banner {
                position: relative;
                display: block;
                height: 50vh;
                min-height: 20rem;
                max-height: 28rem;
                border: none !important;
                outline: none !important;
                box-shadow: none !important;
            }

            /* Remove ALL pseudo-elements entirely */
            .hero-image-banner::before,
            .hero-image-banner::after {
                content: none !important;
                display: none !important;
                height: 0 !important;
                width: 0 !important;
                background: none !important;
                opacity: 0 !important;
                border: none !important;
                visibility: hidden !important;
            }

            /* Container sits below image, clean white background */
            .hero .container {
                position: relative;
                margin-top: -1px;
                padding-top: var(--spacing-xl);
                padding-bottom: var(--spacing-2xl);
                background: var(--white);
            }

            /* White overlap to cover any edge artifacts */
            .hero .container::before {
                content: '';
                position: absolute;
                top: -0.75rem;
                left: 0;
                right: 0;
                height: 1rem;
                background: var(--white);
                z-index: 10;
            }

            /* Content styling */
            .hero-content {
                padding-top: 0;
                margin-top: 0;
            }

            .hero-title {
                font-size: var(--font-size-2xl);
            }

            .hero-title .highlight {
                text-shadow: none;
                padding-bottom: 0.5rem;
            }

            .hero-title .highlight::after {
                bottom: -0.375rem;
            }

            .hero-title .text-shadow {
                text-shadow: none;
            }

            .section-title {
                font-size: var(--font-size-2xl);
            }

            .services-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: var(--spacing-lg);
            }

            /* Reset all cards to span 1 column on tablet */
            .services-grid .service-card:nth-child(1),
            .services-grid .service-card:nth-child(2),
            .services-grid .service-card:nth-child(3),
            .services-grid .service-card:nth-child(4),
            .services-grid .service-card:nth-child(5) {
                grid-column: span 1;
            }

            .service-card {
                margin-top: 0;
            }

            .quote-cta .container {
                grid-template-columns: 1fr;
                text-align: center;
                gap: var(--spacing-xl);
            }

            .quote-cta-content {
                max-width: 100%;
                text-align: center;
                order: 1;
            }

            .quote-tree {
                order: 2;
            }

            .quote-tree img {
                width: 25rem;
                margin-bottom: 0;
            }

            .quote-features {
                flex-direction: row;
                flex-wrap: wrap;
                justify-content: center;
                align-items: center;
                gap: var(--spacing-lg);
                order: 3;
                margin-bottom: var(--spacing-xl);
            }

            .quote-feature {
                flex: 0 1 auto;
            }

            .trust-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: var(--spacing-lg);
            }

            .trust-card-frame {
                width: 12.5rem;
                height: 11.625rem;
            }

            .gallery-grid,
            .gallery-expanded-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .gallery-item.large,
            .gallery-expanded-item.large,
            .gallery-expanded-item.large-right {
                grid-column: span 1;
                grid-row: span 1;
            }

            .footer-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: var(--spacing-lg);
            }

            .footer-bottom {
                flex-direction: row;
                justify-content: space-between;
                gap: var(--spacing-md);
            }
        }

        /* Mobile - Single column layouts */
        @media (max-width: 576px) {
            /* Mobile footer - single column */
            .footer-grid {
                grid-template-columns: 1fr;
            }

            .footer-bottom {
                flex-direction: column;
                gap: var(--spacing-md);
                text-align: center;
            }
            /* ============================================
               MOBILE HERO: Stacked Layout (no gradient)
               ============================================ */

            /* Reset grid to stacked block layout */
            .hero {
                display: block;
                min-height: auto;
                padding-top: var(--header-height);
                background: transparent;
            }

            /* Image as contained banner, not overlapping */
            .hero-image-banner {
                position: relative;
                display: block;
                height: 55vh;
                min-height: 17.5rem;
                max-height: 25rem;
                border: none !important;
                outline: none !important;
                box-shadow: none !important;
            }

            /* Remove ALL pseudo-elements entirely */
            .hero-image-banner::before,
            .hero-image-banner::after {
                content: none !important;
                display: none !important;
                height: 0 !important;
                width: 0 !important;
                background: none !important;
                opacity: 0 !important;
                border: none !important;
                visibility: hidden !important;
            }

            /* Container sits below image, clean white background */
            .hero .container {
                position: relative;
                margin-top: -1px;
                padding-top: var(--spacing-xl);
                padding-bottom: var(--spacing-2xl);
                background: var(--white);
            }

            /* White overlap to cover any edge artifacts */
            .hero .container::before {
                content: '';
                position: absolute;
                top: -0.75rem;
                left: 0;
                right: 0;
                height: 1rem;
                background: var(--white);
                z-index: 10;
            }

            /* Content styling */
            .hero-content {
                padding-top: 0;
                margin-top: 0;
            }

            .hero-title .highlight {
                text-shadow: none;
                /* FIX: Add spacing only after underlined words */
                padding-bottom: 0.5rem;
            }

            .hero-title .highlight::after {
                bottom: -0.375rem;
            }

            .hero-title .text-shadow {
                text-shadow: none;
            }

            .hero-subtitle {
                font-size: var(--font-size-sm);
            }

            /* Hide services CTA on mobile */
            .hero-cta-group .btn-secondary {
                display: none;
            }

            /* Mobile section padding - consistent spacing between sections */
            .services,
            .trust,
            .testimonials,
            .gallery-preview,
            .trust-banner,
            .contact-section,
            .map-section {
                padding: var(--spacing-3xl) 0;
            }

            .services-grid {
                grid-template-columns: 1fr;
            }

            /* Reset all cards to span full width on mobile */
            .services-grid .service-card:nth-child(1),
            .services-grid .service-card:nth-child(2),
            .services-grid .service-card:nth-child(3),
            .services-grid .service-card:nth-child(4),
            .services-grid .service-card:nth-child(5) {
                grid-column: span 1;
            }

            .service-card {
                margin-top: 4.375rem;
            }

            /* Expanded service card on mobile - full width stacking */
            .service-card.expanded .expanded-left {
                flex-direction: column;
                padding: var(--spacing-md);
            }

            .service-card.expanded .expanded-left .expanded-image {
                width: 100%;
                text-align: center;
            }

            .service-card.expanded .expanded-left .expanded-image img {
                width: 100%;
                max-width: 12.5rem;
                height: auto;
            }

            .service-card.expanded .expanded-right {
                padding: var(--spacing-md);
            }

            .service-card.expanded .expanded-right p {
                font-size: var(--font-size-sm);
                line-height: 1.6;
                word-wrap: break-word;
                overflow-wrap: break-word;
            }

            .service-card.expanded .service-features {
                padding-left: var(--spacing-sm);
            }

            .service-card.expanded .service-features li {
                font-size: var(--font-size-sm);
                line-height: 1.5;
            }

            /* FIX: Center service card content on mobile */
            .service-card-preview {
                text-align: center;
            }

            /* FIX: Hide service icon when expanded (avoid duplicate with expanded image) */
            .service-card.expanded .service-icon {
                display: none;
            }

            /* FIX: Swap price box and detailed content positions */
            .service-card.expanded .expanded-left {
                order: 2;
            }
            .service-card.expanded .expanded-right {
                order: 1;
            }

            /* FIX: Make price/details box wider */
            .service-card.expanded .service-price-hint {
                width: 100%;
                justify-content: center;
            }

            /* FIX: Reduce space after expanded card */
            .service-card.expanded {
                margin-bottom: var(--spacing-md);
            }
            .service-card.expanded + .service-card {
                margin-top: var(--spacing-lg);
            }

            .trust-grid {
                grid-template-columns: 1fr;
                gap: 3.75rem;
                padding: 0 1.25rem;
            }

            .trust-card {
                display: flex;
                flex-direction: column;
                align-items: center;
            }

            .trust-card-frame {
                width: 14.375rem;
                height: 13.375rem;
                margin: 0 auto;
            }

            /* Adjust icon overflow on mobile */
            .trust-card--umbrella .trust-card-icon,
            .trust-card--certified .trust-card-icon,
            .trust-card--eco .trust-card-icon,
            .trust-card--hands .trust-card-icon {
                right: -5%;
            }

            .gallery-grid,
            .gallery-expanded-grid,
            .comparison-grid {
                grid-template-columns: 1fr;
            }

            /* Gallery Mobile Fix - Allow items to stack vertically */
            .gallery-preview {
                height: auto;
                min-height: auto;
            }

            .gallery-grid {
                grid-template-rows: auto;
                padding: 0 var(--spacing-lg);
            }

            .gallery-item {
                aspect-ratio: 16/10;
                min-height: 12rem;
            }

            /* Floating "Show Less" button when gallery expanded on mobile */
            .gallery-expanded .gallery-cta {
                position: sticky;
                bottom: 0;
                background: linear-gradient(transparent, var(--light-gray) 30%);
                padding: var(--spacing-lg) 0 var(--spacing-xl);
                z-index: 10;
            }

            /* Quote CTA Section - Mobile Fix (Stacked Layout) */
            .quote-cta {
                display: flex;
                flex-direction: column;
                height: auto;
                min-height: auto;
                padding: 0;
            }

            .quote-cta-content {
                position: relative;
                left: 0;
                top: 0;
                transform: none;
                max-width: 100%;
                text-align: center;
                padding: 2.5rem 1.25rem;
                background: var(--color-green-dark);
                order: 1;
            }

            .quote-cta-content h2 {
                font-size: 1.75rem;
                white-space: normal;
                line-height: 1.3;
            }

            .quote-cta-content p {
                font-size: 1rem;
            }

            .btn-cta-gradient {
                padding: 1.125rem 2.5rem;
                font-size: 1rem;
            }

            /* Quote Features - Mobile Fix */
            .quote-features {
                position: relative;
                left: 0;
                bottom: 0;
                flex-direction: column;
                align-items: center;
                gap: var(--spacing-sm);
                margin-top: var(--spacing-sm);
                margin-bottom: var(--spacing-xl);
                padding: 0 1rem;
                order: 2;
            }

            .quote-feature > div:last-child {
                display: flex;
                gap: 0.35rem;
                align-items: baseline;
            }

            .quote-feature > div:last-child h4,
            .quote-feature > div:last-child p {
                margin: 0;
            }

            .quote-feature:nth-child(-n+2) > div:last-child h4::after {
                content: " –";
            }

            .quote-cta-image {
                position: relative;
                width: 100%;
                height: 15rem;
                right: 0;
                opacity: 1;
                order: 3;
            }

            .quote-cta-image::before {
                display: none;
            }

            .quote-cta-image img {
                object-position: center top;
            }

            .feature-badge {
                flex: 0 1 auto;
                min-width: auto;
                padding: 0.75rem 1rem;
                font-size: 0.875rem;
            }

            .feature-badge .value {
                font-size: 1.25rem;
            }

            .feature-badge .label {
                font-size: 0.875rem;
            }

            /* Hand-drawn circle button - mobile fix */
            .btn-circle {
                padding: 1.25rem 2.5rem 1.5625rem 2.5rem;
                font-size: 1rem;
                max-width: calc(100vw - 2.5rem);
                box-sizing: border-box;
            }

            /* Testimonials mobile fix */
            .testimonials-content {
                flex-direction: column;
            }

            .testimonials-illustration {
                display: none;
            }

            .testimonials-grid {
                width: 100%;
                padding: 0;
                justify-items: stretch;
            }

            .testimonial-card {
                width: 100%;
                max-width: 100%;
                box-sizing: border-box;
            }

            .testimonials .container {
                padding: 0 var(--spacing-lg);
            }
        }

        /* ============================================
           ORGANIC DESIGN ENHANCEMENTS - WATERCOLOR STYLE
           ============================================ */

        /* Lighter body text */
        body {
            font-weight: var(--font-weight-light);
            color: var(--charcoal);
        }

        /* Gray gradient background for services section */
        .services {
            background: #F5F5F5;
            padding-bottom: var(--spacing-4xl);
        }

        /* Remove wavy border from services section */
        .services.section-with-wave::after {
            display: none;
        }

        .quote-cta {
            background: linear-gradient(180deg, #232B26 0%, #092914 100%) !important;
        }

        .quote-cta-content h2 {
            color: #FFFFFF !important;
            -webkit-text-fill-color: #FFFFFF !important;
            background: none !important;
        }

        .quote-cta-content p {
            color: rgba(255, 255, 255, 0.85) !important;
            font-weight: 400 !important;
        }

        /* Wavy section dividers */
        .section-with-wave {
            position: relative;
            padding-bottom: var(--spacing-4xl);
        }

        .section-with-wave::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 3.75rem;
            background: var(--off-white);
            clip-path: polygon(
                0 40%,
                10% 35%,
                20% 40%,
                30% 30%,
                40% 35%,
                50% 30%,
                60% 35%,
                70% 30%,
                80% 40%,
                90% 35%,
                100% 40%,
                100% 100%,
                0 100%
            );
        }

        /* Softer, organic shadows */
        .testimonial-card {
            box-shadow:
                0 2px 8px rgba(46, 125, 50, 0.05),
                0 8px 24px rgba(46, 125, 50, 0.08);
        }

        .gallery-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform var(--transition-base);
        }

        .gallery-item:hover img {
            transform: scale(1.05);
        }

        /* Softer testimonial cards */
        .testimonial-card {
            border-radius: var(--radius-xl) !important;
            background: rgba(255, 255, 255, 0.95) !important;
        }

        /* Hero section organic overlay */
        .hero::before {
            border-radius: 0 0 50% 50% / 0 0 4% 4%;
            background: linear-gradient(
                135deg,
                rgba(46, 125, 50, 0.05) 0%,
                rgba(76, 175, 80, 0.03) 100%
            );
        }

        /* Organic button styles */
        .btn-primary:hover {
            transform: translateY(-3px);
            box-shadow:
                0 6px 20px rgba(46, 125, 50, 0.25);
        }

        /* Handwritten accent font for quotes */
        .testimonial-text {
            font-family: var(--font-family-accent);
            font-weight: 300;
            font-size: var(--font-size-lg);
            line-height: 1.8;
        }

        /* Lighter headings */
        h1, h2, h3, h4, h5, h6 {
            font-weight: var(--font-weight-medium);
        }

        /* Even lighter paragraph text */
        p {
            font-weight: var(--font-weight-light);
        }

        /* Decorative organic leaf accent for section labels */
        .section-label::before,
        .section-label::after {
            content: '🌿';
            font-size: 0.75rem;
            opacity: 0.6;
            margin: 0 0.5rem;
            display: inline-block;
        }

        /* Soft organic blob background accent */
        .hero::after {
            content: '';
            position: absolute;
            top: 20%;
            right: -6.25rem;
            width: 25rem;
            height: 25rem;
            background: radial-gradient(
                circle,
                rgba(46, 125, 50, 0.08) 0%,
                rgba(46, 125, 50, 0.03) 40%,
                transparent 70%
            );
            border-radius: 40% 60% 50% 50% / 60% 50% 50% 40%;
            pointer-events: none;
            z-index: 0;
        }

        /* Paper texture overlay suggestion (add PNG texture for production) */
        body::before {
            content: '';
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background:
                repeating-linear-gradient(
                    0deg,
                    transparent,
                    transparent 2px,
                    rgba(0, 0, 0, 0.003) 2px,
                    rgba(0, 0, 0, 0.003) 4px
                );
            pointer-events: none;
            z-index: 1;
            opacity: 0.4;
        }

        body > * {
            position: relative;
            z-index: 2;
        }

        /* Organic underline for hero title highlight */
        .hero-title .highlight {
            position: relative;
            display: inline-block;
        }

        .hero-title .highlight::after {
            content: '';
            position: absolute;
            bottom: -0.25rem;
            left: 0;
            width: 100%;
            height: 3px;
            background: linear-gradient(
                90deg,
                transparent 0%,
                rgba(46, 125, 50, 0.3) 20%,
                rgba(46, 125, 50, 0.4) 50%,
                rgba(46, 125, 50, 0.3) 80%,
                transparent 100%
            );
            border-radius: 50%;
        }

        /* ============================================
           TESTIMONIALS SECTION
           ============================================ */
        .testimonials-section {
            padding: var(--spacing-3xl) 0;
            background: linear-gradient(135deg, rgba(128, 128, 128, 0.04) 0%, rgba(255, 255, 255, 1) 100%);
        }

        .testimonials-section .section-header {
            text-align: center;
            margin-bottom: var(--spacing-xl);
        }

        .testimonials-summary {
            text-align: center;
            margin-bottom: var(--spacing-xl);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: var(--spacing-sm);
            flex-wrap: wrap;
        }

        .testimonials-summary .summary-stars .material-icons {
            color: #FF9800;
            font-size: 1.5rem;
        }

        .testimonials-summary .summary-text {
            font-size: var(--font-size-lg);
            color: var(--dark-gray);
            font-weight: var(--font-weight-medium);
        }

        .testimonials-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
            gap: var(--spacing-lg);
        }

        .review-card-item {
            background: var(--white);
            border: 1px solid var(--gray);
            border-radius: var(--radius-lg);
            padding: var(--spacing-xl);
            transition: all var(--transition-base);
        }

        .review-card-item:hover {
            border-color: #6E9125;
            box-shadow: var(--shadow-md);
        }

        .review-card-stars {
            margin-bottom: var(--spacing-sm);
        }

        .review-card-stars .material-icons {
            color: #FF9800;
            font-size: 1.25rem;
        }

        .review-card-subject {
            font-size: var(--font-size-lg);
            font-weight: var(--font-weight-semibold);
            color: var(--black);
            margin-bottom: var(--spacing-sm);
        }

        .review-card-text {
            font-size: var(--font-size-base);
            color: var(--charcoal);
            line-height: 1.7;
            margin-bottom: var(--spacing-md);
        }

        .review-card-text.clamped {
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .review-card-toggle {
            background: none;
            border: none;
            color: #6E9125;
            font-family: var(--font-family);
            font-size: var(--font-size-sm);
            font-weight: var(--font-weight-medium);
            cursor: pointer;
            padding: 0;
            margin-bottom: var(--spacing-md);
            display: none;
        }

        .review-card-toggle:hover {
            text-decoration: underline;
        }

        .review-card-photos {
            display: flex;
            gap: var(--spacing-sm);
            margin-bottom: var(--spacing-md);
            flex-wrap: wrap;
        }

        .review-card-photos img {
            width: 5rem;
            height: 5rem;
            object-fit: cover;
            border-radius: var(--radius-md);
            cursor: pointer;
            transition: transform 0.2s;
        }

        .review-card-photos img:hover {
            transform: scale(1.05);
        }

        .review-card-meta {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding-top: var(--spacing-sm);
            border-top: 1px solid var(--gray);
        }

        .review-card-name {
            font-weight: var(--font-weight-semibold);
            color: var(--black);
            font-size: var(--font-size-sm);
        }

        .review-card-date {
            font-size: var(--font-size-xs);
            color: var(--dark-gray);
        }

        @media (max-width: 768px) {
            .testimonials-grid {
                grid-template-columns: 1fr;
            }
        }

        /* Gallery Section Base */
        .gallery-section {
            padding: var(--spacing-3xl) 0;
            background: var(--white);
        }

        /* Before/After Section */
        .before-after-section {
            padding: var(--spacing-3xl) 0;
            background: var(--white);
        }

        /* Before/After Comparison */
        .comparison-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: var(--spacing-xl);
        }

        /* Mobile: Stack before/after images vertically */
        @media (max-width: 768px) {
            .comparison-grid {
                grid-template-columns: 1fr;
                padding: 0 var(--spacing-lg);
            }
        }

        .comparison-wrapper {
            text-align: center;
        }

        .comparison-container {
            position: relative;
            width: 100%;
            aspect-ratio: 3/4;
            overflow: hidden;
            border-radius: var(--radius-lg);
            box-shadow: var(--shadow-md);
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
        }

        .comparison-image {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }

        .comparison-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: none;
        }

        .comparison-before {
            z-index: 1;
            clip-path: inset(0 50% 0 0);
            transition: none !important;
            will-change: clip-path;
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
            transform: translateZ(0);
        }

        .comparison-after {
            z-index: 0;
        }

        .comparison-label {
            position: absolute;
            bottom: 16px;
            padding: 6px 14px;
            background: rgba(0, 0, 0, 0.7);
            color: white;
            font-size: var(--font-size-sm);
            font-weight: var(--font-weight-medium);
            border-radius: var(--radius-full);
            z-index: 3;
        }

        .comparison-before .comparison-label {
            left: 16px;
        }

        .comparison-after .comparison-label {
            right: 16px;
        }

        .comparison-slider {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 50%;
            width: 4px;
            z-index: 2;
            transform: translateX(-50%) translateZ(0);
            transition: none !important;
            will-change: left;
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
        }

        .slider-line {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 50%;
            width: 3px;
            background: white;
            transform: translateX(-50%) translateZ(0);
            box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
        }

        .slider-handle {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 44px;
            height: 44px;
            background: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
            color: var(--primary);
            cursor: grab;
            touch-action: none;
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
        }

        .slider-handle:active {
            cursor: grabbing;
        }

        .slider-handle .material-icons {
            font-size: 24px;
            transform: rotate(90deg);
        }

        .comparison-caption {
            margin-top: var(--spacing-md);
            font-size: var(--font-size-base);
            color: var(--charcoal);
            font-weight: var(--font-weight-medium);
        }

        .gallery-item-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, transparent 50%);
            opacity: 0;
            transition: opacity var(--transition-base);
            display: flex;
            align-items: flex-end;
            padding: var(--spacing-lg);
        }

        .gallery-item:hover .gallery-item-overlay {
            opacity: 1;
        }

        .gallery-item-overlay .material-icons {
            color: white;
            font-size: 32px;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

        /* Lightbox */
        .lightbox {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.95);
            z-index: 2000;
            align-items: center;
            justify-content: center;
            padding: var(--spacing-xl);
        }

        .lightbox.active {
            display: flex;
        }

        .lightbox-content {
            position: relative;
            max-width: 90vw;
            max-height: 90vh;
        }

        .lightbox-content img {
            max-width: 100%;
            max-height: 90vh;
            object-fit: contain;
            border-radius: var(--radius-md);
        }

        .lightbox-close {
            position: absolute;
            top: -40px;
            right: 0;
            background: none;
            border: none;
            color: white;
            font-size: 32px;
            cursor: pointer;
            padding: var(--spacing-sm);
        }

        .lightbox-nav {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: rgba(255,255,255,0.2);
            border: none;
            color: white;
            font-size: 32px;
            cursor: pointer;
            padding: var(--spacing-md);
            border-radius: var(--radius-full);
            transition: background var(--transition-base);
        }

        .lightbox-nav:hover {
            background: rgba(255,255,255,0.3);
        }

        .lightbox-prev { left: -60px; }
        .lightbox-next { right: -60px; }

        .lightbox-counter {
            position: absolute;
            bottom: -40px;
            left: 50%;
            transform: translateX(-50%);
            color: white;
            font-size: var(--font-size-sm);
        }
