:root {
  --ink: #17231f;
  --muted: #67716c;
  --paper: #f2efe7;
  --card: #fcfbf7;
  --line: #d8d3c8;
  --nav: #142721;
  --green: #2d715a;
  --amber: #b8742d;
  --blue: #39718b;
  --red: #a64e43;
  --shadow: 0 18px 50px rgba(20, 39, 33, .09);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--paper); color: var(--ink); font: 14px/1.5 Arial, sans-serif; }
button { font: inherit; }
.app { display: grid; grid-template-columns: 280px minmax(0, 1fr); min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 30; display: flex; flex-direction: column; width: 280px; height: 100vh; padding: 24px 18px; background: var(--nav); color: #f2f5f3; }
.brand { display: flex; align-items: center; gap: 12px; padding: 2px 8px 24px; border-bottom: 1px solid #34463f; color: inherit; text-decoration: none; }
.brand-mark { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #638176; border-radius: 50%; color: #bedacb; font: 700 13px Georgia, serif; }
.brand b { display: block; font: 21px Georgia, serif; }
.brand small { display: block; color: #9eb0a8; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.nav { display: grid; gap: 8px; padding-top: 22px; }
.nav a { display: grid; grid-template-columns: 28px 1fr; gap: 8px; align-items: start; padding: 14px 12px; border-left: 2px solid transparent; border-radius: 0 9px 9px 0; color: #b2beb9; text-decoration: none; }
.nav a span { padding-top: 3px; color: #71877e; font-size: 10px; }
.nav a b { line-height: 1.3; }
.nav a:hover, .nav a.active { border-left-color: #badbcd; background: #223a32; color: #fff; }
.sidebar-note { margin-top: auto; padding: 18px 8px 4px; border-top: 1px solid #34463f; color: #9eb0a8; font-size: 11px; }
.sidebar-note b { color: #e4bc82; }
.sidebar-note p { margin: 6px 0 0; }
.app main { grid-column: 2; min-width: 0; }
.topbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; height: 68px; padding: 0 36px; border-bottom: 1px solid var(--line); background: rgba(242, 239, 231, .94); backdrop-filter: blur(12px); }
.topbar > div b { display: block; }
.topbar > div span { color: var(--muted); font-size: 11px; }
.home-link, .breadcrumbs a { color: var(--green); font-weight: 700; text-decoration: none; }
.menu-button { display: none; border: 0; background: none; font-size: 23px; }
.content { max-width: 1240px; margin: 0 auto; padding: 44px 42px 80px; }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 32px; color: var(--muted); font-size: 12px; }
.breadcrumbs b { max-width: 440px; overflow: hidden; color: var(--ink); text-overflow: ellipsis; white-space: nowrap; }
.breadcrumbs span { color: #aaa59a; }
.page-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; }
.page-head h1 { max-width: 820px; margin: 8px 0 12px; font: 48px/1.02 Georgia, serif; letter-spacing: -.03em; }
.page-head p { max-width: 700px; margin: 0; color: var(--muted); font-size: 16px; }
.eyebrow { color: var(--green); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.stamp { flex: 0 0 auto; padding: 8px 11px; border: 1px solid #a5bcb2; border-radius: 99px; color: var(--green); font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.notice, .level-note { display: flex; align-items: center; gap: 18px; margin: 34px 0 25px; padding: 14px 18px; border: 1px solid #d8c6a9; border-radius: 8px; background: #f7eddd; color: #67533a; }
.notice b { flex: 0 0 auto; }
.notice span { font-size: 12px; }
.level-note { border-color: #b9d0c6; background: #e9f1ed; color: #345648; }
.level-note span { padding: 4px 8px; border-radius: 99px; background: #d1e2da; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.menu-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.section-card { position: relative; display: flex; flex-direction: column; min-height: 390px; padding: 25px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--card); box-shadow: var(--shadow); color: inherit; text-decoration: none; transition: transform .18s, box-shadow .18s; }
.section-card::before { position: absolute; inset: 0 0 auto; height: 5px; background: var(--amber); content: ''; }
.section-card.blue::before { background: var(--blue); }
.section-card.red::before { background: var(--red); }
.section-card:hover, .scheme-card:hover, .case-card:hover { transform: translateY(-3px); box-shadow: 0 22px 55px rgba(20, 39, 33, .14); }
.section-number { color: #9b9b93; font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.section-card h2 { margin: 58px 0 14px; font: 31px/1.08 Georgia, serif; }
.section-card p { color: var(--muted); }
.section-card footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line); font-size: 11px; }
.section-card footer b { color: var(--green); }
.scheme-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.scheme-card { display: grid; grid-template-columns: 52px 1fr auto; gap: 18px; align-items: center; min-height: 185px; padding: 26px; border: 1px solid var(--line); border-radius: 12px; background: var(--card); box-shadow: var(--shadow); color: inherit; text-decoration: none; transition: transform .18s, box-shadow .18s; }
.scheme-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #e5eee9; color: var(--green); font: 24px Georgia, serif; }
.scheme-card h2 { margin: 8px 0; font: 25px/1.12 Georgia, serif; }
.scheme-card p { margin: 0; color: var(--muted); }
.scheme-card i, .case-meta i { color: var(--green); font-size: 24px; font-style: normal; }
.case-list { display: grid; gap: 14px; }
.case-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(410px, .7fr); gap: 28px; padding: 25px; border: 1px solid var(--line); border-radius: 12px; background: var(--card); box-shadow: 0 8px 30px rgba(20, 39, 33, .05); color: inherit; text-decoration: none; transition: transform .18s, box-shadow .18s; }
.case-main h2 { margin: 8px 0; font: 25px/1.15 Georgia, serif; }
.case-main p { margin: 0; color: var(--muted); }
.case-meta { display: grid; grid-template-columns: .7fr 1fr 1.15fr auto; gap: 16px; align-items: center; }
.case-meta div > span, .facts span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.case-meta b { font-size: 12px; }
.badge { display: inline-block; padding: 5px 8px; border-radius: 99px; background: #e5e6e2; color: #505753; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.badge.high { background: #f2d8d2; color: #873e35; }
.badge.medium { background: #f0e0c7; color: #825821; }
.badge.synthetic { background: #d9e8e1; color: var(--green); }
.case-detail { margin-top: 34px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--card); box-shadow: var(--shadow); }
.detail-lead { padding: 30px; }
.detail-lead h2 { margin: 24px 0 8px; font: 28px Georgia, serif; }
.detail-lead p { max-width: 750px; margin: 0; color: var(--muted); font-size: 16px; }
.facts { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); background: #f8f6f0; }
.facts div { padding: 20px; border-right: 1px solid var(--line); }
.facts div:last-child { border-right: 0; }
.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
.detail-grid article { padding: 25px; border: 1px solid var(--line); border-radius: 12px; background: var(--card); }
.detail-grid h3 { margin: 10px 0 6px; font: 22px Georgia, serif; }
.detail-grid p { margin: 0; color: var(--muted); }
.detail-grid dl { margin: 12px 0 0; }
.detail-grid dl div { display: flex; justify-content: space-between; gap: 15px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.detail-grid dt { color: var(--muted); }
.detail-grid dd { margin: 0; font-weight: 700; text-align: right; }
.investigation { margin-top: 16px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--card); box-shadow: var(--shadow); }
.investigation-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 28px 30px 22px; border-bottom: 1px solid var(--line); }
.investigation-head h2, .section-title h3 { margin: 7px 0 0; font: 28px Georgia, serif; }
.fiction-label { flex: 0 0 auto; padding: 7px 10px; border: 1px solid #b9d0c6; border-radius: 99px; color: var(--green); font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.investigation-summary { padding: 8px 30px 25px; }
.investigation-summary dl { display: grid; grid-template-columns: 1fr 1fr; gap: 0 36px; margin: 0; }
.investigation-summary dl div { padding: 17px 0; border-bottom: 1px solid var(--line); }
.investigation-summary dt { margin-bottom: 5px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.investigation-summary dd { margin: 0; font-size: 14px; font-weight: 700; }
.investigation-summary dd small { display: block; margin-top: 2px; color: var(--green); font-size: 10px; font-weight: 400; }
.event-flow { --flow: var(--green); padding: 28px 30px 32px; border-top: 1px solid var(--line); background: #f8f6f0; }
.event-flow.flow-pricing-manipulation { --flow: var(--amber); background: #faf5eb; }
.event-flow.flow-order-diversion { --flow: var(--blue); background: #eef4f5; }
.event-flow.flow-fictitious-sales { --flow: var(--red); background: #f8efec; }
.section-title { margin-bottom: 22px; }
.section-title h3 { font-size: 24px; }
.event-flow ol { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; }
.event-flow ol.steps-5 { grid-template-columns: repeat(5, 1fr); }
.event-flow li { position: relative; min-width: 0; padding: 34px 24px 0 0; border-top: 2px solid color-mix(in srgb, var(--flow) 52%, white); }
.event-flow li::after { position: absolute; top: -6px; right: 0; width: 10px; height: 10px; border-top: 2px solid #6e9584; border-right: 2px solid #6e9584; transform: rotate(45deg); content: ''; }
.event-flow li:last-child::after { display: none; }
.step-number { position: absolute; top: -13px; left: 0; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--flow); color: white; font-size: 9px; font-weight: 700; }
.event-flow time { display: block; margin-bottom: 5px; color: var(--amber); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.event-flow b { display: block; font: 18px Georgia, serif; }
.event-flow p { margin: 7px 0 0; padding-right: 12px; color: var(--muted); font-size: 12px; }
.evidence-grid { display: grid; grid-template-columns: 1.25fr .75fr; border-top: 1px solid var(--line); }
.evidence-grid > div { padding: 28px 30px; }
.evidence-grid > div + div { border-left: 1px solid var(--line); }
.evidence-grid ul { display: grid; gap: 9px; margin: 16px 0 0; padding: 0; list-style: none; }
.evidence-grid li { position: relative; padding-left: 20px; }
.evidence-grid li::before { position: absolute; top: 8px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--amber); content: ''; }
.risk-result { background: #f7eddd; }
.risk-result p { margin: 15px 0 12px; font: 18px/1.4 Georgia, serif; }
.risk-result small { color: #765f40; }
.risk-result .case-status { display: inline-block; margin-left: 7px; color: #67533a; font-size: 11px; font-weight: 700; }
.risk-result small { display: block; margin-top: 14px; }
.review-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.review-grid article { min-width: 0; padding: 26px 30px; border-right: 1px solid var(--line); }
.review-grid article:last-child { border-right: 0; background: #eef4f1; }
.review-grid ul { margin: 14px 0 0; padding-left: 18px; color: var(--muted); }
.review-grid li { margin-top: 7px; }

.liability-analysis { margin-top: 16px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--card); box-shadow: var(--shadow); }
.liability-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 25px; padding: 30px; }
.liability-head h2 { max-width: 800px; margin: 7px 0 8px; font: 30px/1.15 Georgia, serif; }
.liability-head p { margin: 0; color: var(--muted); }
.legal-guardrail { display: flex; gap: 16px; padding: 14px 30px; border-block: 1px solid #d8c6a9; background: #f7eddd; color: #67533a; }
.legal-guardrail b { flex: 0 0 auto; }
.metric-table-wrap, .solvency-flow { padding: 28px 30px 32px; }
.metric-table-wrap { overflow-x: auto; }
.metric-table { width: 100%; min-width: 760px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.metric-table th, .metric-table td { padding: 13px 12px; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; }
.metric-table th:first-child { text-align: left; }
.metric-table thead th { background: #edf2ef; color: #50625a; font-size: 9px; letter-spacing: .07em; text-transform: uppercase; }
.metric-table tbody tr:last-child { background: #f8efec; color: #783f38; }
.solvency-flow { border-top: 1px solid var(--line); background: #f8f6f0; }
.solvency-flow ol { display: grid; grid-template-columns: repeat(5, 1fr); margin: 0; padding: 0; list-style: none; }
.solvency-flow li { position: relative; min-width: 0; padding: 17px 25px 17px 16px; border: 1px solid #d8c6a9; border-right: 0; background: #fffaf1; }
.solvency-flow li:last-child { border-right: 1px solid #d8c6a9; background: #f4dfda; }
.solvency-flow li::after { position: absolute; top: 50%; right: -8px; z-index: 2; width: 14px; height: 14px; border-top: 1px solid #b89b72; border-right: 1px solid #b89b72; background: #fffaf1; transform: translateY(-50%) rotate(45deg); content: ''; }
.solvency-flow li:last-child::after { display: none; }
.solvency-flow li > span { display: block; color: var(--red); font-size: 10px; font-weight: 700; }
.solvency-flow li b { display: block; margin-top: 6px; font: 16px/1.2 Georgia, serif; }
.solvency-flow li p { margin: 8px 0 0; color: var(--muted); font-size: 11px; }
.analysis-grid, .legal-matrix { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); }
.analysis-grid article, .legal-matrix article { padding: 26px 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.analysis-grid article:nth-child(2n), .legal-matrix article:nth-child(2n) { border-right: 0; }
.analysis-grid h3, .document-panel h3 { margin: 8px 0 12px; font: 20px/1.25 Georgia, serif; }
.analysis-grid ul, .document-panel ul, .legal-matrix ul { margin: 14px 0 0; padding-left: 18px; color: var(--muted); }
.analysis-grid li, .document-panel li, .legal-matrix li { margin-top: 7px; }
.causation-card { background: #eef4f1; }
.causation-card p { margin: 12px 0 0; color: var(--muted); }
.document-panel { display: grid; grid-template-columns: 1fr 1fr; padding: 28px 30px; border-top: 1px solid var(--line); background: #f8f6f0; }
.document-panel > div { padding-right: 28px; }
.document-panel > div + div { padding: 0 0 0 28px; border-left: 1px solid var(--line); }
.document-panel > p { grid-column: 1 / -1; margin: 24px 0 0; padding-top: 17px; border-top: 1px solid var(--line); color: var(--muted); }
.legal-matrix article { border-bottom: 0; }
.assessment { display: grid; grid-template-columns: 220px 1fr; gap: 30px; align-items: center; padding: 27px 30px; border-top: 1px solid #d6b1aa; background: #f4dfda; }
.assessment h3 { margin: 5px 0 0; color: #823e35; font: 30px Georgia, serif; }
.assessment p { margin: 0; font: 17px/1.45 Georgia, serif; }
.scrim { display: none; }

@media (max-width: 1050px) {
  .menu-grid, .scheme-grid { grid-template-columns: 1fr; }
  .section-card { min-height: 230px; }
  .section-card h2 { margin-top: 28px; }
  .case-card { grid-template-columns: 1fr; }
  .case-meta { padding-top: 16px; border-top: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .app { display: block; }
  .sidebar { width: min(88vw, 320px); transform: translateX(-105%); transition: transform .2s; }
  .sidebar.open { transform: none; }
  .app main { display: block; }
  .topbar { height: 60px; padding: 0 15px; }
  .menu-button { display: block; }
  .home-link { font-size: 12px; }
  .content { padding: 24px 14px 55px; }
  .breadcrumbs { gap: 6px; margin-bottom: 23px; overflow: hidden; flex-wrap: nowrap; }
  .breadcrumbs a, .breadcrumbs b { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .page-head { display: block; }
  .page-head h1 { font-size: 35px; }
  .stamp { display: inline-block; margin-top: 13px; }
  .notice, .level-note { display: block; }
  .notice b, .level-note span { display: inline-block; margin-bottom: 5px; }
  .section-card { min-height: 250px; }
  .scheme-card { grid-template-columns: 42px 1fr; min-height: 0; padding: 20px 17px; }
  .scheme-icon { width: 42px; height: 42px; font-size: 20px; }
  .scheme-card i { display: none; }
  .case-meta { grid-template-columns: 1fr 1fr; }
  .case-meta i { display: none; }
  .facts { grid-template-columns: 1fr 1fr; }
  .facts div:nth-child(2) { border-right: 0; }
  .facts div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .detail-grid { grid-template-columns: 1fr; }
  .investigation-head { display: block; padding: 23px 20px 18px; }
  .fiction-label { display: inline-block; margin-top: 12px; }
  .investigation-summary { padding: 5px 20px 20px; }
  .investigation-summary dl, .evidence-grid { grid-template-columns: 1fr; }
  .event-flow { padding: 24px 20px 26px; }
  .event-flow ol { display: block; padding-left: 13px; }
  .event-flow li { min-height: 112px; padding: 0 0 27px 35px; border-top: 0; border-left: 2px solid #a9c0b6; }
  .event-flow li:last-child { min-height: 0; padding-bottom: 0; border-left-color: transparent; }
  .event-flow li::after { display: none; }
  .step-number { top: 0; left: -14px; }
  .evidence-grid > div { padding: 24px 20px; }
  .evidence-grid > div + div { border-top: 1px solid var(--line); border-left: 0; }
  .liability-head { display: block; padding: 24px 20px; }
  .liability-head .fiction-label { margin-top: 13px; }
  .legal-guardrail { display: block; padding: 14px 20px; }
  .legal-guardrail b { display: block; margin-bottom: 4px; }
  .metric-table-wrap, .solvency-flow { padding: 24px 20px; }
  .solvency-flow ol { display: block; }
  .solvency-flow li { padding: 17px 16px 24px 48px; border-right: 1px solid #d8c6a9; border-bottom: 0; }
  .solvency-flow li:last-child { border-bottom: 1px solid #d8c6a9; }
  .solvency-flow li::after { top: auto; right: auto; bottom: -8px; left: 21px; transform: rotate(135deg); }
  .analysis-grid, .legal-matrix, .document-panel, .review-grid { grid-template-columns: 1fr; }
  .analysis-grid article, .legal-matrix article { padding: 23px 20px; border-right: 0; }
  .legal-matrix article { border-bottom: 1px solid var(--line); }
  .legal-matrix article:last-child { border-bottom: 0; }
  .document-panel { padding: 24px 20px; }
  .document-panel > div { padding: 0 0 22px; }
  .document-panel > div + div { padding: 22px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .review-grid article { padding: 23px 20px; border-right: 0; border-bottom: 1px solid var(--line); }
  .review-grid article:last-child { border-bottom: 0; }
  .assessment { grid-template-columns: 1fr; gap: 12px; padding: 24px 20px; }
  .scrim { position: fixed; inset: 0; z-index: 25; border: 0; background: rgba(8, 18, 14, .52); }
  .scrim.open { display: block; }
}

@media (max-width: 420px) {
  .topbar > div span { display: none; }
  .page-head h1 { font-size: 31px; }
  .section-card h2 { font-size: 27px; }
  .scheme-card h2, .case-main h2 { font-size: 21px; }
  .case-card { padding: 18px; }
  .facts { grid-template-columns: 1fr; }
  .facts div, .facts div:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .facts div:last-child { border-bottom: 0; }
  .investigation-summary dl div { grid-column: 1; }
}
