/* ===========================
   千兮财税 - 官网样式
   =========================== */

/* ---------- Reset & Base ---------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

.page-hero {
      background: linear-gradient(135deg, #1a365d 0%, #2c5282 50%, #3182ce 100%);
      padding: 80px 0 60px;
      position: relative;
      overflow: hidden;
    }
    .page-hero::before {
      content: '';
      position: absolute;
      top: -50%;
      right: -10%;
      width: 600px;
      height: 600px;
      background: radial-gradient(circle, rgba(255,255,255,0.05) 0%, transparent 70%);
      border-radius: 50%;
    }
    .page-hero .breadcrumb {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 14px;
      color: rgba(255,255,255,0.7);
      margin-bottom: 20px;
    }
    .page-hero .breadcrumb a {
      color: rgba(255,255,255,0.7);
      text-decoration: none;
      transition: color 0.3s;
    }
    .page-hero .breadcrumb a:hover { color: #fff; }
    .page-hero .breadcrumb span { opacity: 0.5; }
    .page-hero h1 {
      font-size: 42px;
      font-weight: 700;
      color: #fff;
      margin-bottom: 16px;
      line-height: 1.3;
    }
    .page-hero .page-hero-sub {
      font-size: 18px;
      color: rgba(255,255,255,0.85);
      max-width: 600px;
      line-height: 1.7;
    }
    .page-hero-tags {
      display: flex;
      gap: 12px;
      margin-top: 24px;
      flex-wrap: wrap;
    }
    .page-hero-tag {
      background: rgba(255,255,255,0.15);
      backdrop-filter: blur(10px);
      border: 1px solid rgba(255,255,255,0.2);
      color: #fff;
      padding: 6px 16px;
      border-radius: 20px;
      font-size: 14px;
      display: flex;
      align-items: center;
      gap: 6px;
    }
    .page-hero-tag svg { width: 14px; height: 14px; }

    /* ===== INTRO STATS ===== */
    .intro-stats {
      background: #fff;
      padding: 50px 0;
      border-bottom: 1px solid #e8f4fd;
    }
    .stats-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 30px;
    }
    .stat-item {
      text-align: center;
      padding: 20px;
      border-radius: 12px;
      transition: all 0.3s;
    }
    .stat-item:hover {
      background: #f7fafc;
      transform: translateY(-4px);
    }
    .stat-number {
      font-size: 42px;
      font-weight: 700;
      color: #2c5282;
      line-height: 1;
      margin-bottom: 8px;
    }
    .stat-number span { font-size: 24px; }
    .stat-label {
      font-size: 15px;
      color: #718096;
      font-weight: 400;
    }

    /* ===== CORE ADVANTAGES ===== */
    .core-advantages {
      padding: 80px 0;
      background: linear-gradient(180deg, #f7fafc 0%, #fff 100%);
    }
    .section-header {
      text-align: center;
      margin-bottom: 50px;
    }
    .section-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: linear-gradient(135deg, #ebf8ff, #e6fffa);
      color: #2c5282;
      padding: 6px 16px;
      border-radius: 20px;
      font-size: 13px;
      font-weight: 600;
      margin-bottom: 16px;
      border: 1px solid rgba(44,82,130,0.1);
    }
    .section-title {
      font-size: 34px;
      font-weight: 700;
      color: #1a365d;
      margin-bottom: 12px;
    }
    .section-desc {
      font-size: 16px;
      color: #718096;
      max-width: 560px;
      margin: 0 auto;
      line-height: 1.7;
    }
    .advantages-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 30px;
    }
    .advantage-card {
      background: #fff;
      border-radius: 16px;
      padding: 36px;
      border: 1px solid #e2e8f0;
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      position: relative;
      overflow: hidden;
    }
    .advantage-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 4px;
      background: linear-gradient(90deg, #2c5282, #3182ce, #38b2ac);
      opacity: 0;
      transition: opacity 0.3s;
    }
    .advantage-card:hover {
      border-color: #bee3f8;
      box-shadow: 0 12px 40px rgba(44,82,130,0.12);
      transform: translateY(-4px);
    }
    .advantage-card:hover::before { opacity: 1; }
    .advantage-icon {
      width: 56px;
      height: 56px;
      border-radius: 14px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 20px;
      position: relative;
    }
    .advantage-icon svg {
      width: 28px;
      height: 28px;
    }
    .advantage-icon.blue {
      background: linear-gradient(135deg, #ebf8ff, #bee3f8);
      color: #2c5282;
    }
    .advantage-icon.teal {
      background: linear-gradient(135deg, #e6fffa, #b2f5ea);
      color: #2c7a7b;
    }
    .advantage-icon.purple {
      background: linear-gradient(135deg, #faf5ff, #e9d8fd);
      color: #6b46c1;
    }
    .advantage-icon.orange {
      background: linear-gradient(135deg, #fffaf0, #feebc8);
      color: #c05621;
    }
    .advantage-icon.green {
      background: linear-gradient(135deg, #f0fff4, #c6f6d5);
      color: #276749;
    }
    .advantage-icon.red {
      background: linear-gradient(135deg, #fff5f5, #fed7d7);
      color: #c53030;
    }
    .advantage-card h3 {
      font-size: 20px;
      font-weight: 600;
      color: #1a365d;
      margin-bottom: 12px;
    }
    .advantage-card p {
      font-size: 15px;
      color: #4a5568;
      line-height: 1.7;
      margin-bottom: 16px;
    }
    .advantage-tags {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
    .adv-tag {
      background: #f7fafc;
      color: #4a5568;
      padding: 4px 12px;
      border-radius: 12px;
      font-size: 12px;
      border: 1px solid #e2e8f0;
    }

    /* ===== BRAND STORY ===== */
    .brand-story {
      padding: 80px 0;
      background: #1a365d;
      color: #fff;
      position: relative;
      overflow: hidden;
    }
    .brand-story::before {
      content: '';
      position: absolute;
      top: -100px;
      right: -100px;
      width: 500px;
      height: 500px;
      background: radial-gradient(circle, rgba(49,130,206,0.2) 0%, transparent 70%);
      border-radius: 50%;
    }
    .brand-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 60px;
      align-items: center;
    }
    .brand-left h2 {
      font-size: 34px;
      font-weight: 700;
      margin-bottom: 20px;
      line-height: 1.4;
    }
    .brand-left h2 em {
      color: #63b3ed;
      font-style: normal;
    }
    .brand-left p {
      font-size: 16px;
      color: rgba(255,255,255,0.75);
      line-height: 1.8;
      margin-bottom: 16px;
    }
    .brand-values {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin-top: 28px;
    }
    .brand-value {
      background: rgba(255,255,255,0.06);
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 12px;
      padding: 16px;
    }
    .brand-value h4 {
      font-size: 15px;
      font-weight: 600;
      margin-bottom: 6px;
      color: #90cdf4;
    }
    .brand-value p {
      font-size: 13px;
      color: rgba(255,255,255,0.6);
      margin: 0;
      line-height: 1.6;
    }
    .brand-right {
      position: relative;
    }
    .brand-card-stack {
      position: relative;
      height: 400px;
    }
    .stack-card {
      position: absolute;
      background: rgba(255,255,255,0.08);
      backdrop-filter: blur(20px);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 16px;
      padding: 24px;
      width: 85%;
      transition: all 0.4s;
    }
    .stack-card:nth-child(1) {
      top: 0;
      right: 0;
      animation: floatCard 6s ease-in-out infinite;
    }
    .stack-card:nth-child(2) {
      top: 80px;
      left: 0;
      animation: floatCard 6s ease-in-out infinite 1s;
    }
    .stack-card:nth-child(3) {
      top: 160px;
      right: 20px;
      animation: floatCard 6s ease-in-out infinite 2s;
    }
    @keyframes floatCard {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-10px); }
    }
    .stack-card-num {
      font-size: 12px;
      color: #63b3ed;
      font-weight: 600;
      margin-bottom: 8px;
    }
    .stack-card h4 {
      font-size: 16px;
      font-weight: 600;
      margin-bottom: 6px;
    }
    .stack-card p {
      font-size: 13px;
      color: rgba(255,255,255,0.6);
      margin: 0;
      line-height: 1.6;
    }

    /* ===== COMPLIANCE SECTION ===== */
    .compliance-section {
      padding: 80px 0;
      background: #fff;
    }
    .compliance-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 50px;
      align-items: center;
    }
    .compliance-left .section-tag { margin-bottom: 12px; }
    .compliance-left h2 {
      font-size: 32px;
      font-weight: 700;
      color: #1a365d;
      margin-bottom: 16px;
      line-height: 1.4;
    }
    .compliance-left > p {
      font-size: 15px;
      color: #4a5568;
      line-height: 1.8;
      margin-bottom: 28px;
    }
    .compliance-list {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }
    .compliance-item {
      display: flex;
      gap: 16px;
      align-items: flex-start;
    }
    .compliance-check {
      width: 28px;
      height: 28px;
      min-width: 28px;
      background: linear-gradient(135deg, #48bb78, #38a169);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      margin-top: 2px;
    }
    .compliance-check svg { width: 14px; height: 14px; }
    .compliance-item h4 {
      font-size: 15px;
      font-weight: 600;
      color: #2d3748;
      margin-bottom: 4px;
    }
    .compliance-item p {
      font-size: 14px;
      color: #718096;
      margin: 0;
      line-height: 1.6;
    }
    .compliance-right {
      position: relative;
    }
    .compliance-visual {
      background: linear-gradient(135deg, #ebf8ff, #e6fffa);
      border-radius: 20px;
      padding: 40px;
      position: relative;
      overflow: hidden;
    }
    .compliance-visual::before {
      content: '';
      position: absolute;
      bottom: -40px;
      right: -40px;
      width: 200px;
      height: 200px;
      background: radial-gradient(circle, rgba(44,82,130,0.1) 0%, transparent 70%);
    }
    .shield-icon {
      width: 80px;
      height: 80px;
      background: linear-gradient(135deg, #2c5282, #3182ce);
      border-radius: 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 24px;
      color: #fff;
    }
    .shield-icon svg { width: 40px; height: 40px; }
    .compliance-badges {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
    }
    .badge-item {
      text-align: center;
      padding: 16px 8px;
      background: #fff;
      border-radius: 12px;
      border: 1px solid #e2e8f0;
    }
    .badge-icon {
      width: 40px;
      height: 40px;
      margin: 0 auto 8px;
      background: #f7fafc;
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .badge-icon svg { width: 20px; height: 20px; color: #2c5282; }
    .badge-item span {
      font-size: 12px;
      color: #4a5568;
      font-weight: 500;
      display: block;
    }

    /* ===== DOUYIN SECTION ===== */
    .douyin-section {
      padding: 80px 0;
      background: linear-gradient(180deg, #f7fafc 0%, #fff 100%);
      overflow: hidden;
    }
    .douyin-header {
      text-align: center;
      margin-bottom: 50px;
    }
    .douyin-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: linear-gradient(135deg, #fff5f5, #fed7d7);
      color: #c53030;
      padding: 6px 16px;
      border-radius: 20px;
      font-size: 13px;
      font-weight: 600;
      margin-bottom: 16px;
      border: 1px solid rgba(197,48,48,0.15);
    }
    .douyin-header h2 {
      font-size: 32px;
      font-weight: 700;
      color: #1a365d;
      margin-bottom: 12px;
    }
    .douyin-header p {
      font-size: 16px;
      color: #718096;
      max-width: 520px;
      margin: 0 auto;
      line-height: 1.7;
    }
    .douyin-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 50px;
      align-items: center;
    }
    .douyin-left {
      position: relative;
    }
    .douyin-phone {
      background: #1a1a2e;
      border-radius: 36px;
      padding: 12px;
      max-width: 280px;
      margin: 0 auto;
      box-shadow: 0 20px 60px rgba(0,0,0,0.2);
    }
    .phone-screen {
      background: linear-gradient(180deg, #16161e 0%, #0f0f17 100%);
      border-radius: 28px;
      overflow: hidden;
      min-height: 480px;
      position: relative;
    }
    .phone-header-bar {
      background: rgba(255,255,255,0.05);
      padding: 8px 16px;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .phone-notch {
      width: 80px;
      height: 24px;
      background: #000;
      border-radius: 0 0 12px 12px;
      margin: 0 auto;
    }
    .douyin-content {
      padding: 16px;
    }
    .video-placeholder {
      background: linear-gradient(135deg, #fe2c55, #25f4ee);
      border-radius: 12px;
      height: 320px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      gap: 8px;
      color: #fff;
      position: relative;
      overflow: hidden;
    }
    .video-placeholder::before {
      content: '';
      position: absolute;
      inset: 0;
      background: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 10px,
        rgba(0,0,0,0.05) 10px,
        rgba(0,0,0,0.05) 20px
      );
    }
    .play-icon {
      width: 60px;
      height: 60px;
      background: rgba(255,255,255,0.2);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 2px solid rgba(255,255,255,0.4);
      position: relative;
      z-index: 1;
    }
    .play-icon svg { width: 24px; height: 24px; }
    .video-placeholder span {
      font-size: 14px;
      font-weight: 500;
      position: relative;
      z-index: 1;
    }
    .phone-side-btns {
      position: absolute;
      right: -6px;
      top: 80px;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .side-btn {
      width: 3px;
      height: 20px;
      background: #2d3748;
      border-radius: 0 2px 2px 0;
    }
    .side-btn:nth-child(2) { height: 40px; }
    .side-btn:nth-child(3) { height: 14px; }
    .phone-vol {
      position: absolute;
      left: -6px;
      top: 100px;
      width: 3px;
      height: 30px;
      background: #2d3748;
      border-radius: 2px 0 0 2px;
    }
    .douyin-right h2 {
      font-size: 28px;
      font-weight: 700;
      color: #1a365d;
      margin-bottom: 16px;
      line-height: 1.4;
    }
    .douyin-right > p {
      font-size: 15px;
      color: #4a5568;
      line-height: 1.8;
      margin-bottom: 24px;
    }
    .douyin-features {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }
    .df-item {
      display: flex;
      gap: 16px;
      align-items: flex-start;
      padding: 16px;
      background: #fff;
      border-radius: 12px;
      border: 1px solid #e2e8f0;
      transition: all 0.3s;
    }
    .df-item:hover {
      border-color: #fe2c55;
      box-shadow: 0 4px 20px rgba(254,44,85,0.08);
    }
    .df-icon {
      width: 44px;
      height: 44px;
      min-width: 44px;
      background: linear-gradient(135deg, #fff5f5, #fed7d7);
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #c53030;
    }
    .df-icon svg { width: 22px; height: 22px; }
    .df-item h4 {
      font-size: 15px;
      font-weight: 600;
      color: #2d3748;
      margin-bottom: 4px;
    }
    .df-item p {
      font-size: 13px;
      color: #718096;
      margin: 0;
      line-height: 1.6;
    }

    /* ===== TEAM SECTION ===== */
    .team-section {
      padding: 80px 0;
      background: #fff;
    }
    .team-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 30px;
    }
    .team-card {
      background: #fff;
      border-radius: 16px;
      border: 1px solid #e2e8f0;
      padding: 32px;
      text-align: center;
      transition: all 0.4s;
      position: relative;
      overflow: hidden;
    }
    .team-card:hover {
      border-color: #bee3f8;
      box-shadow: 0 8px 30px rgba(44,82,130,0.1);
      transform: translateY(-4px);
    }
    .team-avatar {
      width: 80px;
      height: 80px;
      border-radius: 50%;
      margin: 0 auto 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 28px;
      font-weight: 700;
      color: #fff;
    }
    .team-card h3 {
      font-size: 18px;
      font-weight: 600;
      color: #1a365d;
      margin-bottom: 4px;
    }
    .team-title {
      font-size: 13px;
      color: #3182ce;
      font-weight: 500;
      margin-bottom: 12px;
    }
    .team-desc {
      font-size: 14px;
      color: #718096;
      line-height: 1.7;
    }
    .team-cert {
      display: flex;
      justify-content: center;
      gap: 8px;
      margin-top: 16px;
      flex-wrap: wrap;
    }
    .cert-tag {
      background: #f7fafc;
      color: #4a5568;
      padding: 3px 10px;
      border-radius: 10px;
      font-size: 11px;
      border: 1px solid #e2e8f0;
    }

    /* ===== PROCESS ===== */
    .process-section {
      padding: 80px 0;
      background: linear-gradient(180deg, #f7fafc 0%, #fff 100%);
    }
    .process-steps {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
      position: relative;
    }
    .process-steps::before {
      content: '';
      position: absolute;
      top: 36px;
      left: 12%;
      right: 12%;
      height: 2px;
      background: linear-gradient(90deg, #bee3f8, #38b2ac, #9f7aea, #fc8181);
      z-index: 0;
    }
    .process-step {
      text-align: center;
      position: relative;
      z-index: 1;
    }
    .step-num {
      width: 72px;
      height: 72px;
      border-radius: 50%;
      background: #fff;
      border: 3px solid #3182ce;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 16px;
      font-size: 22px;
      font-weight: 700;
      color: #3182ce;
      transition: all 0.3s;
    }
    .process-step:hover .step-num {
      background: #3182ce;
      color: #fff;
      transform: scale(1.1);
    }
    .process-step h4 {
      font-size: 16px;
      font-weight: 600;
      color: #1a365d;
      margin-bottom: 8px;
    }
    .process-step p {
      font-size: 13px;
      color: #718096;
      line-height: 1.6;
    }

    /* ===== CTA SECTION ===== */
    .cta-section {
      padding: 80px 0;
      background: linear-gradient(135deg, #1a365d 0%, #2c5282 50%, #2b6cb0 100%);
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .cta-section::before {
      content: '';
      position: absolute;
      top: -50%;
      left: -20%;
      width: 500px;
      height: 500px;
      background: radial-gradient(circle, rgba(49,130,206,0.3) 0%, transparent 70%);
      border-radius: 50%;
    }
    .cta-section h2 {
      font-size: 34px;
      font-weight: 700;
      color: #fff;
      margin-bottom: 16px;
      position: relative;
    }
    .cta-section p {
      font-size: 17px;
      color: rgba(255,255,255,0.8);
      margin-bottom: 32px;
      position: relative;
    }
    .cta-buttons {
      display: flex;
      gap: 16px;
      justify-content: center;
      position: relative;
    }
    .btn-white {
      background: #fff;
      color: #2c5282;
      padding: 14px 36px;
      border-radius: 50px;
      font-weight: 600;
      font-size: 16px;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      transition: all 0.3s;
      border: none;
      cursor: pointer;
    }
    .btn-white:hover {
      background: #ebf8ff;
      transform: translateY(-2px);
      box-shadow: 0 8px 30px rgba(0,0,0,0.2);
    }
    .btn-outline-white {
      background: transparent;
      color: #fff;
      padding: 14px 36px;
      border-radius: 50px;
      font-weight: 600;
      font-size: 16px;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      transition: all 0.3s;
      border: 2px solid rgba(255,255,255,0.4);
      cursor: pointer;
    }
    .btn-outline-white:hover {
      background: rgba(255,255,255,0.1);
      border-color: #fff;
    }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 1024px) {
      .brand-grid, .compliance-grid, .douyin-grid {
        grid-template-columns: 1fr;
        gap: 40px;
      }
      .advantages-grid { grid-template-columns: 1fr; }
      .stats-grid { grid-template-columns: repeat(2, 1fr); }
      .team-grid { grid-template-columns: repeat(2, 1fr); }
      .process-steps { grid-template-columns: repeat(2, 1fr); gap: 30px; }
      .process-steps::before { display: none; }
    }
    @media (max-width: 768px) {
      .page-hero h1 { font-size: 30px; }
      .section-title { font-size: 26px; }
      .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
      .stat-number { font-size: 32px; }
      .team-grid { grid-template-columns: 1fr; }
      .process-steps { grid-template-columns: 1fr; }
      .cta-buttons { flex-direction: column; align-items: center; }
      .brand-values { grid-template-columns: 1fr; }
      .brand-card-stack { height: auto; }
      .stack-card { position: relative; top: auto !important; right: auto !important; left: auto !important; width: 100%; margin-bottom: 16px; }
      .compliance-badges { grid-template-columns: repeat(3, 1fr); }
    }
    @media (max-width: 480px) {
      .page-hero { padding: 60px 0 40px; }
      .page-hero h1 { font-size: 26px; }
      .advantage-card { padding: 24px; }
      .cta-section h2 { font-size: 26px; }
    }

    /* Animation */
    .fade-in-up {
      opacity: 0;
      transform: translateY(30px);
      transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .fade-in-up.visible {
      opacity: 1;
      transform: translateY(0);
    }
