/* ============================================
   模板 4: gudu - 古都遗风
   风格:朱红+黛瓦灰、宫殿、对称、屋脊
   适配:北京、西安、洛阳、南京、开封等古都
   ============================================ */
:root {
  --c-bg: #F2EBDD;
  --c-bg-alt: #E5DBC4;
  --c-card: #FBF6EC;
  --c-text: #2C1810;
  --c-text-2: #5A3E2B;
  --c-text-3: #8B6E55;
  --c-accent: #A62B2B;
  --c-accent-2: #3D2B1F;
  --c-border: #D6C5A8;
  --c-grad-1: linear-gradient(135deg, #A62B2B 0%, #6B1818 100%);
  --c-grad-2: linear-gradient(180deg, #A62B2B 0%, #3D2B1F 100%);
  --font-body: "PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans CN","STSong","Noto Serif SC",serif;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { font-size:16px; -webkit-font-smoothing:antialiased; scroll-behavior:smooth; }
body { font-family:var(--font-body); background:var(--c-bg); color:var(--c-text); line-height:1.85; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
.container { max-width:1280px; margin:0 auto; padding:0 24px; }

/* Hero with ridge decoration */
.gd-hero { position:relative; min-height:90vh; display:flex; flex-direction:column; background:linear-gradient(180deg, #FBF6EC 0%, #F2EBDD 100%); overflow:hidden; }
.gd-hero::before { content:""; position:absolute; top:0; left:0; right:0; height:8px; background:repeating-linear-gradient(90deg, #A62B2B 0, #A62B2B 30px, #3D2B1F 30px, #3D2B1F 60px); z-index:5; }
.gd-roof { position:absolute; top:8px; left:0; right:0; height:120px; background:linear-gradient(180deg, #3D2B1F 0%, #5A3E2B 100%); -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 30' preserveAspectRatio='none'><path d='M0 0 L100 0 L100 12 Q90 14 85 12 Q75 20 65 14 Q50 24 35 14 Q25 20 15 12 Q10 14 0 12 Z' fill='black'/></svg>") center/100% 100% no-repeat; mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 30' preserveAspectRatio='none'><path d='M0 0 L100 0 L100 12 Q90 14 85 12 Q75 20 65 14 Q50 24 35 14 Q25 20 15 12 Q10 14 0 12 Z' fill='black'/></svg>") center/100% 100% no-repeat; opacity:0.9; }
.gd-roof2 { position:absolute; top:50px; left:0; right:0; height:60px; background:linear-gradient(180deg, #6B1818 0%, #A62B2B 100%); -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 30' preserveAspectRatio='none'><path d='M0 0 L100 0 L100 8 Q80 14 60 10 Q40 16 20 10 Q10 14 0 8 Z' fill='black'/></svg>") center/100% 100% no-repeat; mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 30' preserveAspectRatio='none'><path d='M0 0 L100 0 L100 8 Q80 14 60 10 Q40 16 20 10 Q10 14 0 8 Z' fill='black'/></svg>") center/100% 100% no-repeat; opacity:0.95; }
.gd-nav { padding:80px 0 24px; position:relative; z-index:6; }
.gd-nav-inner { display:flex; justify-content:space-between; align-items:center; background:rgba(251,246,236,0.85); backdrop-filter:blur(12px); border:1px solid var(--c-border); border-radius:4px; padding:14px 24px; }
.gd-logo { display:flex; align-items:center; gap:12px; font-size:21px; font-weight:700; }
.gd-logo-ic { width:42px; height:42px; background:var(--c-grad-2); color:#FBF6EC; display:flex; align-items:center; justify-content:center; font-size:22px; border-radius:4px; box-shadow:0 4px 12px rgba(166,43,43,0.3); }
.gd-logo span.tag { font-size:14px; color:var(--c-text-2); font-weight:400; padding-left:10px; margin-left:6px; border-left:1px solid var(--c-border); }
.gd-nav-links { display:flex; gap:28px; list-style:none; font-size:14px; }
.gd-nav-links a { color:var(--c-text-2); }
.gd-nav-links a:hover, .gd-nav-links a.cta { color:var(--c-accent); }
.gd-hero-body { flex:1; display:flex; align-items:center; padding:60px 0 80px; position:relative; z-index:3; }
.gd-eyebrow { display:inline-flex; align-items:center; gap:10px; padding:6px 18px; background:rgba(166,43,43,0.1); border-left:3px solid var(--c-accent); font-size:13px; color:var(--c-accent); margin-bottom:24px; font-weight:600; }
.gd-title { font-size:clamp(38px, 5.5vw, 64px); font-weight:700; line-height:1.25; margin-bottom:24px; color:var(--c-text); letter-spacing:2px; }
.gd-title em { font-style:normal; color:var(--c-accent); }
.gd-sub { font-size:17px; color:var(--c-text-2); max-width:760px; margin-bottom:36px; }
.gd-actions { display:flex; gap:16px; flex-wrap:wrap; }
.gd-btn { display:inline-flex; align-items:center; gap:8px; padding:14px 32px; font-size:15px; font-weight:600; transition:all .25s; cursor:pointer; }
.gd-btn-pri { background:var(--c-grad-1); color:#FBF6EC; box-shadow:0 8px 20px rgba(166,43,43,0.3); }
.gd-btn-pri:hover { transform:translateY(-2px); }
.gd-btn-ghost { background:transparent; border:1px solid var(--c-text-2); color:var(--c-text); }
.gd-stats { display:grid; grid-template-columns:repeat(4, 1fr); gap:32px; margin-top:64px; padding-top:32px; border-top:1px solid var(--c-border); }
.gd-stat-num { font-size:44px; font-weight:700; color:var(--c-accent); }
.gd-stat-num small { font-size:18px; }
.gd-stat-lbl { font-size:13px; color:var(--c-text-2); margin-top:6px; }

/* Section */
.gd-sec { padding:96px 0; position:relative; }
.gd-sec-alt { background:var(--c-bg-alt); }
.gd-head { text-align:center; margin-bottom:64px; }
.gd-eye { display:inline-block; font-size:13px; letter-spacing:4px; color:var(--c-accent); margin-bottom:14px; font-weight:600; }
.gd-eye::before, .gd-eye::after { content:"❖"; margin:0 8px; opacity:0.6; }
.gd-h2 { font-size:clamp(28px, 3.5vw, 42px); font-weight:700; margin-bottom:16px; letter-spacing:1px; }
.gd-h2 em { font-style:normal; color:var(--c-accent); }
.gd-desc { font-size:16px; color:var(--c-text-2); max-width:700px; margin:0 auto; }

/* Cards */
.gd-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; }
.gd-card { background:var(--c-card); border:1px solid var(--c-border); border-radius:4px; padding:36px 28px; transition:all .3s; position:relative; }
.gd-card::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--c-grad-1); }
.gd-card:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(166,43,43,0.12); }
.gd-card-icon { width:56px; height:56px; border:1px solid var(--c-border); background:rgba(166,43,43,0.05); color:var(--c-accent); display:flex; align-items:center; justify-content:center; margin-bottom:20px; border-radius:50%; font-size:24px; }
.gd-card h3 { font-size:20px; margin-bottom:12px; font-weight:700; }
.gd-card p { font-size:14px; color:var(--c-text-2); }
.gd-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:16px; }
.gd-tags li { list-style:none; font-size:12px; padding:3px 10px; background:rgba(166,43,43,0.08); color:var(--c-accent); border-radius:2px; }

/* Strength */
.gd-strength { display:grid; grid-template-columns:repeat(6, 1fr); gap:16px; margin-bottom:48px; }
.gd-strength-i { text-align:center; padding:32px 12px; background:var(--c-card); border:1px solid var(--c-border); border-radius:4px; position:relative; }
.gd-strength-i::before, .gd-strength-i::after { content:""; position:absolute; top:8px; width:8px; height:8px; background:var(--c-accent); border-radius:50%; }
.gd-strength-i::before { left:8px; }
.gd-strength-i::after { right:8px; }
.gd-strength-n { font-size:34px; font-weight:700; color:var(--c-accent); }
.gd-strength-s { font-size:13px; color:var(--c-text-2); margin-top:4px; }
.gd-strength-l { font-size:12px; color:var(--c-text-3); margin-top:8px; }

/* Cases */
.gd-cases { display:grid; grid-template-columns:repeat(2, 1fr); gap:24px; }
.gd-case { background:var(--c-card); border:1px solid var(--c-border); border-radius:4px; overflow:hidden; transition:all .3s; }
.gd-case:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(166,43,43,0.1); }
.gd-case-cover { height:200px; position:relative; background:linear-gradient(135deg, #6B1818, #A62B2B); }
.gd-case-cover::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at top, rgba(251,246,236,0.2), transparent 60%); }
.gd-case-tag { position:absolute; top:18px; left:18px; padding:4px 14px; background:rgba(251,246,236,0.95); border-radius:2px; font-size:12px; color:var(--c-accent); z-index:2; }
.gd-case-body { padding:28px; }
.gd-case h4 { font-size:18px; margin-bottom:8px; }

/* FAQ */
.gd-faq { max-width:880px; margin:0 auto; }
.gd-faq-i { background:var(--c-card); border:1px solid var(--c-border); border-radius:4px; margin-bottom:12px; padding:24px 28px; }
.gd-faq-i summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; font-size:16px; font-weight:700; }
.gd-faq-i summary::-webkit-details-marker { display:none; }
.gd-faq-i p { margin-top:14px; padding-top:14px; border-top:1px dashed var(--c-border); font-size:14px; color:var(--c-text-2); }
.gd-faq-i summary::after { content:"+"; font-size:24px; color:var(--c-accent); }

/* Contact */
.gd-contact { display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
.gd-contact-i { padding:32px; background:var(--c-card); border:1px solid var(--c-border); border-radius:4px; text-align:center; }
.gd-contact-i .ic { width:52px; height:52px; margin:0 auto 16px; background:var(--c-grad-2); color:#FBF6EC; display:flex; align-items:center; justify-content:center; border-radius:50%; }
.gd-contact-i .lb { font-size:13px; color:var(--c-text-3); }
.gd-contact-i .vl { font-size:19px; font-weight:700; margin:8px 0; }
.gd-contact-i .tp { font-size:12px; color:var(--c-text-3); }

/* Footer */
.gd-foot { background:#1A0E08; color:#D6C5A8; padding:64px 0 24px; }
.gd-foot h4 { font-size:14px; color:#C8A26E; margin-bottom:16px; }
.gd-foot ul { list-style:none; }
.gd-foot li { font-size:13px; color:#9B8060; margin-bottom:8px; }
.gd-foot a:hover { color:#C8A26E; }
.gd-foot-main { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:48px; margin-bottom:48px; }
.gd-foot-brand p { font-size:13px; color:#9B8060; margin-top:12px; }
.gd-foot-cities { padding:32px 0; border-top:1px solid rgba(200,162,110,0.2); border-bottom:1px solid rgba(200,162,110,0.2); }
.gd-foot-cities h5 { font-size:13px; color:#C8A26E; margin-bottom:16px; }
.gd-foot-cities-grid { display:grid; grid-template-columns:repeat(10, 1fr); gap:8px 16px; }
.gd-foot-cities-grid a { font-size:12px; color:#9B8060; }
.gd-foot-bot { padding-top:24px; text-align:center; font-size:12px; color:#7A6448; }

@media (max-width: 980px) {
  .gd-grid, .gd-cases, .gd-contact { grid-template-columns:1fr; }
  .gd-strength { grid-template-columns:repeat(2, 1fr); }
  .gd-foot-main { grid-template-columns:1fr 1fr; }
  .gd-foot-cities-grid { grid-template-columns:repeat(4, 1fr); }
  .gd-nav-links { display:none; }
  .gd-stats { grid-template-columns:repeat(2, 1fr); }
}
