* { margin:0; padding:0; box-sizing:border-box; }
:root { --navy:#0a2540; --navy2:#0e2f52; --gold:#c9a24a; --gold2:#e3c477; --txt:#1f2d3d; --mut:#5b6b7b; --bg:#fff; --lg:#f5f7fa; }
body { font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif; color:var(--txt); background:var(--bg); line-height:1.9; }
a { color:var(--navy2); text-decoration:none; }
.topbar { position:sticky; top:0; z-index:50; background:var(--navy); color:#fff; }
.topbar .in { max-width:1080px; margin:0 auto; display:flex; align-items:center; gap:16px; padding:12px 18px; }
.topbar .logo { font-weight:800; font-size:18px; color:#fff; display:flex; align-items:center; gap:8px; }
.topbar .logo b { color:var(--gold2); }
.topbar .nav { margin-left:auto; display:flex; gap:18px; font-size:14px; }
.topbar .nav a { color:#dce7f2; }
.topbar .nav a:hover { color:var(--gold2); }
.topbar .tel { background:linear-gradient(135deg,var(--gold2),var(--gold)); color:#3a2c08; padding:7px 14px; border-radius:999px; font-weight:800; font-size:13px; white-space:nowrap; }
.hero { background:linear-gradient(135deg,var(--navy),var(--navy2)); color:#fff; padding:54px 18px 46px; text-align:center; }
.hero .ey { color:var(--gold2); letter-spacing:2px; font-size:13px; }
.hero h1 { font-size:30px; margin:10px 0 8px; line-height:1.4; }
.hero p { color:#bcd0e2; max-width:780px; margin:0 auto; font-size:15px; }
.wrap { max-width:880px; margin:0 auto; padding:42px 18px 30px; }
.crumb { color:var(--mut); font-size:13px; margin-bottom:18px; }
.crumb a { color:var(--navy2); }
.article h1 { font-size:27px; line-height:1.45; margin-bottom:12px; }
.meta { color:var(--mut); font-size:13px; border-bottom:1px solid #eef1f5; padding-bottom:16px; margin-bottom:24px; display:flex; gap:14px; flex-wrap:wrap; }
.article h2 { font-size:21px; margin:34px 0 12px; color:var(--navy); border-left:4px solid var(--gold); padding-left:12px; }
.article p { margin:12px 0; color:#2c3a49; }
.article ul { margin:12px 0 12px 22px; }
.article li { margin:7px 0; }
.article strong { color:var(--navy); }
.callout { background:linear-gradient(135deg,rgba(201,162,74,.12),rgba(14,47,82,.06)); border:1px solid rgba(201,162,74,.4); border-radius:12px; padding:18px 20px; margin:28px 0; }
.callout b { color:var(--gold); }
.tags { margin-top:26px; display:flex; flex-wrap:wrap; gap:8px; }
.tags span { background:var(--lg); border:1px solid #e3e8ef; color:var(--mut); font-size:12.5px; padding:4px 11px; border-radius:6px; }
.cta-box { background:var(--navy); color:#fff; border-radius:14px; padding:26px 22px; margin:34px 0; text-align:center; }
.cta-box h3 { font-size:20px; margin-bottom:10px; }
.cta-box a { display:inline-block; background:linear-gradient(135deg,var(--gold2),var(--gold)); color:#3a2c08; font-weight:800; padding:11px 22px; border-radius:999px; margin-top:8px; }
.rel { margin-top:30px; border-top:1px solid #eef1f5; padding-top:20px; }
.rel h4 { color:var(--navy); margin-bottom:12px; font-size:16px; }
.rel a { display:block; padding:8px 0; border-bottom:1px dashed #eef1f5; color:var(--navy2); }
.rel a:hover { color:var(--gold); }
footer { background:var(--navy); color:#bcd0e2; margin-top:40px; padding:34px 18px; text-align:center; font-size:13.5px; }
footer a { color:var(--gold2); }
/* 列表页 */
.news-grid { max-width:1080px; margin:0 auto; padding:40px 18px 20px; display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.card { border:1px solid #e7ecf2; border-radius:14px; overflow:hidden; display:flex; flex-direction:column; transition:.18s; background:#fff; }
.card:hover { box-shadow:0 12px 30px rgba(10,37,64,.12); transform:translateY(-3px); border-color:var(--gold); }
.card .ph { height:150px; background:linear-gradient(135deg,var(--navy),var(--navy2)); position:relative; }
.card .ph span { position:absolute; left:14px; bottom:12px; background:rgba(201,162,74,.9); color:#3a2c08; font-size:12px; font-weight:800; padding:3px 10px; border-radius:20px; }
.card .body { padding:16px 18px 18px; flex:1; display:flex; flex-direction:column; }
.card .cat { color:var(--gold); font-size:12px; font-weight:700; letter-spacing:1px; }
.card h3 { font-size:17px; line-height:1.5; margin:8px 0 10px; color:var(--navy); }
.card p { color:var(--mut); font-size:13.5px; flex:1; }
.card .more { margin-top:12px; color:var(--navy2); font-weight:700; font-size:13.5px; }
@media(max-width:760px){ .news-grid{grid-template-columns:1fr} .topbar .nav{display:none} .hero h1{font-size:24px} }