/* Shared visual foundation for the 100 theme slots. */
:root { --ink:#17212b; --muted:#66737f; --line:#e5e9ee; --paper:#f5f7fa; --brand:#176b87; --brand-dark:#0b3f55; --accent:#d89545; --max:1180px; }
* { box-sizing:border-box; }
html { background:var(--paper); }
body { margin:0; color:var(--ink); background:#fff; font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif; line-height:1.65; }
a { color:inherit; text-decoration:none; }
.site-top { background:var(--brand-dark); color:#dcebf0; font-size:12px; }
.top-inner,.nav-inner,.hero-inner,.section-inner,.footer-inner { width:min(var(--max),calc(100% - 32px)); margin:0 auto; }
.top-inner { display:flex; justify-content:space-between; padding:7px 0; }
.site-nav { background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:5; }
.nav-inner { min-height:72px; display:flex; align-items:center; gap:34px; }
.brand { display:flex; align-items:center; gap:11px; min-width:230px; }
.brand-mark { width:40px; height:40px; display:grid; place-items:center; color:#fff; background:var(--brand); font-weight:700; border-radius:10px; }
.brand-text strong { display:block; font-size:17px; letter-spacing:.04em; }
.brand-text small { display:block; color:var(--muted); font-size:11px; }
.nav-links { display:flex; flex-wrap:wrap; gap:21px; color:#41505d; font-size:14px; }
.nav-links a:hover,.nav-links a.active { color:var(--brand); }
.hero { color:#fff; background:linear-gradient(120deg,var(--brand-dark),var(--brand)); }
.hero-inner { padding:76px 0 84px; display:grid; grid-template-columns:1.35fr .65fr; gap:40px; align-items:end; }
.eyebrow { color:#f1c27d; font-size:12px; letter-spacing:.18em; text-transform:uppercase; }
.hero h1 { font-size:clamp(32px,5vw,58px); line-height:1.15; margin:14px 0 18px; max-width:700px; }
.hero p { color:#c8dfe6; max-width:640px; margin:0; font-size:16px; }
.hero-note { border-left:1px solid rgba(255,255,255,.35); padding-left:24px; color:#d8edf1; }
.hero-note strong { display:block; font-size:27px; color:#fff; }
.section { padding:54px 0; }
.section.alt { background:var(--paper); }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:24px; }
.section h2 { margin:0; font-size:25px; }
.section-head p { color:var(--muted); margin:0; font-size:14px; }
.category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.category { background:#fff; border:1px solid var(--line); padding:19px; border-radius:8px; transition:.18s ease; }
.category:hover { border-color:var(--brand); transform:translateY(-2px); }
.category b { display:block; color:var(--brand-dark); margin-bottom:5px; }
.category span { color:var(--muted); font-size:12px; }
.article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.service-item,.generic-module { border:1px solid var(--line); border-radius:8px; background:#fff; padding:20px; }
.service-item b,.generic-module h3 { display:block; color:var(--brand-dark); margin-bottom:7px; }
.service-item span,.generic-module p { color:var(--muted); font-size:13px; margin:0; }
.platform-positioning { margin-top:12px !important; padding-left:14px; border-left:3px solid var(--accent); }
.engine-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.engine-item { display:flex; flex-direction:column; min-height:150px; gap:8px; border:1px solid var(--line); border-radius:8px; background:#fff; padding:18px; transition:.18s ease; }
.engine-item:hover { border-color:var(--brand); transform:translateY(-2px); }
.engine-item b { color:var(--brand-dark); font-size:16px; }
.engine-item span { color:var(--muted); font-size:12px; flex:1; }
.engine-item em { color:var(--brand); font-size:12px; font-style:normal; }
.generic-module-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.mission-band { display:flex; flex-direction:column; gap:7px; margin-top:22px; padding:22px 24px; border-left:4px solid var(--accent); background:#fff; }
.mission-band strong { color:var(--brand-dark); font-size:20px; }
.mission-band span,.mission-band small { color:var(--muted); font-size:13px; }
.article-card { border:1px solid var(--line); border-radius:8px; overflow:hidden; background:#fff; }
.article-card-body { padding:20px; }
.article-card h3 { margin:0 0 9px; font-size:17px; line-height:1.45; }
.article-card p { margin:0; color:var(--muted); font-size:13px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.card-meta { color:#9aa5ad; font-size:12px; margin-top:16px; }
.breadcrumb { color:var(--muted); font-size:13px; margin-bottom:24px; }
.page-wrap { width:min(900px,calc(100% - 32px)); margin:0 auto; padding:46px 0 70px; }
.page-title { border-bottom:1px solid var(--line); padding-bottom:24px; margin-bottom:30px; }
.page-title h1 { margin:8px 0; font-size:38px; line-height:1.3; }
.page-title p { color:var(--muted); margin:0; }
.article-content { font-size:16px; line-height:2; }
.article-content img { max-width:100%; height:auto; }
.site-footer { background:#102d3a; color:#b7cbd1; padding:30px 0; font-size:13px; }
.footer-inner { display:flex; justify-content:space-between; gap:28px; }
.footer-brand { display:flex; flex-direction:column; gap:5px; min-width:230px; }
.footer-links { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; max-width:760px; }
.footer-links b { width:100%; color:#e4f0f2; }
.footer-links a { color:#b7cbd1; font-size:12px; white-space:normal; overflow-wrap:anywhere; word-break:break-word; }
.footer-links a:hover { color:#fff; }
.empty { color:var(--muted); border:1px dashed #cbd4da; padding:28px; text-align:center; }
@media (max-width:800px) { .hero-inner{grid-template-columns:1fr;padding:52px 0 60px}.hero-note{border-left:0;border-top:1px solid rgba(255,255,255,.35);padding:18px 0 0}.category-grid,.service-grid,.engine-grid,.generic-module-grid{grid-template-columns:repeat(2,1fr)}.article-grid{grid-template-columns:1fr}.nav-inner{align-items:flex-start;flex-direction:column;gap:11px;padding:14px 0}.brand{min-width:0}.nav-links{gap:12px}.footer-inner{flex-direction:column} }
@media (max-width:480px) { .top-inner{display:block}.category-grid,.service-grid,.engine-grid,.generic-module-grid{grid-template-columns:1fr}.page-title h1{font-size:29px}.section{padding:38px 0} }
