.cm-page{max-width:1200px;margin:0 auto;padding:0 24px 40px}.cm-page>*:first-child{margin-left:-24px;margin-right:-24px;margin-top:calc(-1 * var(--header-h, 72px))}
.cm-hero{position:relative;min-height:calc(520px + var(--header-h, 72px));display:flex;align-items:center;border-radius:0 0 12px 12px;overflow:hidden;margin-bottom:60px}
.cm-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cm-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(5,10,30,0.82) 0%,rgba(5,10,30,0.72) 100%)}
.cm-hero__text{position:relative;z-index:2;padding:calc(var(--header-h, 72px) + 80px) 64px 80px;color:#fff!important}
.cm-hero__text h1{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:800;line-height:1.15;margin-bottom:20px;text-shadow:0 3px 20px rgba(0,0,0,.9),0 1px 4px rgba(0,0,0,1);color:#fff!important}
.cm-hero__text p{font-size:1.15rem;max-width:680px;color:#fff!important;opacity:1;text-shadow:0 2px 8px rgba(0,0,0,.8)}
.cm-section{margin:70px 0}
.cm-section h2{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:800;color:#0a1432;margin-bottom:20px}
.cm-section h3{font-size:1.35rem;font-weight:700;color:#1a2a5e;margin:32px 0 12px}
.cm-section p{font-size:1.05rem;line-height:1.75;color:#2c3e50;margin-bottom:14px}
.banner-heading{position:relative;min-height:240px;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;margin:70px 0 30px}
.banner-heading img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banner-heading::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(5,10,30,0.80) 0%,rgba(10,20,60,0.75) 100%)}
.banner-heading h2{position:relative;z-index:2;color:#fff;font-size:clamp(1.8rem,4vw,3rem);font-weight:800;text-shadow:0 3px 18px rgba(0,0,0,1),0 1px 4px rgba(0,0,0,1);padding:0 24px;animation:fadeInDown .7s ease;letter-spacing:-0.02em}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}
.cm-table{width:100%;border-collapse:collapse;margin:24px 0;font-size:.98rem}
.cm-table th{background:#0a1432;color:#fff;padding:14px 16px;text-align:left;font-weight:600}
.cm-table td{padding:13px 16px;border-bottom:1px solid #e8ecf4;color:#2c3e50;vertical-align:top}
.cm-table tr:nth-child(even) td{background:#f7f9fd}
.entity-graph-wrap{background:linear-gradient(135deg,#f0f4ff 0%,#dce6f8 100%);border-radius:12px;padding:40px 24px;margin:60px 0;box-shadow:0 8px 32px rgba(10,20,80,.08)}
.entity-graph-wrap h3{text-align:center;margin-bottom:8px;color:#0a1432;font-size:1.4rem}
.entity-graph-wrap p.subtitle{text-align:center;color:#556;margin-bottom:24px;font-size:.95rem}
#entity-svg{width:100%;display:block}
.graph-legend{display:flex;justify-content:center;gap:32px;margin-top:20px;flex-wrap:wrap;font-size:.9rem;color:#334}
.legend-dot{width:14px;height:14px;border-radius:50%;display:inline-block;margin-right:6px;vertical-align:middle}
.legend-core{background:linear-gradient(135deg,#00a4ff,#0055ff)}
.legend-entity{background:#00d4ff}
.legend-tool{background:#ff6b6b}
.cm-cta{position:relative;overflow:hidden;background:linear-gradient(135deg,#060d20 0%,#0d2260 100%);border-radius:12px;padding:80px 40px;text-align:center;color:#fff;margin:70px 0;box-shadow:0 20px 60px rgba(5,10,30,0.4)}
.cm-cta h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:20px;position:relative;z-index:2;text-shadow:0 3px 18px rgba(0,0,0,.9);font-weight:800;color:#fff!important;letter-spacing:-0.02em}
.cm-cta p{color:#fff!important;opacity:1;max-width:660px;margin:0 auto 24px;font-size:1.05rem;line-height:1.7;position:relative;z-index:2;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.cm-cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative;z-index:2}
.btn-primary{background:#fff;color:#0a1432;padding:14px 32px;border-radius:50px;font-weight:700;text-decoration:none;font-size:1rem;transition:all .2s}
.btn-primary:hover{background:#e8f0ff;transform:translateY(-2px)}
.btn-secondary{background:transparent;color:#fff;padding:14px 32px;border-radius:50px;font-weight:700;text-decoration:none;font-size:1rem;border:2px solid rgba(255,255,255,.5);transition:all .2s}
.btn-secondary:hover{border-color:#fff;transform:translateY(-2px)}
.related-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin:24px 0}
.related-card{background:#f7f9fd;border:1px solid #e0e8f4;border-radius:10px;padding:20px 24px}
.related-card a{color:#1a3a8f;font-weight:700;text-decoration:none;font-size:1rem}
.related-card p{font-size:.93rem;color:#556;margin-top:8px;line-height:1.6}
@media(max-width:768px){.cm-hero__text{padding:40px 24px}.cm-cta{padding:40px 20px}.cm-cta-btns{flex-direction:column;align-items:center}}