/* Shared stylesheet extracted from inline <style> blocks. */
/* Tailwind utility classes are still loaded through the existing Tailwind CDN script in each HTML file. */

/* ===== Extracted from: about/index.html ===== */
:root {
            --primary: 162 78% 20%; /* #0c5c49 - Dark Green */
            --primary-foreground: 60 14% 93%; /* #f2f2eb - Off-white */

            --secondary: 60 14% 93%; /* #f2f2eb - Off-white */
            --secondary-foreground: 240 18% 10%; /* #13131b - Dark */

            --accent: 240 18% 10%; /* #13131b - Dark */
            --accent-foreground: 60 14% 93%; /* #f2f2eb - Off-white */

            --background: 60 14% 93%; /* #f2f2eb */
            --foreground: 240 18% 10%; /* #13131b */

            --card: 0 0% 100%;
            --card-foreground: 240 18% 10%;

            --popover: 0 0% 100%;
            --popover-foreground: 240 18% 10%;

            --muted: 60 10% 85%;
            --muted-foreground: 240 10% 40%;

            --border: 60 10% 85%;
            --input: 60 10% 85%;
            --ring: 162 78% 20%;

            --radius: 0;
        }

        .dark {
            --primary: 162 78% 20%;
            --primary-foreground: 60 14% 93%;

            --secondary: 60 14% 93%;
            --secondary-foreground: 240 18% 10%;

            --accent: 240 18% 10%;
            --accent-foreground: 60 14% 93%;

            --background: 240 18% 10%;
            --foreground: 60 14% 93%;

            --card: 240 18% 14%;
            --card-foreground: 60 14% 93%;

            --popover: 240 18% 14%;
            --popover-foreground: 60 14% 93%;

            --muted: 240 10% 20%;
            --muted-foreground: 60 10% 60%;

            --border: 240 10% 20%;
            --input: 240 10% 20%;
            --ring: 162 78% 20%;
        }

        body {
            font-family: 'Bricolage Grotesque', system-ui, sans-serif;
        }
        
        html {
            scroll-behavior: smooth;
        }
        
        .text-balance {
            text-wrap: balance;
        }

/* ===== Extracted from: books/index.html ===== */
:root {
            --primary: 162 78% 20%; /* #0c5c49 - Dark Green */
            --primary-foreground: 60 14% 93%; /* #f2f2eb - Off-white */
            --secondary: 60 14% 93%; /* #f2f2eb - Off-white */
            --secondary-foreground: 240 18% 10%; /* #13131b - Dark */
            --accent: 240 18% 10%; /* #13131b - Dark */
            --accent-foreground: 60 14% 93%; /* #f2f2eb - Off-white */
            --background: 60 14% 93%; /* #f2f2eb */
            --foreground: 240 18% 10%; /* #13131b */
            --muted: 60 10% 85%;
            --muted-foreground: 240 10% 40%;
        }
        body { font-family: 'Bricolage Grotesque', system-ui, sans-serif; }
        html, body {
            max-width: 100%;
            overflow-x: hidden;
        }
        img, iframe, video {
            max-width: 100%;
        }
        * {
            box-sizing: border-box;
        }

/* ===== Extracted from: gallery/index.html ===== */
:root {
            --primary: 162 78% 20%;
            --primary-foreground: 60 14% 93%;
            --secondary: 60 14% 93%;
            --secondary-foreground: 240 18% 10%;
            --accent: 240 18% 10%;
            --accent-foreground: 60 14% 93%;
            --background: 60 14% 93%;
            --foreground: 240 18% 10%;
            --card: 0 0% 100%;
            --card-foreground: 240 18% 10%;
            --popover: 0 0% 100%;
            --popover-foreground: 240 18% 10%;
            --muted: 60 10% 85%;
            --muted-foreground: 240 10% 40%;
            --border: 60 10% 85%;
            --input: 60 10% 85%;
            --ring: 162 78% 20%;
            --radius: 0;
        }

        .dark {
            --primary: 162 78% 20%;
            --primary-foreground: 60 14% 93%;
            --secondary: 60 14% 93%;
            --secondary-foreground: 240 18% 10%;
            --accent: 240 18% 10%;
            --accent-foreground: 60 14% 93%;
            --background: 240 18% 10%;
            --foreground: 60 14% 93%;
            --card: 240 18% 14%;
            --card-foreground: 60 14% 93%;
            --popover: 240 18% 14%;
            --popover-foreground: 60 14% 93%;
            --muted: 240 10% 20%;
            --muted-foreground: 60 10% 60%;
            --border: 240 10% 20%;
            --input: 240 10% 20%;
            --ring: 162 78% 20%;
        }

        body {
            font-family: 'Bricolage Grotesque', system-ui, sans-serif;
        }

        html {
            scroll-behavior: smooth;
        }

        .text-balance {
            text-wrap: balance;
        }

        /* Photo placeholder shimmer effect */
        .photo-placeholder {
            background: linear-gradient(
                135deg,
                hsl(162 78% 20% / 0.08) 0%,
                hsl(162 78% 20% / 0.15) 50%,
                hsl(162 78% 20% / 0.08) 100%
            );
            position: relative;
            overflow: hidden;
        }

        .photo-placeholder::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(90deg, transparent, hsl(60 14% 93% / 0.3), transparent);
            animation: shimmer 2.5s infinite;
        }

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

        /* Lightbox */
        .lightbox {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(19, 19, 27, 0.95);
            z-index: 100;
            align-items: center;
            justify-content: center;
        }

        .lightbox.active {
            display: flex;
        }

        /* Card hover */
        .gallery-card:hover .card-overlay {
            opacity: 1;
        }

        .gallery-card:hover .photo-placeholder {
            transform: scale(1.02);
        }

        .photo-placeholder {
            transition: transform 0.4s ease;
        }

/* ===== Extracted from: insights/index.html ===== */
:root {
            --primary: 162 78% 20%; /* #0c5c49 - Dark Green */
            --primary-foreground: 60 14% 93%; /* #f2f2eb - Off-white */
            --secondary: 60 14% 93%; /* #f2f2eb - Off-white */
            --secondary-foreground: 240 18% 10%; /* #13131b - Dark */
            --accent: 240 18% 10%; /* #13131b - Dark */
            --accent-foreground: 60 14% 93%; /* #f2f2eb - Off-white */
            --background: 60 14% 93%; /* #f2f2eb */
            --foreground: 240 18% 10%; /* #13131b */
            --muted: 60 10% 85%;
            --muted-foreground: 240 10% 40%;
        }
        body { font-family: 'Bricolage Grotesque', system-ui, sans-serif; }

/* ===== Extracted from: services/index.html ===== */
:root {
            --primary: 162 78% 20%;
            --primary-foreground: 60 14% 93%;
            --secondary: 60 14% 93%;
            --secondary-foreground: 240 18% 10%;
            --accent: 240 18% 10%;
            --accent-foreground: 60 14% 93%;
            --background: 60 14% 93%;
            --foreground: 240 18% 10%;
            --card: 0 0% 100%;
            --card-foreground: 240 18% 10%;
            --popover: 0 0% 100%;
            --popover-foreground: 240 18% 10%;
            --muted: 60 10% 85%;
            --muted-foreground: 240 10% 40%;
            --border: 60 10% 85%;
            --input: 60 10% 85%;
            --ring: 162 78% 20%;
            --radius: 0;
        }
        .dark {
            --primary: 162 78% 20%;
            --primary-foreground: 60 14% 93%;
            --secondary: 60 14% 93%;
            --secondary-foreground: 240 18% 10%;
            --accent: 240 18% 10%;
            --accent-foreground: 60 14% 93%;
            --background: 240 18% 10%;
            --foreground: 60 14% 93%;
            --card: 240 18% 14%;
            --card-foreground: 60 14% 93%;
            --popover: 240 18% 14%;
            --popover-foreground: 60 14% 93%;
            --muted: 240 10% 20%;
            --muted-foreground: 60 10% 60%;
            --border: 240 10% 20%;
            --input: 240 10% 20%;
            --ring: 162 78% 20%;
        }
        body { font-family: 'Bricolage Grotesque', system-ui, sans-serif; }
        html { scroll-behavior: smooth; }
        .text-balance { text-wrap: balance; }

        /* Service card image zoom on hover */
        .service-card .card-img { transition: transform 0.6s ease; }
        .service-card:hover .card-img { transform: scale(1.04); }

        /* Stat counter animation */
        @keyframes countUp {
            from { opacity: 0; transform: translateY(12px); }
            to   { opacity: 1; transform: translateY(0); }
        }
        .stat-item { animation: countUp 0.6s ease forwards; opacity: 0; }
        .stat-item:nth-child(1) { animation-delay: 0.1s; }
        .stat-item:nth-child(2) { animation-delay: 0.25s; }
        .stat-item:nth-child(3) { animation-delay: 0.4s; }
        .stat-item:nth-child(4) { animation-delay: 0.55s; }

        /* Checkmark tick */
        .tick::before {
            content: '✓';
            display: inline-block;
            color: hsl(162 78% 20%);
            font-weight: 700;
            margin-right: 0.5rem;
        }


/* === Sequential Bottom-Up DIV Reveal Animation === */
.scroll-reveal-up {
    opacity: 0;
    transform: translateY(28px);
    transition:
        opacity 400ms ease-out,
        transform 400ms ease-out;
    will-change: opacity, transform;
}

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

@media (prefers-reduced-motion: reduce) {
    .scroll-reveal-up {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}
/* === End Sequential Bottom-Up DIV Reveal Animation === */

/* === Gallery Cards Sequential Bottom-Up Reveal Animation === */
.gallery-card.gallery-card-reveal {
    opacity: 0;
    transform: translateY(32px);
    transition:
        opacity 400ms ease-out,
        transform 400ms ease-out;
    will-change: opacity, transform;
}

.gallery-card.gallery-card-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .gallery-card.gallery-card-reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        transition-delay: 0ms !important;
    }
}
/* === End Gallery Cards Sequential Bottom-Up Reveal Animation === */
