:root {
    --blue: #0b234a;
    --blue-2: #173b6d;
    --gold: #c89b3c;
    --gold-dark: #9c741f;
    --teal: #236b66;
    --warm: #f6f0e6;
    --white: #ffffff;
    --muted: #f5f7fa;
    --line: #d8dee8;
    --text: #1f2a3d;
    --subtext: #596579;
    --shadow: 0 18px 40px rgba(11, 35, 74, 0.1);
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--text); font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif; line-height: 1.7; background: var(--white); }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
.container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.narrow { width: min(860px, calc(100% - 40px)); }
.section { padding: 76px 0; }
.section-muted { background: var(--muted); }
.section-heading { max-width: 700px; margin: 0 auto 36px; text-align: center; }
.section-heading.left { margin-left: 0; text-align: left; }
.section-heading span, .eyebrow, .page-hero span, .cta-inner span { display: inline-block; color: var(--gold-dark); font-size: 13px; font-weight: 800; letter-spacing: 0; text-transform: uppercase; }
.section-heading h2, .article-copy h2, .contact-info h2 { margin: 8px 0 12px; color: var(--blue); font-size: 32px; line-height: 1.25; }
.section-heading p, .article-copy p, .contact-info p { margin: 0 0 14px; color: var(--subtext); }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 22px; border: 1px solid transparent; border-radius: 4px; font-weight: 800; text-align: center; transition: transform 0.2s ease, background 0.2s ease, border 0.2s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-gold { color: var(--blue); background: var(--gold); }
.btn-gold:hover { background: #d8ad52; }
.btn-blue { color: var(--white); background: var(--blue); }
.btn-outline { color: var(--white); border-color: rgba(255, 255, 255, 0.72); }
.card-grid { display: grid; gap: 22px; }
.card-grid.four { grid-template-columns: repeat(4, 1fr); }
.card-grid.three { grid-template-columns: repeat(3, 1fr); }
.card-grid.two { grid-template-columns: repeat(2, 1fr); }
.split { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 50px; align-items: center; }
.split.reverse { grid-template-columns: 1.1fr 0.9fr; }
@media (max-width: 1000px) {
    .card-grid.four, .card-grid.three, .card-grid.two, .split, .split.reverse { grid-template-columns: 1fr; }
    .section { padding: 56px 0; }
    .section-heading h2, .article-copy h2, .contact-info h2 { font-size: 26px; }
}
@media (max-width: 560px) {
    .container, .narrow { width: min(100% - 28px, 1180px); }
    .btn { width: 100%; padding-right: 16px; padding-left: 16px; }
}
