
        :root {
            --primary-color: #22b18c;
            --secondary-color: #4ccfa8;
            --accent-color: #2ec4a0;
            --text-dark: #16332c;
            --text-light: #5d7b74;
            --bg-light: #f5fbf9;
            --white: #ffffff;
            --gradient-primary: linear-gradient(135deg, #22b18c 0%, #4ccfa8 100%);
            --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
            --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
            --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
            --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Inter', 'Source Han Sans CN', 'Noto Sans SC', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
            line-height: 1.6;
            color: var(--text-dark);
            overflow-x: hidden;
        }

        h1, h2, h3, h4, h5, h6 {
            font-family: 'Inter', 'Source Han Sans CN', 'Noto Sans SC', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
            font-weight: 600;
        }

        /* Navigation */
        .navbar-brand {
            font-family: 'Inter', 'Source Han Sans CN', 'Noto Sans SC', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
            font-weight: 700;
            font-size: 1.5rem;
            color: var(--primary-color) !important;
        }

        .navbar-nav .nav-item:not(.nav-parents):not(.nav-evaluation) .nav-link {
            font-weight: 500;
            color: #333333 !important;
            margin: 0 2px;
            padding: 8px 12px !important;
            border-radius: 8px;
            transition: all 0.3s ease;
        }

        /* 强力锁定“家长成长营”和“测评中心”一级菜单样式逻辑 */
        .navbar-nav .nav-item.nav-parents .nav-link,
        .navbar-nav .nav-item.nav-evaluation .nav-link {
            font-weight: 500;
            color: #333333 !important;
            margin: 0 2px;
            padding: 8px 12px !important;
            border-radius: 8px;
            transition: all 0.3s ease;
        }
        .navbar-nav .nav-item.nav-parents .nav-link span,
        .navbar-nav .nav-item.nav-evaluation .nav-link span {
            color: inherit;
            font-weight: inherit;
        }

        /* 家长成长营：紫色交互 */
        .navbar-nav .nav-item.nav-parents .nav-link:hover,
        .navbar-nav .nav-item.nav-parents .nav-link.active,
        .navbar-nav .nav-item.nav-parents .nav-link.show {
            color: #7c3aed !important;
        }
        .navbar-nav .nav-item.nav-parents .nav-link:hover span,
        .navbar-nav .nav-item.nav-parents .nav-link.active span,
        .navbar-nav .nav-item.nav-parents .nav-link.show span {
            color: #7c3aed !important;
        }

        /* 测评中心：橙色交互 */
        .navbar-nav .nav-item.nav-evaluation .nav-link:hover,
        .navbar-nav .nav-item.nav-evaluation .nav-link.active,
        .navbar-nav .nav-item.nav-evaluation .nav-link.show {
            color: #f97316 !important;
        }
        .navbar-nav .nav-item.nav-evaluation .nav-link:hover span,
        .navbar-nav .nav-item.nav-evaluation .nav-link.active span,
        .navbar-nav .nav-item.nav-evaluation .nav-link.show span {
            color: #f97316 !important;
        }

        .navbar-nav .nav-item:not(.nav-parents):not(.nav-evaluation) .nav-link:hover,
        .navbar-nav .nav-item:not(.nav-parents):not(.nav-evaluation) .nav-link.active {
            color: #22b18c !important;
            background-color: transparent !important;
        }


        .navbar-nav .nav-item.ms-3 {
            margin-left: 1rem !important; 
        }

        @media (max-width: 1199.98px) {
        .navbar-nav .nav-link {
            padding: 0.5rem 0.5rem;
            font-size: 14px;
         }

        .navbar-nav .btn {
            font-size: 14px;
            padding: 0.35rem 0.8rem;
         }
        }
        .btn-primary {
            background: var(--gradient-primary);
            border: none;
            padding: 12px 30px;
            border-radius: 50px;
            font-weight: 600;
            transition: all 0.3s ease;
        }

        .btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: var(--shadow-lg);
        }

        /* Contact Section */
        .contact-section {
            padding: 30px 0 100px; /* 减小顶部间距，从 100px 降至 30px */
            background: var(--bg-light);
        }

        .contact-form {
            background: var(--white);
            border-radius: 20px;
            padding: 50px;
            box-shadow: var(--shadow-lg);
            margin-bottom: 30px;
        }

        .form-control {
            border: 2px solid #d9ece5;
            border-radius: 10px;
            padding: 15px;
            font-size: 1rem;
            transition: border-color 0.3s ease;
        }

        .form-control:focus {
            border-color: var(--primary-color);
            box-shadow: 0 0 0 0.2rem rgba(34,177,140, 0.25);
        }

        .contact-info {
            background: var(--white);
            border-radius: 20px;
            padding: 40px;
            box-shadow: var(--shadow-lg);
        }

        .contact-item {
            display: flex;
            align-items: center;
            margin-bottom: 30px;
            padding: 20px;
            background: var(--bg-light);
            border-radius: 15px;
            transition: all 0.3s ease;
        }

        .contact-item:hover {
            transform: translateY(-5px);
            box-shadow: var(--shadow-md);
        }

        .contact-icon {
            width: 60px;
            height: 60px;
            background: var(--gradient-primary);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 1.5rem;
            margin-right: 20px;
            box-shadow: var(--shadow-md);
            flex-shrink: 0; /* prevents shrinking in flex layouts */
        }

/* Tablet (iPad) responsive */
        @media (max-width: 991px) {
        .contact-icon {
            width: 50px;
            height: 50px;
            font-size: 1.25rem;
            margin-right: 15px;
          }
        }

/* Mobile responsive */
        @media (max-width: 575px) {
        .contact-icon {
            width: 45px;
            height: 45px;
            font-size: 1.1rem;
            margin-right: 10px;
        }
    }

/* Specific fix for iPad Pro (width: 1024px) */
        @media (max-width: 1024px) {
        .contact-icon {
            width: 50px;
            height: 50px;
            font-size: 1.25rem;
            margin-right: 15px;
        }
    }



        .map-container {
            background: var(--white);
            border-radius: 20px;
            overflow: hidden;
            box-shadow: var(--shadow-lg);
            margin-top: 30px;
        }

        .map-placeholder {
            width: 100%;
            height: 400px;
            background: var(--bg-light);
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--text-light);
            font-size: 1.2rem;
        }

        /* Footer */
        .footer {
            background: var(--gradient-primary);
            color: white;
            padding: 80px 0 80px;
        }

        .footer h5 {
            color: white;
            margin-bottom: 20px;
        }

        .footer a {
            color: rgba(255, 255, 255, 0.8);
            text-decoration: none;
            transition: color 0.3s ease;
        }

        .footer a:hover {
            color: white;
        }

        /* Responsive */
        @media (max-width: 768px) {
            .contact-section {
                padding: 40px 0 !important;
            }

            /* 移除冗余的 .page-header padding，统一使用 common.css 中的定义以保持高度一致 */
            /* .page-header {
                padding: 90px 0 20px !important;
            } */

            /* 进一步缩小标题区域的上下间距 */
            .row.text-center.mb-4,
            .row.text-center.mb-5 {
                margin-top: 10px !important;
                margin-bottom: 1.25rem !important;
            }

            .display-5 {
                font-size: 1.75rem !important;
            }

            .lead {
                font-size: 1rem !important;
                margin-bottom: 0.5rem !important;
            }
            
            .page-header h1 {
                font-size: 1.5rem;
            }
            
            .contact-form,
            .contact-info {
                padding: 30px 20px;
                margin-bottom: 30px;
            }
            
            .contact-item {
                flex-direction: column;
                text-align: center;
            }
            
            .contact-icon {
                margin-right: 0;
                margin-bottom: 15px;
            }
        }

        /* Animations */
        .fade-in {
            opacity: 0;
            transform: translateY(30px);
            transition: all 0.6s ease;
        }

        .fade-in.visible {
            opacity: 1;
            transform: translateY(0);
        }
