/* SUPCON's additional diagrams, using the shared vertical case layout. */
.supcon-case-page .ic-hero { align-items:center; }
.supcon-case-page .ic-since { min-width:190px; }
.supcon-case-page .ic-since small { line-height:1.7; }
.supcon-case-page .ic-node { text-align:center; }
.supcon-case-page .ic-node small { line-height:1.7; }
.supcon-case-page .sc-mandates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:32px; }
.supcon-case-page .sc-mandates>div { border:1px solid #285483; border-radius:8px; padding:23px; background:linear-gradient(125deg,#103761,#0a1d37); }
.supcon-case-page .sc-mandates small { display:block; color:var(--ic-muted); font-size:12px; margin-bottom:12px; }
.supcon-case-page .sc-mandates strong { display:block; color:var(--ic-text); font-size:17px; line-height:1.9; font-weight:500; }
.supcon-case-page .sc-mandates strong span { color:var(--ic-cyan); padding-inline:4px; }
.supcon-case-page .sc-platform-bars { display:grid; gap:10px; margin:16px 0 22px 112px; }
.supcon-case-page .sc-platform-bars>div { display:flex; flex-wrap:wrap; gap:10px 22px; padding:17px 18px; background:#102c4b; border:1px solid var(--ic-line); border-radius:7px; align-items:center; }
.supcon-case-page .sc-platform-bars strong { color:var(--ic-cyan); font-size:14px; font-weight:500; }
.supcon-case-page .sc-platform-bars span { font-size:12px; color:var(--ic-muted); line-height:1.7; }
.supcon-case-page .sc-capabilities { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-top:28px; }
.supcon-case-page .sc-capabilities span { padding:15px 8px; border-bottom:2px solid #428fff; background:var(--ic-panel); text-align:center; font-size:14px; color:var(--ic-cyan); }
.supcon-case-page .sc-roadmap { display:grid; gap:20px; margin-bottom:28px; }
.supcon-case-page .sc-year-card { display:grid; grid-template-columns:180px minmax(0,1fr); border:1px solid var(--ic-line); border-radius:8px; background:var(--ic-panel); position:relative; }
.supcon-case-page .sc-year-card+.sc-year-card::before { content:"↓"; color:var(--ic-cyan); position:absolute; left:84px; top:-22px; line-height:21px; font-size:19px; }
.supcon-case-page .sc-year-label { display:flex; flex-direction:column; justify-content:center; padding:24px; border-right:1px solid var(--ic-line); background:linear-gradient(135deg,#134b83,#0b2545); border-radius:7px 0 0 7px; }
.supcon-case-page .sc-year-label>span { color:#80c6ff80; font-size:32px; line-height:1.2; font-weight:300; }
.supcon-case-page .sc-year-label b { font-size:19px; color:var(--ic-text); margin-top:10px; font-weight:500; }
.supcon-case-page .sc-year-label small { font-size:13px; color:var(--ic-cyan); margin-top:6px; }
.supcon-case-page .sc-year-content { padding:25px 28px; min-width:0; }
.supcon-case-page .sc-year-content h3 { font-size:19px; font-weight:500; line-height:1.5; margin:0 0 12px; color:var(--ic-text); }
.supcon-case-page .sc-year-content p { color:var(--ic-muted); font-size:14px; line-height:1.9; margin:0; }
.supcon-case-page .sc-year-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.supcon-case-page .sc-year-tags span { padding:5px 10px; border:1px solid #254a71; border-radius:4px; color:var(--ic-cyan); font-size:12px; line-height:1.6; }
.supcon-case-page .sc-owners { margin-bottom:0; }
.supcon-case-page .sc-owners .ic-owner { padding:24px 17px; border:1px solid var(--ic-line); }
.supcon-case-page .sc-owners .ic-owner b { line-height:1.65; font-size:15px; }
.supcon-case-page .sc-owners .ic-owner small { display:block; line-height:1.85; }
.supcon-case-page .sc-talent { border-left:2px solid var(--ic-blue); padding:5px 0 5px 21px; margin-top:28px; }
.supcon-case-page .sc-talent strong { font-weight:500; font-size:17px; color:var(--ic-text); line-height:1.7; }
.supcon-case-page .sc-talent p { margin:10px 0 0; font-size:14px; color:var(--ic-muted); line-height:1.9; }
.supcon-case-page .sc-chart { height:auto; aspect-ratio:500/240; }
.supcon-case-page .sc-chart text { font-size:14px; }
.supcon-case-page .sc-half-year { display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px; margin-top:30px; padding:26px; border:1px solid var(--ic-line); border-radius:8px; background:var(--ic-panel); align-items:center; }
.supcon-case-page .sc-half-year>div { min-width:0; }
.supcon-case-page .sc-half-year strong { display:block; color:var(--ic-text); font-size:17px; font-weight:500; }
.supcon-case-page .sc-half-year small { display:block; margin-top:8px; color:var(--ic-muted); font-size:12px; line-height:1.8; }
.supcon-case-page .sc-half-year span { color:var(--ic-muted); font-size:13px; }
.supcon-case-page .sc-half-year b { display:block; margin-top:9px; font-size:28px; color:var(--ic-text); font-weight:500; line-height:1.3; }
.supcon-case-page .sc-half-year b small { display:inline; font-size:12px; margin-left:8px; }
.supcon-case-page .sc-half-year em { display:block; margin-top:6px; font-size:12px; color:var(--ic-cyan); font-style:normal; }
.supcon-case-page .sc-founder-quote { margin:32px 0 0; padding:25px 28px; border-top:1px solid #38628f; border-bottom:1px solid var(--ic-line); background:linear-gradient(100deg,#0e2d50,#08172c); }
.supcon-case-page .sc-founder-quote p { font-size:clamp(18px,1.8vw,23px); line-height:1.9; color:var(--ic-text); margin:0; }
.supcon-case-page .sc-founder-quote footer { display:block; text-align:right; color:var(--ic-cyan); font-size:14px; margin-top:20px; background:none; border:0; padding:0; }
.supcon-case-page .ic-source { font-size:12px; line-height:1.9; }
@media(max-width:900px) {
 .supcon-case-page .ic-hero { grid-template-columns:minmax(0,1fr); gap:20px; }
 .supcon-case-page .ic-since { border:0; padding-left:0; }
 .supcon-case-page .ic-since b { font-size:22px; }
 .supcon-case-page .sc-year-card { grid-template-columns:146px minmax(0,1fr); }
 .supcon-case-page .sc-year-label { padding:22px; }
 .supcon-case-page .sc-year-card+.sc-year-card::before { left:67px; }
 .supcon-case-page .sc-half-year { gap:16px; padding:22px; }
}
@media(max-width:700px) {
 .supcon-case-page .ic-since { display:block; margin-top:0; }
 .supcon-case-page .ic-since small { display:block; }
 .supcon-case-page .sc-mandates { grid-template-columns:minmax(0,1fr); gap:12px; }
 .supcon-case-page .sc-mandates>div { padding:19px; }
 .supcon-case-page .sc-platform-bars { margin-left:81px; }
 .supcon-case-page .sc-year-label { padding:18px; }
 .supcon-case-page .sc-year-content { padding:22px 20px; }
 .supcon-case-page .sc-year-content h3 { font-size:17px; }
 .supcon-case-page .sc-owners { grid-template-columns:minmax(0,1fr); gap:12px; }
 .supcon-case-page .sc-owners .ic-owner { text-align:left; padding:18px 20px; }
 .supcon-case-page .sc-half-year { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
 .supcon-case-page .sc-half-year>div:first-child { grid-column:1/-1; border-bottom:1px solid var(--ic-line); padding-bottom:16px; }
 .supcon-case-page .sc-half-year>div:first-child small { margin-top:4px; }
 .supcon-case-page .sc-chart text { font-size:18px; }
 .supcon-case-page .sc-founder-quote { padding:22px 20px; }
}
@media(max-width:450px) {
 .supcon-case-page .sc-mandates strong { font-size:16px; }
 .supcon-case-page .sc-platform-bars { margin-left:0; }
 .supcon-case-page .sc-platform-bars>div { flex-direction:column; align-items:flex-start; gap:6px; padding:15px; }
 .supcon-case-page .sc-capabilities { gap:5px; margin-top:22px; }
 .supcon-case-page .sc-capabilities span { padding:12px 4px; font-size:12px; }
 .supcon-case-page .sc-year-card { grid-template-columns:minmax(0,1fr); }
 .supcon-case-page .sc-year-label { display:grid; grid-template-columns:auto auto minmax(0,1fr); align-items:center; justify-content:start; gap:12px; border-right:0; border-bottom:1px solid var(--ic-line); border-radius:7px 7px 0 0; padding:16px; }
 .supcon-case-page .sc-year-label>span { font-size:25px; }
 .supcon-case-page .sc-year-label b { margin:0; font-size:17px; }
 .supcon-case-page .sc-year-label small { margin:0; font-size:12px; }
 .supcon-case-page .sc-year-card+.sc-year-card::before { left:calc(50% - 6px); }
 .supcon-case-page .sc-year-content { padding:19px 16px; }
 .supcon-case-page .sc-year-tags { gap:6px; }
 .supcon-case-page .sc-year-tags span { padding:4px 8px; font-size:11px; }
 .supcon-case-page .sc-talent { padding-left:16px; }
 .supcon-case-page .sc-talent strong { font-size:16px; }
 .supcon-case-page .sc-half-year { padding:20px 16px; gap:18px 10px; }
 .supcon-case-page .sc-half-year b { font-size:25px; }
}
