:root {
    /* ========== 主题色配置 ========== */
    --primary-color: #FF6B00;
    /* 主题色：改这里就能统一修改所有橙色 */
    --primary-dark: #E05E00;
    /* 主题色深色 */
    --primary-light: #FFF4E6;
    /* 主题色浅色背景 */

    /* ========== 字体大小配置 ========== */
    /* Header 顶部导航栏 */
    --font-logo: 1.25rem;
    /* Logo "Yestride" 字体大小 (默认 20px) */
    --font-company-name: 1.25rem;
    /* 公司中文名 "源踔科技" (默认 16px) */
    --font-nav-menu: 1.25rem;
    /* 导航菜单 "产品/案例/关于" (默认 16px) */
    --font-cta-button: 0.875rem;
    /* "立即咨询" 按钮 (默认 14px) */

    /* 内容区域 */
    --font-hero-title: 3rem;
    /* 主标题 */
    --font-hero-subtitle: 1.125rem;
    /* 副标题 (默认 18px) */
    --font-section-title: 1.875rem;
    /* 章节标题 "我们的产品" (默认 30px) */
    --font-card-title: 1.125rem;
    /* 卡片标题 (默认 18px) */
    --font-body: 0.875rem;
    /* 正文内容 (默认 14px) */

    /* 字重配置 */
    --weight-logo: 700;
    /* Logo 字重 */
    --weight-company-name: 500;
    /* 公司名字重 */
    --weight-nav-menu: 400;
    /* 菜单字重 */
}

/* 应用字体大小变量 */
.logo-text {
    font-size: var(--font-logo);
    font-weight: var(--weight-logo);
}

.company-name {
    font-size: var(--font-company-name);
    font-weight: var(--weight-company-name);
}

.nav-menu {
    font-size: var(--font-nav-menu);
    font-weight: var(--weight-nav-menu);
}

.cta-btn {
    font-size: var(--font-cta-button);
}

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

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

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

.card-title {
    font-size: var(--font-card-title);
}

.body-text {
    font-size: var(--font-body);
}

/* 如果想改成科技蓝，取消下面注释：
:root {
    --primary-color: #2563EB;
    --primary-dark: #1D4ED8;
    --primary-light: #EFF6FF;
}
*/

/* Header 布局优化 */
header .container>div {
    position: relative;
}

/* ========== 全屏分屏布局 ========== */
/* Hero + Tech Stack 占满第一屏 */
#home {
    min-height: calc(90vh - 64px);
    /* 100vh - header高度 */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

/* Tech Stack 固定在Hero底部 */
/* .tech-stack-section {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
} */

/* Hero内容容器 */
#home>.container {
    /* margin-top: -40px; */
    /* 微调，让内容更居中 */
}

/* 产品、案例、关于我们各占一屏 */
#products,
#cases,
#about {
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding-top: 4rem;
    padding-bottom: 4rem;
}


/* 移动端适配 */
@media (max-width: 768px) {

    #home,
    #products,
    #cases { /* #about removed from here */
        min-height: auto;
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    #about {
        min-height: auto;
        padding-top: 0 !important; /* Set padding-top to 0 for #about on mobile */
        padding-bottom: 3rem;
    }

    #cases-indicators {
        margin-top: 1rem; /* Ensure some space below carousel */
        padding-bottom: 1rem; /* Ensure padding if carousel is at bottom of viewport */
    }
}
/* Yestride 企业官网 - 全局样式 */

/* 网格背景 */
body {
    background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHBhdHRlcm4gaWQ9ImdyaWQiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHBhdGggZD0iTSAyMCAwIEwgMCAwIDAgMjAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2YwZjBmMCIgc3Ryb2tlLXdpZHRoPSIxIi8+PC9wYXR0ZXJuPjwvZGVmcz48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyaWQpIi8+PC9zdmc+');
    background-color: #ffffff;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;
}

/* 平滑滚动 */
html {
    scroll-behavior: smooth;
}

/* 容器 */
.container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 1rem;
}

/* 全局字体缩放到90% */
html {
    font-size: 14.4px; /* 16px * 0.9 = 14.4px */
}

.sidebar-link {
    font-size: var(--font-nav-menu);
}

/* 按钮样式 */
.btn-primary {
    background-color: var(--primary-color);
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 6px;
    font-weight: 500;
    transition: background-color 0.3s;
    display: inline-block;
    text-decoration: none;
}

.btn-primary:hover {
    background-color: var(--primary-dark);
}

.btn-secondary {
    background-color: white;
    color: #333333;
    padding: 0.75rem 1.5rem;
    border-radius: 6px;
    font-weight: 500;
    border: 1px solid #E0E0E0;
    transition: background-color 0.3s;
    display: inline-block;
    text-decoration: none;
}

.btn-secondary:hover {
    background-color: #F8F8F8;
}

/* 卡片样式 */
.card {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    height: 100%;
}

.card:hover {
    box-shadow: 0 8px 24px rgba(255, 107, 0, 0.15);
    transform: translateY(-4px);
}

/* 图标背景 */
.icon-bg-orange {
    background-color: var(--primary-light);
    color: var(--primary-color);
}

.icon-bg-blue {
    background-color: #EFF6FF;
    color: #3B82F6;
}

.icon-bg-green {
    background-color: #F0FDF4;
    color: #10B981;
}

.icon-bg-purple {
    background-color: #F5F3FF;
    color: #8B5CF6;
}

/* Header 阴影 */
.header-shadow {
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

/* Header 和 Footer 悬停效果 */
header:hover {
    box-shadow: 0 4px 12px rgba(255, 107, 0, 0.1) !important;
}

footer:hover {
    box-shadow: 0 -4px 12px rgba(255, 107, 0, 0.1) !important;
}

/* 图标悬停效果 */
.icon-container {
    transition: all 0.3s ease;
}

.card:hover .icon-container {
    background-color: var(--primary-light) !important;
}

.icon-container img {
    transition: all 0.3s ease;
    /* 将任何颜色的图标转为黑色 */
    filter: brightness(0) saturate(100%) opacity(0.8);
}

.card:hover .icon-container img {
    /* 悬停时转为橙色 */
    filter: brightness(0) saturate(100%) invert(48%) sepia(79%) saturate(2476%) hue-rotate(346deg) brightness(104%) contrast(107%);
}

/* Hero区域数字统计悬停效果 */
.stat-item:hover div {
    color: var(--primary-color) !important;
    cursor: pointer;
}

/* 主题色辅助类 */
.text-primary {
    color: var(--primary-color) !important;
}

.bg-primary {
    background-color: var(--primary-color) !important;
}

.bg-primary-light {
    background-color: var(--primary-light) !important;
}

.hover-primary:hover {
    color: var(--primary-color) !important;
}

/* 案例卡片样式 */
.case-card {
    background: white;
    border-radius: 16px;
    padding: 0;
    overflow: visible;
    transition: all 0.3s ease;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.case-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 24px rgba(255, 107, 0, 0.15);
}

.case-card .relative {
    border-radius: 16px 16px 0 0;
    overflow: hidden;
}

.case-card h3 {
    padding: 0 1.5rem;
}

.case-card p {
    padding: 0 1.5rem 1rem;
}

/* 16:9 宽屏比例 */
.aspect-video {
    aspect-ratio: 16 / 9;
}

/* 案例轮播导航按钮 */
.cases-nav-btn {
    box-shadow: none;
}

.cases-nav-btn:hover {
    box-shadow: 0 6px 30px rgba(255, 107, 0, 0.25);
}

.cases-nav-btn:active {
    box-shadow: 0 8px 40px rgba(255, 107, 0, 0.4);
}

.cases-nav-btn .absolute {
    background: linear-gradient(135deg, var(--primary-color), #ff8c3a);
}

.cases-nav-btn:hover .absolute {
    background: linear-gradient(135deg, #ff8c3a, var(--primary-color));
}

/* 案例指示器样式 - 简洁圆点 */
#cases-indicators {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
}

#cases-indicators .indicator {
    width: 8px;
    height: 8px;
    background: #D1D5DB;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
}

#cases-indicators .indicator.active {
    background: var(--primary-color);
    width: 10px;
    height: 10px;
}

#cases-indicators .indicator:hover:not(.active) {
    background: #9CA3AF;
}

/* 响应式 */
@media (max-width: 768px) {
    html {
        font-size: 80%; /* Scale down base font size for mobile */
    }
    header {
        /* padding-top: 1.5rem; */ /* 为移动端header添加顶部内边距，防止被系统UI遮挡 */
    }
    .container {
        padding: 0 1rem;
    }
    
    h1 {
        font-size: 2rem !important;
    }
    
    h2 {
        font-size: 1.75rem !important;
    }
    
    .case-card:hover {
        transform: translateY(-4px);
    }
}

/* Brand Logo Hover Effect */
.brand-logo {
    filter: grayscale(100%);
    transition: all 0.3s ease;
    border-radius: 8px; /* Match the shadow shape */
}

.brand-logo-row.active .brand-logo,
.brand-logo-row:hover .brand-logo {
    filter: grayscale(0%);
    box-shadow: 0 8px 24px rgba(255, 107, 0, 0.15);
}

/* Tech Stack hover effect */
.tech-item > div:first-child {
    transition: all 0.3s ease;
}

.tech-stack-section:hover .tech-item > div:first-child {
    background-color: var(--primary-color);
}

/* Visually hide content while keeping it accessible */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.home-icon img {
    transition: filter 0.3s ease;
    filter: invert(53%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(99%) contrast(85%);
    /* Approximate gray-500 */
}

.home-icon:hover img {
    filter: invert(53%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(99%) contrast(85%);
    /* Approximate gray-500 */
}

.job-card {
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    padding: 2rem;
    transition: all 0.3s ease;
}

.job-card:hover {
    border-color: #e5e7eb;
    box-shadow: 0 4px 12px rgba(255, 107, 0, 0.1);
}

.content-section {
    /* padding-bottom: 2rem;
    padding-top: 2rem; */
}