/* 湖南筑邦官网 — 主设计系统（红白商务风 · WCAG AA · 浅/深色模式）
   版面 / 间距 / 字号严格还原 mydbak 原版，仅替换配色。
   本文件只改颜色，不动布局；支持 prefers-color-scheme: dark 自动切换。
   加载顺序：本文件先于 site.css。 */

/* ===================== 设计令牌系统 ===================== */
:root {
  /* ===== 浅色模式（默认） ===== */
  --c-text:#374151;               /* 正文 — on #fff 9.0:1 ✓ AA */
  --c-text-soft:#475569;          /* 次要文字 — on #fff 6.1:1 ✓ AA */
  --c-heading:#1f2433;            /* 标题 — on #fff 13.8:1 ✓ AA */
  --c-accent:#c8102e;             /* 强调红 — on #fff 5.9:1 ✓ AA */
  --c-accent-hover:#a60d24;       /* 红 hover — on #fff 7.6:1 ✓ AA */
  --c-accent-dark:#8c0a1e;        /* 深红背景 — 配白字 7.9:1 ✓ AA */
  --c-accent-high:#e6223e;        /* 亮红 — 按钮/CTA 用 */
  --c-bg:#ffffff;                 /* 页背景 */
  --c-bg-soft:#f7f8fa;            /* 浅灰分区 */
  --c-surface:#ffffff;            /* 卡片表面 */
  --c-border:#e8eaed;             /* 边框 */
  --c-border-strong:#d9dde2;
  --c-inverse:#ffffff;            /* 深色底上的白字 */
  --c-accent-bg:#fdecec;          /* 浅红底 */
  --c-accent-edge:#fbd5d9;        /* 浅红边 */
  --c-hero-o1:rgba(140,10,30,.85);  --c-hero-o2:rgba(166,13,36,.85);
  --c-hero-fill:%238c0a1e;  --c-hero-path:%23a60d24;
  --shadow-sm:0 1px 3px rgba(16,24,40,.06);
  --shadow:0 8px 24px rgba(16,24,40,.08);
  --shadow-lg:0 16px 40px rgba(16,24,40,.12);
  --shadow-accent:0 10px 28px rgba(200,16,46,.28);
  --radius:14px; --maxw:1200px;

  /* ===== 旧 token 别名（向后兼容） ===== */
  --primary-dark:var(--c-accent-dark);  --primary-blue:var(--c-accent-hover);
  --accent-gold:var(--c-accent);        --accent-light:var(--c-bg-soft);
  --text-dark:var(--c-text);            --text-light:var(--c-text-soft);
  --white:var(--c-bg);                  --ink:var(--c-heading);
  --muted:var(--c-text-soft);           --bg:var(--c-bg);
  --bg-soft:var(--c-bg-soft);           --line:var(--c-border);
  --line-strong:var(--c-border-strong); --shadow-red:var(--shadow-accent);
  --red:var(--c-accent);                --red-600:#d61f3a;
  --red-700:var(--c-accent-hover);      --red-800:var(--c-accent-dark);
  --red-50:var(--c-accent-bg);          --red-100:var(--c-accent-edge);
}

/* ===== 深色模式 ===== */
@media (prefers-color-scheme: dark) {
  :root {
    --c-text:#c8ccd6;             /* on #0f1119 12.4:1 ✓ AA */
    --c-text-soft:#9ca3af;        /* on #0f1119 7.0:1 ✓ AA */
    --c-heading:#e4e6ed;          /* on #0f1119 12.8:1 ✓ AA */
    --c-accent:#f04438;           /* on #0f1119 5.1:1 ✓ AA */
    --c-accent-hover:#e85454;
    --c-accent-dark:#c82a1a;
    --c-accent-high:#f87171;
    --c-bg:#0f1119;
    --c-bg-soft:#1a1d28;
    --c-surface:#1a1d28;
    --c-border:#2d3140;
    --c-border-strong:#3d4152;
    --c-inverse:#e4e6ed;
    --c-accent-bg:rgba(240,68,56,.12);
    --c-accent-edge:rgba(240,68,56,.3);
    --c-hero-o1:rgba(60,4,12,.88);  --c-hero-o2:rgba(80,6,16,.88);
    --c-hero-fill:%23550814;  --c-hero-path:%23720a1a;
    --shadow-sm:0 1px 3px rgba(0,0,0,.3);
    --shadow:0 8px 24px rgba(0,0,0,.4);
    --shadow-lg:0 16px 40px rgba(0,0,0,.5);
    --shadow-accent:0 10px 28px rgba(240,68,56,.3);
  }
}

/* ===================== 基础重置 / 排版 ===================== */
*{margin:0;padding:0;box-sizing:border-box}

body{
  font-family:"Microsoft YaHei","PingFang SC",sans-serif;
  line-height:1.6;
  color:var(--text-dark);
  background:var(--white);
}

.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* 全局链接色（红） */
a{color:var(--red);text-decoration:none;transition:color .25s}

/* ===================== 英雄区（原版面：满屏高度 + 建筑剪影 + 红调遮罩） ===================== */
.hero{
  height:100vh;
  min-height:700px;
  background:linear-gradient(var(--c-hero-o1),var(--c-hero-o2)),
              url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 800"><rect fill="%238c0a1e" width="1440" height="800"/><path d="M0 400L360 300L720 450L1080 350L1440 400V800H0Z" fill="%23a60d24" opacity="0.3"/></svg>');
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
}

.hero::before{
  content:'';
  position:absolute;
  width:100%;
  height:100%;
  background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="1" fill="rgba(200,16,46,0.2)"/></svg>');
  background-size:50px 50px;
  animation:drift 30s linear infinite;
}

@keyframes drift{
  0%{transform:translate(0,0);}
  100%{transform:translate(50px,50px);}
}

/* 滚动动画（原版面） */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeInLeft{from{opacity:0;transform:translateX(-30px);}to{opacity:1;transform:translateX(0);}}
@keyframes fadeInRight{from{opacity:0;transform:translateX(30px);}to{opacity:1;transform:translateX(0);}}

.scroll-animate{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease;}
.scroll-animate.animated{opacity:1;transform:translateY(0);}
.scroll-animate-left{opacity:0;transform:translateX(-30px);transition:opacity .6s ease,transform .6s ease;}
.scroll-animate-left.animated{opacity:1;transform:translateX(0);}
.scroll-animate-right{opacity:0;transform:translateX(30px);transition:opacity .6s ease,transform .6s ease;}
.scroll-animate-right.animated{opacity:1;transform:translateX(0);}

.hero-content{
  position:relative;
  z-index:1;
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
  color:var(--white);
}

.hero-badge{
  display:inline-block;
  background:rgba(200,16,46,.2);
  border:1px solid rgba(200,16,46,.5);
  padding:8px 24px;
  border-radius:25px;
  font-size:13px;
  color:#fff;
  margin-bottom:30px;
  backdrop-filter:blur(10px);
}

.hero h2{
  font-size:64px;
  font-weight:700;
  line-height:1.2;
  margin-bottom:20px;
}

.hero h2 span{color:#fff;}

.hero p{
  font-size:18px;
  opacity:.9;
  margin-bottom:40px;
  max-width:600px;
  line-height:1.8;
}

.hero-buttons{display:flex;gap:20px;flex-wrap:wrap;}

.btn-primary{
  background:var(--accent-gold);
  color:#fff;
  padding:16px 40px;
  border-radius:30px;
  text-decoration:none;
  font-weight:700;
  font-size:16px;
  transition:all .3s;
  box-shadow:0 5px 30px rgba(200,16,46,.4);
}

.btn-primary:hover{
  transform:translateY(-3px) scale(1.05);
  box-shadow:0 10px 40px rgba(200,16,46,.6);
}

.btn-secondary{
  background:transparent;
  color:var(--white);
  padding:16px 40px;
  border-radius:30px;
  text-decoration:none;
  font-weight:600;
  font-size:16px;
  border:2px solid rgba(255,255,255,.5);
  transition:all .3s;
}

.btn-secondary:hover{
  background:rgba(255,255,255,.1);
  border-color:var(--white);
}

/* ===================== 数据统计（原版面：深红底，无卡片底） ===================== */
.stats-section{background:var(--primary-dark);padding:60px 0;position:relative;z-index:2;}

.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;}

.stat-card{text-align:center;padding:20px;}

.stat-icon{font-size:40px;margin-bottom:15px;}

.stat-number{font-size:48px;font-weight:700;color:#fff;line-height:1;margin-bottom:10px;}

.stat-label{font-size:14px;color:rgba(255,255,255,.7);}

.stat-note{font-size:12px;color:rgba(255,255,255,.55);margin-top:4px;}

/* ===================== 关于我们（原版面） ===================== */
.about-section{padding:120px 0;background:var(--accent-light);}

.section-header{text-align:center;margin-bottom:80px;}

.section-tag{
  display:inline-block;
  background:var(--primary-dark);
  color:#fff;
  padding:8px 20px;
  border-radius:20px;
  font-size:12px;
  font-weight:600;
  letter-spacing:2px;
  margin-bottom:20px;
}

.section-title{font-size:42px;color:var(--c-heading);margin-bottom:15px;line-height:1.3;}

.section-desc{font-size:16px;color:var(--text-light);max-width:600px;margin:0 auto;}

.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}

.about-image{position:relative;}

.about-image-main{
  width:100%;
  height:500px;
  background:linear-gradient(135deg,var(--primary-dark),var(--primary-blue));
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:120px;
  color:rgba(255,255,255,.1);
  position:relative;
  overflow:hidden;
}

.about-image-main::after{
  content:'筑';
  position:absolute;
  font-size:300px;
  opacity:.05;
  color:var(--accent-gold);
}

.about-image-badge{
  position:absolute;
  bottom:-30px;
  right:-30px;
  background:var(--accent-gold);
  color:#fff;
  padding:30px;
  border-radius:20px;
  box-shadow:var(--shadow);
}

.about-image-badge .number{font-size:36px;font-weight:700;line-height:1;}
.about-image-badge .label{font-size:13px;margin-top:5px;}

.about-content h3{font-size:32px;color:var(--c-heading);margin-bottom:20px;line-height:1.4;}

.about-content p{font-size:15px;color:var(--text-light);line-height:1.8;margin-bottom:20px;}

.about-features{margin-top:40px;}

.about-feature{display:flex;gap:15px;margin-bottom:25px;}

.feature-icon{
  width:50px;
  height:50px;
  background:var(--accent-gold);
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  flex-shrink:0;
}

.feature-content h4{font-size:16px;color:var(--c-heading);margin-bottom:5px;}
.feature-content p{font-size:13px;margin-bottom:0;}

/* ===================== 服务项目（原版面） ===================== */
.services-section{padding:120px 0;background:var(--white);}

.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}

.service-card{
  background:var(--accent-light);
  border-radius:20px;
  padding:40px 30px;
  transition:all .3s;
  border:2px solid transparent;
}

.service-card:hover{
  transform:translateY(-10px) scale(1.03);
  box-shadow:0 20px 60px rgba(0,0,0,.18);
  border-color:var(--accent-gold);
}

.service-icon{
  width:70px;
  height:70px;
  background:linear-gradient(135deg,var(--primary-dark),var(--primary-blue));
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
  color:#fff;
  margin-bottom:25px;
}

.service-card h3{font-size:22px;color:var(--c-heading);margin-bottom:15px;}

.service-card p{font-size:14px;color:var(--text-light);line-height:1.8;margin-bottom:20px;}

.service-list{list-style:none;}

.service-list li{
  padding:8px 0;
  font-size:13px;
  color:var(--text-light);
  display:flex;
  align-items:center;
  gap:10px;
}

.service-list li::before{content:'✓';color:var(--accent-gold);font-weight:bold;}

/* ===================== 分公司布局（原版面） ===================== */
.branches-section{padding:120px 0;background:var(--accent-light);position:relative;overflow:hidden;}

.branches-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:60px;}

.branch-card{
  background:var(--white);
  border-radius:16px;
  padding:30px 20px;
  text-align:center;
  transition:all .3s;
  border:2px solid transparent;
}

.branch-card:hover{
  border-color:var(--accent-gold);
  transform:translateY(-5px) scale(1.03);
  box-shadow:0 10px 40px rgba(0,0,0,.12);
}

.branch-card.hq{
  background:linear-gradient(135deg,#f7fafc,#e2e8f0);
  color:var(--c-heading);
  border:2px solid var(--accent-gold);
}

.branch-card.hq h4{font-size:20px;color:var(--c-heading);margin-bottom:10px;}

.branch-card.hq p{color:var(--text-dark);}

.branch-icon{font-size:40px;margin-bottom:15px;}

.branch-card h4{font-size:16px;margin-bottom:10px;}

.branch-hq-wrapper{display:flex;justify-content:center;margin-bottom:40px;}

.branch-hq-wrapper .branch-card{max-width:400px;width:100%;}

.branch-card p{font-size:12px;opacity:.8;line-height:1.6;}

/* ===================== CTA 区域（原版面：深红渐变） ===================== */
.cta-section{
  padding:120px 0;
  background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary-blue) 50%,var(--c-accent-dark) 100%);
  color:var(--white);
  text-align:center;
  position:relative;
  overflow:hidden;
}

.cta-section::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="0.5" fill="rgba(255,255,255,0.05)"/></svg>');
  background-size:30px 30px;
  opacity:.5;
  pointer-events:none;
}

.cta-section h2{font-size:42px;margin-bottom:20px;}

.cta-section p{
  font-size:18px;
  opacity:.9;
  margin-bottom:40px;
  max-width:600px;
  margin-left:auto;
  margin-right:auto;
}

.cta-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;}

/* ===================== 响应式（原版面断点） ===================== */
@media (max-width:968px){
  .hero h2{font-size:42px;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .about-grid{grid-template-columns:1fr;gap:40px;}
  .services-grid{grid-template-columns:1fr;}
  .branches-grid{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:576px){
  .hero h2{font-size:32px;}
  .stats-grid{grid-template-columns:1fr;}
  .branches-grid{grid-template-columns:1fr;}
}

/* ===================== 内页特有类（不覆盖上方首页版面） ===================== */
.page-hero{
  background:linear-gradient(135deg,var(--red-700),var(--red-800));
  color:#fff;text-align:center;padding:128px 20px 72px;
}
.page-hero h1{color:#fff;font-size:38px;font-weight:800;margin-bottom:12px;}
.page-hero p{color:rgba(255,255,255,.82);font-size:16px;}
.page-content{max-width:840px;margin:0 auto;padding:54px 20px 20px;}

.article-meta{
  display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;
  font-size:13px;color:var(--muted);padding-bottom:16px;margin-bottom:26px;
  border-bottom:1px solid var(--line);
}
.article-body p{margin-bottom:20px;line-height:1.9;color:var(--text-dark);text-indent:2em;}
.article-body h3{font-size:22px;margin:30px 0 14px;color:var(--ink);}
.article-body h4{font-size:18px;margin:22px 0 12px;color:var(--ink);}

/* 内页卡片：feature / source / update 为内页特有；service / branch 沿用首页原版面 */
.feature-card,.source-card,.update-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 26px;box-shadow:var(--shadow);
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.feature-card:hover,.source-card:hover,.update-card:hover{
  transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:var(--red-100);
}
.feature-card h3,.source-card h4,.update-card h3{margin-bottom:10px;}
.feature-card p,.source-card p,.update-card p{color:var(--muted);font-size:14px;line-height:1.8;}

.icon-pill{
  width:54px;height:54px;border-radius:14px;background:var(--red-50);color:var(--red);
  display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:18px;
}

.sources-grid,.updates-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.sources-section,.updates-section{padding:90px 0;}

.source-card{display:block;}
.source-icon{margin-bottom:14px;}
.source-desc{color:var(--muted);font-size:14px;line-height:1.7;margin-top:8px;}
.source-url{display:inline-block;margin-top:10px;font-size:13px;color:var(--red);word-break:break-all;}
.source-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.update-card{display:flex;flex-direction:column;gap:8px;}
.update-date{display:inline-block;align-self:flex-start;background:var(--red-50);color:var(--red-700);font-size:12px;font-weight:700;padding:4px 12px;border-radius:20px;}

/* 红底白字 CTA 之上的主按钮：白底红字保证对比 */
.cta-section .btn-primary{background:#fff;color:var(--red-700);box-shadow:0 10px 30px rgba(0,0,0,.2);}
.cta-section .btn-primary:hover{background:#fff5f5;transform:translateY(-2px);}

/* 可访问性 */
:focus-visible{outline:3px solid var(--red);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  .scroll-animate,.scroll-animate-left,.scroll-animate-right{opacity:1 !important;transform:none !important}
}
