:root {
  --bg:#f6f3ee;
  --paper:#fffdf9;
  --ink:#242943;
  --muted:#6d7180;
  --accent:#3f436f;
  --accent-dark:#292d52;
  --accent-soft:#e7e7f1;
  --warm:#c8624f;
  --warm-soft:#f4e4df;
  --sand:#efe5d5;
  --line:#ddd8cf;
  --good:#2c6951;
  --bad:#9a3f3f;
  --mixed:#8a641e;
  --radius:22px;
  --gutter:clamp(20px,5vw,72px);
  --content-width:1440px;
  --content-block-padding:clamp(24px,3vw,40px);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--bg); font:17px/1.62 "Segoe UI",Arial,sans-serif; }
a { color:var(--accent); text-underline-offset:4px; }
h1,h2,h3,h4 { font-family:Cambria,Georgia,serif; }
h2 { font-size:clamp(30px,3vw,44px); line-height:1.08; }
.skip { position:fixed; z-index:40; top:8px; left:8px; transform:translateY(-170%); padding:10px 14px; color:white; background:var(--accent-dark); }
.skip:focus { transform:none; }
.site-head { min-height:80px; display:grid; grid-template-columns:1fr auto 1fr; gap:28px; align-items:center; padding:0 var(--gutter); background:var(--paper); border-bottom:1px solid var(--line); }
.brand { display:inline-flex; align-items:center; gap:12px; color:var(--ink); text-decoration:none; }
.brand__sign { width:42px; height:42px; display:grid; place-items:center; border-radius:5px 14px 14px 14px; color:white; background:var(--accent); font:800 22px Cambria,Georgia,serif; }
.brand strong,.brand small { display:block; }
.brand strong { font-size:16px; letter-spacing:.045em; white-space:nowrap; }
.brand small { color:var(--muted); font-size:11px; letter-spacing:0; }
.site-nav { display:flex; gap:24px; align-items:center; }
.site-nav a { font-size:13px; font-weight:750; text-decoration:none; }
.site-nav a:hover,.site-nav a:focus-visible { color:var(--warm); }
.all-cases { justify-self:end; min-height:42px; display:inline-flex; align-items:center; padding:0 17px; border:1px solid var(--accent); border-radius:999px; font-size:13px; font-weight:800; text-decoration:none; }
.all-cases:hover,.all-cases:focus-visible { color:white; background:var(--accent); }
main { min-height:65vh; }
.breadcrumbs { margin:0 0 46px; color:var(--muted); font-size:13px; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.breadcrumbs li+li::before { content:"›"; margin-right:8px; color:#a5a2aa; }
.breadcrumbs a { text-decoration:none; }
.hero { width:min(var(--content-width),calc(100% - 40px)); margin:28px auto 42px; padding:clamp(36px,6vw,86px); border:1px solid var(--line); border-radius:32px; background:linear-gradient(132deg,#fffdfa 0 67%,#e9e8f1 67%); overflow:hidden; }
.hero h1 { max-width:1040px; margin:10px 0 22px; font-size:clamp(44px,5.4vw,78px); line-height:1; letter-spacing:-.038em; }
.case-hero h1 { font-size:clamp(38px,4.6vw,66px); }
.lead { max-width:900px; margin:0; color:#4f5366; font-size:clamp(19px,2vw,24px); }
.eyebrow { margin:0 0 12px; color:var(--warm); font-size:12px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.disclosure,.hint,.muted { color:var(--muted); }
.disclosure { max-width:920px; margin:25px 0 0; padding-top:18px; border-top:1px solid #d5d1d8; font-size:14px; }
.grid.two,.index-grid,.situation-layout,.panel:not(.filter-sidebar),.case-list { width:min(var(--content-width),calc(100% - 40px)); margin-inline:auto; }
.grid.two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-block:22px; }
.panel,.case-card,.index-card,.filter-sidebar { border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); box-shadow:0 18px 48px rgba(40,42,65,.05); }
.panel { margin-block:22px; padding:var(--content-block-padding); }
.grid.two>.panel { width:auto; margin:0; }
.panel>h2:first-child,.panel>h3:first-child { margin-top:0; }
.summary-list { display:grid; gap:11px; padding-left:22px; }
.inline-chips,.chips,.related-list,.case-links { display:flex; flex-wrap:wrap; gap:9px; align-items:center; }
.chips { margin-top:14px; }
.chip { display:inline-flex; align-items:center; gap:6px; padding:7px 11px; border-radius:999px; color:#444867; background:var(--accent-soft); font-size:13px; }
.chip-button { border:0; cursor:pointer; font:inherit; }
.chip-button:hover,.chip-button:focus-visible { color:white; background:var(--accent); }
.chip.small { padding:5px 8px; font-size:12px; }
.situation-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:clamp(32px,5vw,72px); align-items:start; margin-bottom:90px; }
.situation-content { min-width:0; }
.situation-content>.grid.two,.situation-content>.panel,.situation-content>.case-list { width:auto; }
.filter-sidebar { position:sticky; top:20px; grid-column:2; grid-row:1; padding:28px; max-height:calc(100vh - 40px); overflow:auto; }
.filter-sidebar .panel { width:auto; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.filter-sidebar h2 { margin:0 0 22px; font-size:clamp(28px,2.4vw,36px); }
.situation-content { grid-column:1; grid-row:1; }
.filters { margin:0; }
.filter-grid { display:grid; gap:16px; }
.filter-actions { margin-top:20px; }
label { display:grid; gap:7px; color:var(--muted); font-size:13px; font-weight:700; }
select { width:100%; min-height:45px; padding:0 12px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:white; font:inherit; }
.button,.related { display:inline-flex; min-height:44px; align-items:center; justify-content:center; padding:0 17px; border:0; border-radius:999px; color:white; background:var(--accent); font:800 13px/1 "Segoe UI",sans-serif; text-decoration:none; cursor:pointer; }
.button:hover,.button:focus-visible,.related:hover,.related:focus-visible { background:var(--warm); text-decoration:none; }
.related a,.related a:hover,.related a:focus-visible { color:inherit; text-decoration:none; }
.button.secondary { color:var(--accent); border:1px solid var(--accent); background:white; }
.index-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; padding-bottom:90px; }
.index-card { padding:32px; }
.index-card h2 { margin:5px 0 15px; font-size:clamp(27px,2.8vw,39px); line-height:1.13; }
.index-card h2 a { text-decoration:none; }
.index-card p:not(.eyebrow) { color:var(--muted); }
.index-card .button { margin-top:12px; }
.case-list { display:grid; gap:22px; }
.case-card { padding:30px; }
.case-card__header { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; }
.case-card h3 { max-width:850px; margin:0 0 10px; font-size:clamp(25px,2.6vw,36px); line-height:1.17; }
.case-card h4 { margin-bottom:7px; }
.meta { margin:0; color:var(--muted); font-size:13px; }
.meta-filter { border:0; padding:0; color:var(--accent); background:none; cursor:pointer; font:inherit; }
.result { display:inline-flex; padding:8px 12px; border-radius:999px; white-space:nowrap; font-size:12px; font-weight:800; }
button.result { border:0; cursor:pointer; font-family:inherit; }
.result-satisfied { color:var(--good); background:#e4f1eb; }
.result-partially_satisfied { color:var(--mixed); background:#f5edd8; }
.result-rejected { color:var(--bad); background:#f7e6e6; }
.result-mixed { color:var(--accent); background:var(--accent-soft); }
.case-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:18px 0; }
.case-facts.stacked { grid-template-columns:1fr; }
.case-facts div { padding:13px; border-radius:14px; background:#f4f1ec; }
dt { color:var(--muted); font-size:12px; }
dd { margin:3px 0 0; font-weight:750; }
.story-content { font-size:17px; }
.story-content h3,.story-content h4 { margin:30px 0 12px; line-height:1.25; }
.story-content h3 { font-size:26px; }
.story-content h4 { font-size:21px; }
.story-content p { margin:12px 0; }
.story-content ul,.story-content ol { display:grid; gap:9px; padding-left:26px; }
.story-content .md-note { margin:8px 0 12px 30px; padding:7px 0 7px 18px; border-left:4px solid #b6b7d0; color:#4f5366; }
.story-content .md-note strong { color:var(--ink); font-weight:800; }
.story-content details { padding:18px 20px; border:1px solid var(--line); border-radius:16px; background:#faf7f1; }
.story-content summary { color:var(--accent); cursor:pointer; font-weight:800; }
.timeline { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.timeline li { display:grid; grid-template-columns:130px 1fr; gap:18px; padding:15px 0; border-bottom:1px solid var(--line); }
.timeline time { color:var(--warm); font-weight:800; }
.amount-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; align-items:start; margin-top:18px; }
.amount-stack { display:grid; gap:18px; margin-top:18px; }
.amount-subpanel { padding:22px; border:1px solid var(--line); border-radius:18px; background:#faf7f1; }
.amount-subpanel h3 { margin-top:0; }
.amount-list { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.amount-list li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 14px; padding:13px; border-radius:13px; background:white; }
.amount-list small { grid-column:1/-1; color:var(--muted); }
.legal-ref-list { display:grid; gap:16px; }
.legal-ref { padding:9px 0 9px 23px; border-left:4px solid #b6b7d0; }
.legal-ref h3 { margin:0 0 12px; color:var(--accent); }
.related-list { margin-top:18px; }
.site-footer { min-height:120px; display:grid; grid-template-columns:1fr 1fr auto; gap:40px; align-items:center; margin-top:90px; padding:28px var(--gutter); color:#dedfed; background:var(--accent-dark); font-size:13px; }
.site-footer .brand { color:white; }
.site-footer .brand__sign { color:var(--accent-dark); background:#e5c1b8; }
.site-footer p { max-width:590px; }
[hidden] { display:none !important; }
:focus-visible { outline:3px solid #dda857; outline-offset:4px; }
@media (max-width:1100px) {
  .site-head { grid-template-columns:1fr auto; }
  .site-nav { display:none; }
  .situation-layout { grid-template-columns:1fr; }
  .situation-content,.filter-sidebar { grid-column:1; grid-row:auto; }
  .filter-sidebar { position:static; max-height:none; }
}
@media (max-width:850px) {
  .grid.two,.index-grid,.amount-columns,.case-facts { grid-template-columns:1fr; }
  .case-card__header { display:grid; }
  .result { justify-self:start; white-space:normal; }
  .site-footer { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .site-head { padding:14px 18px; }
  .brand small,.all-cases { display:none; }
  .hero { width:calc(100% - 24px); margin-top:12px; padding:30px 22px 38px; border-radius:22px; }
  .hero h1 { font-size:clamp(38px,12vw,54px); }
  .breadcrumbs { margin-bottom:34px; }
  .grid.two,.index-grid,.situation-layout,.panel:not(.filter-sidebar),.case-list { width:calc(100% - 24px); }
  .panel,.case-card,.index-card,.filter-sidebar { padding:22px; }
  .timeline li { grid-template-columns:1fr; gap:4px; }
  .amount-list li { grid-template-columns:1fr; }
  .amount-list small { grid-column:1; }
  .story-content .md-note { margin-left:12px; }
  .site-footer { padding:34px 20px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
