/* Page: contact */

:root {
            --primary-gold: #F5C745;
            --secondary-green: #2A5F2E;
            --bg-cream: #FAFAF8;
            --text-dark: #1A1A1A;
            --text-gray: #555555;
            --light-gray: #f4f4f4;
            --font-main: 'Noto Sans SC', sans-serif;
            --transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        }
        
        body { 
            font-family: var(--font-main); 
            
            background-color: #1a472a;  
            
            background-image: 
                radial-gradient(circle at 20% 40%, rgba(245, 199, 69, 0.7) 1.5px, transparent 1.5px),
                radial-gradient(circle at 70% 85%, rgba(200, 230, 150, 0.6) 2px, transparent 2px),
                radial-gradient(circle at 45% 20%, rgba(255, 215, 120, 0.5) 1px, transparent 1px);
            background-size: 180px 180px, 300px 300px, 120px 120px;
            background-repeat: repeat;
            background-position: 0 0, 0 0, 0 0;
            animation: dotFlow 24s linear infinite;  
            background-attachment: fixed;
            color: var(--text-dark); 
            line-height: 1.6; 
            padding-top: 80px; 
            overflow-x: hidden;
        }
        
        
        @keyframes dotFlow {
            0% {
                background-position: 0 0, 0 0, 0 0;
            }
            25% {
                background-position: 60px 40px, -30px 70px, 40px -20px;
            }
            50% {
                background-position: 120px 80px, -70px 140px, 80px -50px;
            }
            75% {
                background-position: 60px 120px, -30px 210px, 40px -80px;
            }
            100% {
                background-position: 0 160px, 0 280px, 0 0;
            }
        }

        
        .contact__contact-header {
            text-align: center;
            padding: 2rem 1.5rem 1.2rem;
        }
        .contact__contact-header h1 {
            font-size: 2.6rem;
            font-weight: 700;
            color: white;
            text-shadow: 0 2px 12px rgba(0,0,0,0.3);
            letter-spacing: -0.3px;
        }
        .contact__contact-header p {
            font-size: 1.1rem;
            color: #F9FCE6;
            background: rgba(42, 95, 46, 0.55);
            backdrop-filter: blur(4px);
            display: inline-block;
            padding: 0.3rem 1.6rem;
            border-radius: 60px;
            margin-top: 0.8rem;
            font-weight: 500;
        }

        
        .contact__contact-container {
            max-width: 1280px;
            margin: 1.5rem auto 4rem;
            padding: 0 5%;
        }
        .contact__contact-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 2.5rem;
        }

        
        .contact__contact-card {
            background: rgba(255, 255, 245, 0.86);
            backdrop-filter: blur(8px);
            border-radius: 2rem;
            padding: 2.2rem 2rem 2.5rem;
            border: 1px solid rgba(245, 199, 69, 0.5);
            transition: var(--transition);
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
        }
        .contact__contact-card:hover {
            transform: translateY(-6px);
            background: rgba(255, 255, 250, 0.94);
            box-shadow: 0 20px 32px -12px rgba(0, 0, 0, 0.18);
            border-color: var(--primary-gold);
        }

        
        .contact__card-badge {
            display: inline-block;
            background: rgba(42, 95, 46, 0.15);
            color: var(--secondary-green);
            font-weight: 600;
            font-size: 0.75rem;
            letter-spacing: 0.5px;
            padding: 0.3rem 1rem;
            border-radius: 40px;
            margin-bottom: 1.2rem;
        }
        .contact__contact-card h2 {
            font-size: 1.9rem;
            font-weight: 700;
            color: var(--secondary-green);
            margin-bottom: 0.5rem;
            letter-spacing: -0.2px;
        }
        .contact__org-sub {
            font-size: 0.9rem;
            font-weight: 500;
            color: #3B6E3F;
            background: rgba(245, 199, 69, 0.2);
            display: inline-block;
            padding: 0.2rem 1rem;
            border-radius: 30px;
            margin-bottom: 1.6rem;
        }

        
        .contact__contact-info {
            margin: 1.5rem 0 2rem;
            display: flex;
            flex-direction: column;
            gap: 1.2rem;
        }
        .contact__info-row {
            display: flex;
            align-items: center;
            gap: 1rem;
            flex-wrap: wrap;
            border-bottom: 1px solid rgba(0,0,0,0.05);
            padding-bottom: 0.8rem;
        }
        .contact__info-icon {
            width: 36px;
            font-size: 1.5rem;
            text-align: center;
            color: var(--secondary-green);
        }
        .contact__info-text {
            flex: 1;
        }
        .contact__info-label {
            font-size: 0.7rem;
            text-transform: uppercase;
            color: #6F7A62;
            letter-spacing: 0.8px;
        }
        .contact__info-value {
            font-size: 1.05rem;
            font-weight: 540;
            color: #1F2F1C;
            word-break: break-all;
        }
        .contact__info-value a {
            color: #2A5F2E;
            font-weight: 600;
            transition: 0.2s;
        }
        .contact__info-value a:hover {
            color: #C48B2B;
            text-decoration: underline;
        }

        
        .contact__qr-wrapper {
            margin-top: 1.2rem;
            background: rgba(255, 252, 240, 0.7);
            border-radius: 1.5rem;
            padding: 1.2rem 0.8rem;
            text-align: center;
            transition: var(--transition);
            border: 1px solid rgba(245, 199, 69, 0.4);
        }
        .contact__qr-title {
            font-size: 0.85rem;
            font-weight: 600;
            color: var(--secondary-green);
            margin-bottom: 0.8rem;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
        }
        .contact__qr-img {
            display: flex;
            justify-content: center;
            margin: 0 auto 0.6rem;
        }
        .contact__qr-code {
            width: 130px;
            height: 130px;
            background: #fff;
            border-radius: 20px;
            padding: 6px;
            box-shadow: 0 6px 14px rgba(0,0,0,0.08);
            transition: transform 0.2s;
        }
        .contact__qr-code img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            border-radius: 14px;
        }
        .contact__qr-note {
            font-size: 0.7rem;
            color: #6C8263;
            background: #FCF9F0;
            display: inline-block;
            padding: 0.2rem 0.8rem;
            border-radius: 30px;
            margin-top: 6px;
        }
        nav {
            margin-left: auto;
        }
        @media (max-width: 860px) {
            .site-header--static { min-height: auto; gap: 0; }
            .site-header__menu { gap: 14px; }
            .site-header__link { font-size: 0.88rem; }
        }

        
        @media (max-width: 850px) {
            .contact__contact-grid {
                grid-template-columns: 1fr;
                gap: 1.8rem;
            }
            .contact__contact-header h1 {
                font-size: 2rem;
            }
            .contact__contact-card h2 {
                font-size: 1.7rem;
            }
            .contact__info-value {
                font-size: 0.95rem;
            }
            .contact__qr-code {
                width: 110px;
                height: 110px;
            }
        }
        @media (max-width: 680px) {
            body {
                padding-top: 70px;
            }
            .site-header__menu {
                gap: 18px;
            }
            .site-header__link {
                font-size: 0.9rem;
            }
            .site-header__brand {
                font-size: 1.5rem;
            }
            .contact__contact-card {
                padding: 1.5rem;
            }
        }

        
        [data-aos] {
            transition-timing-function: cubic-bezier(0.2, 0.9, 0.4, 1.1);
        }
        img { max-width: 100%; vertical-align: middle; }

        @media (max-width: 768px) {
            .contact__contact-header {
                padding: 1.5rem 5% 1rem;
            }

            .contact__contact-header h1 {
                font-size: 2rem;
                line-height: 1.25;
            }

            .contact__contact-header p {
                max-width: 100%;
                font-size: 0.92rem;
                line-height: 1.6;
                border-radius: 22px;
            }

            .contact__contact-container {
                margin: 1.2rem auto 3rem;
            }

            .contact__contact-card {
                border-radius: 1.45rem;
            }

            .contact__info-row {
                align-items: flex-start;
                flex-wrap: nowrap;
            }

            .contact__info-icon {
                flex: 0 0 32px;
            }
        }

        @media (max-width: 480px) {
            .contact__contact-header h1 {
                font-size: 1.7rem;
            }

            .contact__contact-card {
                padding: 1.25rem;
            }

            .contact__contact-card h2 {
                font-size: 1.45rem;
            }

            .contact__info-value {
                font-size: 0.9rem;
            }
        }
