/*
Theme Name: Golden-KO
Theme URI: https://golden-ko.com
Author: GOLDEN & K
Author URI: https://golden-ko.com
Description: Custom WordPress theme for GOLDEN & K construction company. Supports custom Header and Footer HTML via Admin pages. Use the "Full-Page Template" page template to assemble any page with admin-managed header/footer and custom page content.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: Proprietary
License URI: https://golden-ko.com
Text Domain: golden-ko
Tags: construction, one-page, custom-header, custom-footer, full-width-template
*/

/* =====================================================
           DESIGN TOKENS
           ===================================================== */
        :root {
            /* Green palette */
            --clr-green-900: #0d3321;
            --clr-green-800: #1a5738;
            --clr-green-700: #2d7a4f;
            --clr-green-600: #3d9b64;
            --clr-green-100: #d1edd9;
            --clr-green-50: #f0faf4;

            /* Blue palette */
            --clr-blue-900: #0a1f3d;
            --clr-blue-800: #0f2d5a;
            --clr-blue-700: #1e4d8c;
            --clr-blue-100: #dce7f5;
            --clr-blue-50: #f0f4fa;

            /* Gold accents */
            --clr-gold-500: #f0a500;
            --clr-gold-400: #f5b833;
            --clr-gold-100: #fef3d7;

            /* Neutral grays */
            --clr-gray-900: #111827;
            --clr-gray-800: #1f2937;
            --clr-gray-700: #374151;
            --clr-gray-500: #6b7280;
            --clr-gray-400: #9ca3af;
            --clr-gray-300: #d1d5db;
            --clr-gray-200: #e5e7eb;
            --clr-gray-100: #f3f4f6;
            --clr-gray-50: #f9fafb;
            --clr-white: #ffffff;

            /* Shadows */
            --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
            --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.10), 0 2px 6px rgba(0, 0, 0, 0.06);
            --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.14), 0 4px 12px rgba(0, 0, 0, 0.08);

            /* Radii */
            --radius-sm: 6px;
            --radius-md: 12px;
            --radius-lg: 20px;

            /* Transitions */
            --t-base: 300ms ease;

            /* Layout */
            --container-max: 1200px;
            --section-py: 88px;
        }

        
/* =====================================================
           RESET & BASE
           ===================================================== */
        *,
        *::before,
        *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        html {
            scroll-behavior: smooth;
            font-size: 16px;
        }

        body {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            color: var(--clr-gray-800);
            background: var(--clr-white);
            line-height: 1.65;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            overflow-x: hidden;
        }

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

        
/* =====================================================
           LAYOUT UTILITIES
           ===================================================== */
        .container {
            width: 100%;
            max-width: var(--container-max);
            margin-inline: auto;
            padding-inline: clamp(16px, 5vw, 48px);
        }

        /* Shared section labels */
        .section-label {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: var(--clr-blue-700);
            background: var(--clr-blue-100);
            padding: 5px 14px;
            border-radius: 100px;
            margin-bottom: 16px;
        }

        .section-title {
            font-size: clamp(1.75rem, 4vw, 2.5rem);
            font-weight: 800;
            line-height: 1.18;
            color: var(--clr-gray-900);
            margin-bottom: 14px;
            letter-spacing: -0.02em;
        }

        .section-subtitle {
            font-size: 1.05rem;
            color: var(--clr-gray-500);
            line-height: 1.75;
            max-width: 580px;
        }

        
/* =====================================================
           SCROLL-REVEAL ANIMATION
           ===================================================== */
        .reveal {
            opacity: 0;
            transform: translateY(28px);
            transition: opacity 0.6s ease, transform 0.6s ease;
        }

        .reveal.visible {
            opacity: 1;
            transform: none;
        }

        .reveal-d1 {
            transition-delay: 0.10s;
        }

        .reveal-d2 {
            transition-delay: 0.20s;
        }

        .reveal-d3 {
            transition-delay: 0.30s;
        }

        
/* =====================================================
           HEADER
           ===================================================== */
        .site-header {
            position: fixed;
            inset-block-start: 0;
            inset-inline: 0;
            z-index: 100;
            padding-block: 20px;
            background: transparent;
            transition: background var(--t-base), box-shadow var(--t-base), padding var(--t-base);
        }

        .site-header.is-scrolled {
            background: rgba(255, 255, 255, 0.96);
            -webkit-backdrop-filter: blur(12px);
            backdrop-filter: blur(12px);
            box-shadow: 0 1px 0 var(--clr-gray-200), var(--shadow-sm);
            padding-block: 14px;
        }

        .site-header__inner {
            display: flex;
            align-items: center;
        }

        /* Logo */
        .logo {
            display: flex;
            align-items: center;
            gap: 12px;
            text-decoration: none;
        }

        .logo__icon {
            width: 42px;
            height: 42px;
            flex-shrink: 0;
        }

        .logo__text {
            display: flex;
            flex-direction: column;
            line-height: 1.1;
        }

        .logo__name {
            font-size: 1.3rem;
            font-weight: 800;
            color: var(--clr-white);
            letter-spacing: -0.02em;
            transition: color var(--t-base);
        }

        .logo__tagline {
            font-size: 0.68rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: rgba(255, 255, 255, 0.80);
            margin-top: 3px;
            transition: color var(--t-base);
        }

        /* When header turns white, switch logo text to dark */
        .site-header.is-scrolled .logo__name {
            color: var(--clr-blue-700);
        }

        .site-header.is-scrolled .logo__tagline {
            color: var(--clr-gray-600);
        }

        
/* =====================================================
           FOOTER
           ===================================================== */
        .site-footer {
            background: var(--clr-gray-900);
            color: rgba(255, 255, 255, 0.50);
            padding-block: 30px;
        }

        .site-footer__inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 14px;
        }

        .footer-logo {
            display: flex;
            align-items: center;
            gap: 10px;
            text-decoration: none;
        }

        .footer-logo__name {
            font-size: 1.05rem;
            font-weight: 700;
            color: var(--clr-white);
        }

        .site-footer__copy {
            font-size: 0.8rem;
        }
