.cluster-main { padding: 56px 0 110px; }
.cluster-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:38px; color:var(--page-muted); font:10px var(--page-mono); }
.cluster-breadcrumb a { color:var(--page-brand); text-decoration:none; }
.cluster-breadcrumb span::before { content:"/"; margin-right:8px; color:var(--page-line); }
.hub-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); gap:54px; align-items:end; padding-bottom:64px; }
.hub-hero h1,.spoke-hero h1 { margin:18px 0 22px; color:var(--page-ink); font:800 clamp(46px,7vw,88px)/.96 Inter,"PingFang SC",sans-serif; letter-spacing:-.09em; }
.hub-hero p,.spoke-hero p { max-width:680px; margin:0; color:var(--page-muted); font-size:17px; line-height:1.72; }
.hub-map { position:relative; min-height:390px; overflow:hidden; background:var(--page-ink); border:1px solid var(--page-ink); border-radius:24px 15px 22px 13px; box-shadow:11px 13px 0 rgba(90,80,188,.16); }
.hub-map::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 50%,rgba(139,124,246,.74),transparent 13%),radial-gradient(circle at 50% 50%,rgba(139,124,246,.24),transparent 38%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:auto,auto,48px 48px,48px 48px; }
.hub-center { position:absolute; left:50%; top:50%; width:126px; height:126px; display:grid; place-items:center; padding:18px; color:var(--page-paper); text-align:center; border:1px solid var(--page-coral); border-radius:50%; transform:translate(-50%,-50%); font:700 14px/1.3 Inter,sans-serif; }
.hub-node { position:absolute; display:flex; align-items:center; gap:7px; color:rgba(255,253,249,.78); font:10px var(--page-mono); }
.hub-node::before { content:""; width:9px; height:9px; border:1px solid var(--page-paper); border-radius:50%; background:var(--page-violet); box-shadow:0 0 0 5px rgba(139,124,246,.13); }
.hub-node.n1 { left:10%; top:20%; }.hub-node.n2 { right:8%; top:22%; }.hub-node.n3 { left:8%; bottom:20%; }.hub-node.n4 { right:9%; bottom:18%; }
.hub-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:28px; border-top:1px solid var(--page-line); border-bottom:1px solid var(--page-line); }
.hub-stat { padding:19px 20px 19px 0; border-right:1px solid var(--page-line); }
.hub-stat + .hub-stat { padding-left:20px; }.hub-stat:last-child { border-right:0; }
.hub-stat strong { display:block; color:var(--page-ink); font:700 27px/1 Inter,sans-serif; }
.hub-stat span { display:block; margin-top:7px; color:var(--page-muted); font:9px var(--page-mono); text-transform:uppercase; }
.cluster-section { padding:72px 0; border-top:1px solid var(--page-line); }
.cluster-heading { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:50px; margin-bottom:36px; }
.cluster-heading h2 { max-width:760px; margin:0; font:700 clamp(32px,4vw,54px)/1.06 Inter,"PingFang SC",sans-serif; letter-spacing:-.075em; }
.cluster-heading p { max-width:620px; margin:0; color:var(--page-muted); font-size:15px; line-height:1.72; }
.spoke-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.spoke-card { position:relative; min-height:310px; display:flex; flex-direction:column; padding:24px; color:var(--page-ink); background:rgba(255,253,249,.8); border:1px solid var(--page-line); border-radius:17px 12px 19px 11px; text-decoration:none; transition:transform 180ms ease-out,box-shadow 180ms ease-out,border-color 180ms ease; }
.spoke-card:hover { transform:translateY(-4px); border-color:var(--page-violet); box-shadow:7px 9px 0 rgba(90,80,188,.1); }
.spoke-card .card-index { display:flex; justify-content:space-between; color:var(--page-brand); font:10px var(--page-mono); }
.spoke-card h3 { margin:56px 0 12px; font:700 27px/1.08 Inter,"PingFang SC",sans-serif; letter-spacing:-.065em; }
.spoke-card p { margin:0; color:var(--page-muted); font-size:13px; line-height:1.62; }
.spoke-card .card-asset { margin-top:auto; padding-top:28px; color:var(--page-brand); font:9px var(--page-mono); text-transform:uppercase; }
.spoke-card.placeholder { background:rgba(238,239,255,.58); }
.spoke-card.placeholder h3 { color:#625e78; }
.spoke-card.placeholder:hover { transform:none; box-shadow:none; }
.hub-question { display:grid; grid-template-columns:.65fr 1.35fr; gap:48px; padding:34px; color:var(--page-paper); background:var(--page-ink); border-radius:20px 14px 22px 13px; }
.hub-question span { color:var(--page-coral); font:10px var(--page-mono); letter-spacing:.14em; }
.hub-question p { max-width:740px; margin:0; font:700 clamp(27px,3.4vw,44px)/1.1 Inter,"PingFang SC",sans-serif; letter-spacing:-.06em; }
.spoke-hero { display:grid; grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr); gap:54px; align-items:end; padding-bottom:52px; }
.spoke-hero h1 { font-size:clamp(44px,6.5vw,80px); }
.spoke-signal-card { padding:26px; color:var(--page-paper); background:var(--page-ink); border-radius:20px 13px 22px 12px; box-shadow:10px 12px 0 rgba(90,80,188,.16); }
.spoke-signal-card .signal-id { color:var(--page-coral); font:10px var(--page-mono); letter-spacing:.12em; }
.spoke-signal-card h2 { margin:36px 0 12px; font:700 28px/1.12 Inter,"PingFang SC",sans-serif; letter-spacing:-.06em; }
.spoke-signal-card p { color:rgba(255,253,249,.64); font-size:13px; line-height:1.65; }
.spoke-metrics { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:26px; }
.spoke-metrics div { padding:13px; background:rgba(255,253,249,.08); border:1px solid rgba(255,253,249,.17); border-radius:10px; }
.spoke-metrics span { display:block; color:rgba(255,253,249,.45); font:9px var(--page-mono); }.spoke-metrics strong { display:block; margin-top:6px; color:var(--page-paper); font-size:21px; }
.explainer-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid var(--page-line); border-radius:16px 12px 18px 11px; background:var(--page-line); }
.explainer-step { min-height:220px; padding:24px; background:rgba(255,253,249,.85); }
.explainer-step span { color:var(--page-brand); font:10px var(--page-mono); }.explainer-step h3 { margin:36px 0 11px; font:700 24px/1.1 Inter,"PingFang SC",sans-serif; letter-spacing:-.05em; }.explainer-step p { margin:0; color:var(--page-muted); font-size:13px; line-height:1.62; }
.evidence-table { display:grid; border-top:1px solid var(--page-line); }
.evidence-row { display:grid; grid-template-columns:120px 1fr 130px; gap:22px; align-items:start; padding:20px 0; border-bottom:1px solid var(--page-line); }
.evidence-row time,.evidence-row .evidence-type,.evidence-row a { color:var(--page-brand); font:10px/1.4 var(--page-mono); }.evidence-row h3 { margin:0 0 8px; font:700 19px/1.2 Inter,"PingFang SC",sans-serif; letter-spacing:-.04em; }.evidence-row p { margin:0; color:var(--page-muted); font-size:13px; line-height:1.55; }
.related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }.related-item { padding:20px; color:var(--page-ink); background:rgba(238,239,255,.64); border:1px solid var(--page-line); border-radius:13px; text-decoration:none; }.related-item span { color:var(--page-brand); font:9px var(--page-mono); }.related-item strong { display:block; margin-top:20px; font:700 19px/1.2 Inter,"PingFang SC",sans-serif; }
.template-note { margin-top:26px; padding:18px 20px; color:var(--page-muted); background:rgba(220,233,139,.26); border:1px solid rgba(146,158,76,.36); border-radius:12px; font-size:13px; line-height:1.65; }
@media (max-width:900px) { .hub-hero,.spoke-hero,.cluster-heading { grid-template-columns:1fr; }.spoke-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.hub-map { min-height:330px; }.hub-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }.hub-stat:nth-child(2) { border-right:0; }.hub-stat:nth-child(-n+2) { border-bottom:1px solid var(--page-line); }.hub-question { grid-template-columns:1fr; }.evidence-row { grid-template-columns:100px 1fr; }.evidence-row .evidence-type { grid-column:2; }.related-grid { grid-template-columns:1fr; } }
@media (max-width:560px) { .cluster-main { padding-top:36px; }.spoke-grid,.explainer-flow { grid-template-columns:1fr; }.hub-stats { grid-template-columns:1fr; }.hub-stat,.hub-stat + .hub-stat { padding:16px 0; border-right:0; border-bottom:1px solid var(--page-line); }.hub-map { min-height:290px; }.hub-node { font-size:8px; }.evidence-row { grid-template-columns:1fr; gap:8px; }.evidence-row .evidence-type { grid-column:auto; } }
@media (prefers-reduced-motion:reduce) { .spoke-card { transition:none; }.spoke-card:hover { transform:none; } }
