:root{
  --iron:#64748b;
  --iron-light:#94a3b8;
  --dark:#1e293b;
  --darker:#0f172a;
  --blood:#991b1b;
  --blood-light:#c0392b;
  --silver:#cbd5e1;
  --steel:#334155;
}
*{box-sizing:border-box;font-family:inherit;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Segoe UI","Helvetica Neue",Arial,"Microsoft YaHei","微软雅黑","PingFang SC",sans-serif;
  background:linear-gradient(165deg,#0b1220 0%,#1e293b 42%,#334155 78%,#1e293b 100%);
  background-attachment:fixed;
  color:#e2e8f0;
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
}
a{color:#e2e8f0;text-decoration:none;}
img{max-width:100%;display:block;border-radius:4px;}

/* ============ HEADER / NAV ============ */
.site-header{
  position:sticky;top:0;z-index:100;
  background:linear-gradient(90deg,#0f172a 0%,#1e293b 55%,#111827 100%);
  border-bottom:2px solid #475569;
  box-shadow:0 6px 22px rgba(0,0,0,.65), inset 0 1px 0 rgba(203,213,225,.12);
}
.header-inner{
  max-width:1240px;margin:0 auto;padding:12px 20px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
.brand{
  display:flex;align-items:center;gap:10px;
  font-size:20px;font-weight:800;letter-spacing:1px;
  color:#f1f5f9;
  text-shadow:0 2px 6px rgba(0,0,0,.8);
}
.brand .mark{
  width:34px;height:34px;display:grid;place-items:center;
  background:linear-gradient(145deg,#64748b,#1e293b);
  border:1px solid #94a3b8;border-radius:6px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 3px 10px rgba(0,0,0,.6);
  font-size:16px;
}
.nav-links{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
}
.nav-links a{
  padding:8px 14px;font-size:15px;font-weight:600;color:#cbd5e1;
  border:1px solid transparent;border-radius:4px;
  transition:.22s ease;
}
.nav-links a:hover{
  color:#fff;background:linear-gradient(145deg,#475569,#1e293b);
  border-color:#94a3b8;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 4px 12px rgba(0,0,0,.55);
}
.nav-links a:first-child{color:#fca5a5;}
.nav-links a:first-child:hover{color:#fff;background:linear-gradient(145deg,#991b1b,#450a0a);border-color:#f87171;}

/* ============ LAYOUT ============ */
.wrap{max-width:1240px;margin:0 auto;padding:0 20px;}
section{padding:56px 0;border-bottom:1px solid rgba(100,116,139,.28);}
section:last-of-type{border-bottom:none;}

h1{
  font-size:clamp(24px,3.4vw,40px);
  line-height:1.35;margin:0 0 18px;
  font-weight:800;letter-spacing:.5px;
  color:#f8fafc;
  text-shadow:0 3px 14px rgba(0,0,0,.85);
}
h2{
  font-size:clamp(20px,2.4vw,28px);
  margin:0 0 10px;font-weight:800;letter-spacing:.5px;
  color:#f1f5f9;
  position:relative;padding-left:16px;
}
h2::before{
  content:"";position:absolute;left:0;top:8px;bottom:8px;width:5px;
  background:linear-gradient(180deg,#c0392b,#64748b);
  border-radius:2px;box-shadow:0 0 10px rgba(192,57,43,.7);
}
h3{font-size:18px;margin:0 0 8px;color:#f1f5f9;font-weight:700;}
p{margin:0 0 14px;color:#cbd5e1;}
.lead{font-size:16.5px;color:#cbd5e1;}

.sub{color:#94a3b8;font-size:14px;margin-bottom:26px;}

/* ============ HERO ============ */
#geo-intro{
  padding-top:44px;
  background:
    radial-gradient(900px 320px at 12% -10%,rgba(192,57,43,.22),transparent 62%),
    radial-gradient(760px 300px at 92% 0%,rgba(100,116,139,.32),transparent 65%);
}
.hero-grid{
  display:grid;grid-template-columns:1.25fr .75fr;gap:34px;align-items:start;
}
.hero-figure{
  border:1px solid #475569;border-radius:6px;overflow:hidden;
  background:linear-gradient(145deg,#334155,#111827);
  box-shadow:0 14px 34px rgba(0,0,0,.6),inset 0 1px 0 rgba(203,213,225,.18);
  padding:8px;
}
.hero-figure img{width:100%;height:auto;border-radius:3px;}
.hero-figure figcaption{
  font-size:13px;color:#94a3b8;padding:10px 6px 4px;text-align:center;
}
.tagline{
  display:inline-block;margin-bottom:16px;
  padding:5px 14px;font-size:13px;font-weight:700;letter-spacing:2px;
  color:#fecaca;background:linear-gradient(145deg,#7f1d1d,#1e293b);
  border:1px solid #b91c1c;border-radius:3px;
  box-shadow:0 3px 12px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.14);
}

/* ============ CARDS ============ */
.card{
  background:linear-gradient(150deg,#334155 0%,#1e293b 55%,#16202f 100%);
  border:1px solid #475569;
  border-radius:6px;
  padding:22px;
  box-shadow:0 10px 26px rgba(0,0,0,.55),inset 0 1px 0 rgba(203,213,225,.16);
  transition:.24s ease;
}
.card:hover{
  transform:translateY(-3px);
  border-color:#94a3b8;
  box-shadow:0 16px 34px rgba(0,0,0,.7),inset 0 1px 0 rgba(203,213,225,.3);
}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}

/* ============ STATS ============ */
.stat{
  text-align:center;
  background:linear-gradient(160deg,#3b4a61,#131c2b);
  border:1px solid #526075;border-radius:6px;padding:24px 14px;
  box-shadow:inset 0 1px 0 rgba(203,213,225,.2),0 8px 22px rgba(0,0,0,.55);
}
.stat .num{
  display:block;font-size:30px;font-weight:800;
  background:linear-gradient(180deg,#f8fafc,#94a3b8);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  letter-spacing:1px;
}
.stat .lbl{font-size:14px;color:#94a3b8;letter-spacing:1px;}

/* ============ NEWS ============ */
.news-list{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.news-item{
  background:linear-gradient(150deg,#2c3a4d,#151f2e);
  border:1px solid #475569;border-left:4px solid #991b1b;
  border-radius:5px;padding:20px 22px;
  box-shadow:0 8px 22px rgba(0,0,0,.5);
  transition:.24s ease;
}
.news-item:hover{
  border-left-color:#c0392b;transform:translateX(3px);
  box-shadow:0 14px 30px rgba(0,0,0,.68);
}
.news-item h3{font-size:17px;margin-bottom:6px;color:#f8fafc;}
.news-date{
  display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:1px;
  color:#fca5a5;background:rgba(153,27,27,.22);
  border:1px solid #7f1d1d;border-radius:3px;
  padding:2px 9px;margin-bottom:10px;
}
.news-item p{font-size:14.6px;margin:0;color:#b6c2d1;}
.news-full{grid-column:1 / -1;}

/* ============ FAQ ============ */
.faq-list{display:grid;gap:16px;}
.faq-item{
  background:linear-gradient(150deg,#313e52,#161f2d);
  border:1px solid #475569;border-radius:6px;padding:20px 24px;
  box-shadow:inset 0 1px 0 rgba(203,213,225,.14),0 8px 20px rgba(0,0,0,.5);
}
.faq-item h3{
  font-size:16.5px;color:#f8fafc;margin-bottom:10px;
  padding-left:14px;position:relative;
}
.faq-item h3::before{
  content:"Q";position:absolute;left:0;top:0;
  font-weight:900;color:#c0392b;
}
.faq-item p{font-size:14.6px;color:#b6c2d1;margin:0;}

/* ============ CTA ============ */
#cta{
  background:
    linear-gradient(140deg,rgba(127,29,29,.42),rgba(30,41,59,.9) 55%,rgba(15,23,42,.95));
  border:1px solid #7f1d1d;border-radius:8px;
  margin:44px auto;padding:44px 30px;text-align:center;
  box-shadow:0 18px 44px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.12);
}
#cta h2{padding-left:0;}
#cta h2::before{display:none;}
.btn{
  display:inline-block;margin:16px 8px 0;
  padding:13px 32px;font-weight:800;font-size:15.5px;letter-spacing:1px;
  color:#fff;border-radius:4px;
  background:linear-gradient(145deg,#b91c1c,#5b0f0f);
  border:1px solid #f87171;
  box-shadow:0 8px 20px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.28);
  transition:.22s ease;
}
.btn:hover{background:linear-gradient(145deg,#dc2626,#7f1d1d);transform:translateY(-2px);}
.btn.alt{
  background:linear-gradient(145deg,#64748b,#1e293b);border-color:#cbd5e1;
}
.btn.alt:hover{background:linear-gradient(145deg,#94a3b8,#334155);}

/* ============ LISTS ============ */
ul.iron-list{list-style:none;padding:0;margin:0;}
ul.iron-list li{
  position:relative;padding-left:24px;margin-bottom:10px;color:#cbd5e1;font-size:15px;
}
ul.iron-list li::before{
  content:"◆";position:absolute;left:0;top:0;color:#c0392b;font-size:12px;
}

/* ============ GALLERY ============ */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.gallery-grid figure{
  margin:0;border:1px solid #475569;border-radius:6px;overflow:hidden;
  background:linear-gradient(145deg,#334155,#131c2b);
  padding:7px;box-shadow:0 10px 24px rgba(0,0,0,.55);
}
.gallery-grid figcaption{font-size:13px;color:#94a3b8;text-align:center;padding:8px 4px 2px;}

/* ============ FOOTER ============ */
.site-footer{
  background:linear-gradient(180deg,#131c2b,#0b1220);
  border-top:2px solid #475569;
  box-shadow:inset 0 1px 0 rgba(203,213,225,.14);
  padding:44px 0 24px;margin-top:20px;
}
.footer-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
}
.footer-grid h3{font-size:15px;color:#f1f5f9;letter-spacing:1px;margin-bottom:12px;}
.footer-grid p, .footer-grid li{font-size:14px;color:#94a3b8;margin:0 0 8px;}
.footer-grid ul{list-style:none;padding:0;margin:0;}
.footer-grid a:hover{color:#fca5a5;}
.footer-bottom{
  margin-top:28px;padding-top:18px;
  border-top:1px solid rgba(100,116,139,.35);
  text-align:center;font-size:13.5px;color:#7c8ba1;
}
.footer-bottom a{color:#cbd5e1;margin:0 6px;}
.footer-bottom a:hover{color:#fca5a5;}

/* ============ RESPONSIVE ============ */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;}
  .grid-3,.grid-4,.gallery-grid{grid-template-columns:repeat(2,1fr);}
  .news-list{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  .grid-3,.grid-4,.gallery-grid,.grid-2{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .nav-links a{padding:7px 10px;font-size:14px;}
  section{padding:40px 0;}
}