/* Legal investigations: a source-led editorial page using the site palette. */
.legal-page { --legal-rule: var(--line); }
.legal-page a:focus-visible, .legal-page button:focus-visible, .legal-page [tabindex]:focus-visible { outline: 3px solid var(--brand-teal-mid); outline-offset: 5px; }
.legal-skip { position: fixed; top: 82px; left: 24px; z-index: 110; padding: 12px 18px; background: var(--n0); color: var(--brand-teal-deep); transform: translateY(-220px); border: 1px solid var(--brand-teal); }
.legal-skip:focus { transform: none; }
.legal-hero { padding: 160px 0 94px; background: radial-gradient(ellipse at 92% 12%, var(--bg-tint-2), transparent 53%), var(--bg); }
.legal-hero__grid { display: grid; grid-template-columns: 1.12fr 1fr; gap: 76px; align-items: center; }
.legal-eyebrow { font-family: var(--font-mono); font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .11em; color: var(--brand-teal); margin-bottom: 24px; }
.legal-hero h1 { font-size: clamp(50px, 5.6vw, 76px); line-height: 1.02; font-weight: 500; letter-spacing: -.055em; }
.legal-hero h1 span { color: var(--brand-teal); }
.legal-hero__intro { font-size: 21px; line-height: 1.45; max-width: 490px; margin-top: 28px; }
.legal-hero__body { color: var(--fg2); font-size: 15px; line-height: 1.8; max-width: 510px; margin-top: 18px; }
.legal-actions { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; margin-top: 32px; }
.legal-text-link { color: var(--brand-teal-deep); font-size: 13px; font-weight: 600; border-bottom: 1px solid var(--brand-sage); padding: 6px 0; }
.legal-text-link span { margin-left: 8px; }
.legal-hero__audience { margin-top: 30px; font-size: 11px; color: var(--fg2); letter-spacing: .02em; }
.legal-record { padding: 30px 34px; border: 1px solid var(--brand-sage); background: var(--bg-elev); box-shadow: 18px 18px 0 var(--bg-tint-2), var(--shadow-3); transform: rotate(1deg); }
.legal-record__header { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); padding-bottom: 22px; margin-bottom: 32px; font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: var(--fg2); }
.legal-record__tag { border: 1px solid var(--line); border-radius: var(--r-pill); padding: 5px 9px; }
.legal-record__label { font-size: 10px; font-family: var(--font-mono); text-transform: uppercase; color: var(--brand-teal); letter-spacing: .1em; margin-bottom: 10px; }
.legal-record h2 { font-size: clamp(24px, 2.5vw, 32px); font-weight: 500; line-height: 1.23; }
.legal-record__trail { list-style: none; padding: 0; margin: 34px 0; }
.legal-record__trail li { display: flex; gap: 18px; position: relative; padding-bottom: 27px; }
.legal-record__trail li:last-child { padding-bottom: 0; }
.legal-record__trail li:not(:last-child)::after { content: ''; position: absolute; width: 1px; background: var(--brand-sage); top: 32px; bottom: 0; left: 15px; }
.legal-record__dot { flex: 0 0 31px; height: 31px; display: grid; place-items: center; border: 1px solid var(--brand-sage); border-radius: 50%; color: var(--brand-teal); font: 10px var(--font-mono); }
.legal-record__trail strong { font-size: 14px; font-weight: 600; }
.legal-record__trail p { color: var(--fg2); font-size: 11px; line-height: 1.7; margin-top: 5px; }
.legal-record__result { border-top: 1px solid var(--line); padding-top: 22px; display: flex; align-items: center; gap: 20px; color: var(--brand-teal-deep); font-size: 15px; line-height: 1.6; }
.legal-record__result > span { font-size: 34px; }
.legal-record__note { margin-top: 22px; color: var(--fg2); font-size: 10px; }
.legal-principles { background: var(--brand-teal-deep); color: var(--brand-light-sage); padding: 20px 0; }
.legal-principles .container { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.legal-principles span { font-family: var(--font-mono); font-size: 11px; letter-spacing: .025em; }
.legal-section { padding: 100px 0; scroll-margin-top: var(--header-h); }
.legal-section-heading { max-width: 670px; margin-bottom: 54px; }
.legal-section-heading .legal-eyebrow { margin-bottom: 20px; }
.legal-section h2 { font-size: clamp(32px, 4vw, 49px); font-weight: 500; line-height: 1.12; letter-spacing: -.035em; }
.legal-section-heading > p:last-child { font-size: 16px; color: var(--fg2); line-height: 1.8; margin-top: 24px; }
.legal-capabilities { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--legal-rule); }
.legal-capabilities article { padding: 32px 30px 0; border-right: 1px solid var(--legal-rule); }
.legal-capabilities article:first-child { padding-left: 0; }
.legal-capabilities article:last-child { padding-right: 0; border-right: 0; }
.legal-number { display: inline-block; font-family: var(--font-mono); font-size: 12px; color: var(--brand-teal); margin-bottom: 24px; }
.legal-capabilities h3 { font-size: 24px; font-weight: 500; line-height: 1.2; margin-bottom: 22px; }
.legal-capabilities p { font-size: 14px; line-height: 1.8; color: var(--fg2); }
.legal-capabilities .legal-implication { border-top: 1px solid var(--line); margin-top: 26px; padding-top: 22px; font-size: 12px; }
.legal-implication strong { display: block; color: var(--brand-teal-deep); margin-bottom: 8px; }
.legal-section--dark { background: var(--brand-teal-deep); color: var(--n0); }
.legal-section--dark .legal-eyebrow, .legal-section--dark .legal-number { color: var(--brand-light-sage); }
.legal-section--dark .legal-section-heading > p:last-child, .legal-workflow p { color: var(--n200); }
.legal-workflow { display: grid; grid-template-columns: 1fr 1fr; gap: 36px 64px; padding: 0; list-style: none; margin: 0; }
.legal-workflow li { display: flex; gap: 28px; padding-top: 28px; border-top: 1px solid var(--brand-teal-mid); }
.legal-workflow .legal-number { flex: 0 0 20px; margin: 4px 0 0; }
.legal-workflow h3 { font-size: 23px; font-weight: 500; margin-bottom: 16px; }
.legal-workflow p { font-size: 14px; line-height: 1.8; }
.legal-section--sage { background: var(--bg-tint-2); }
.legal-cases-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 44px; }
.legal-cases-heading .legal-section-heading { margin: 0; }
.legal-carousel-controls { display: flex; flex: 0 0 auto; gap: 10px; }
.legal-carousel-controls[hidden], .legal-case-counter[hidden] { display: none; }
.legal-carousel-controls button { display: grid; place-items: center; border: 1px solid var(--brand-teal); color: var(--brand-teal-deep); width: 46px; height: 46px; border-radius: 50%; font-size: 20px; transition: background var(--dur-1); }
.legal-carousel-controls button:hover:not(:disabled) { background: var(--brand-light-sage); }
.legal-carousel-controls button:disabled { opacity: .35; cursor: default; }
.legal-case-track { position: relative; display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: var(--brand-sage) transparent; padding: 4px 4px 18px; }
.legal-case { flex: 0 0 57%; display: flex; flex-direction: column; justify-content: space-between; gap: 36px; padding: 38px; border: 1px solid var(--brand-sage); background: var(--bg-elev); scroll-snap-align: start; }
.legal-case__status { align-self: flex-start; color: var(--brand-teal-deep); font: 10px var(--font-mono); padding: 7px 11px; border: 1px solid var(--brand-sage); border-radius: var(--r-pill); text-transform: uppercase; letter-spacing: .06em; }
.legal-case .legal-eyebrow { margin-bottom: 16px; }
.legal-case h3 { font-size: clamp(24px, 3vw, 36px); font-weight: 500; line-height: 1.2; }
.legal-case > p { color: var(--fg2); font-size: 13px; line-height: 1.8; max-width: 400px; }
.legal-case__open { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; text-align: left; padding: 18px 0 0; border-top: 1px solid var(--line); color: var(--brand-teal-deep); font-size: 13px; font-weight: 600; }
.legal-case__open:hover { color: var(--brand-teal); }
.legal-case__open > span[aria-hidden] { font-size: 20px; }
.legal-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.legal-case-modal { position: fixed; inset: 0; margin: auto; width: min(760px, calc(100vw - 32px)); max-width: none; max-height: 88vh; max-height: 88dvh; overflow-y: auto; overscroll-behavior: contain; padding: 36px; border: 1px solid var(--brand-sage); border-radius: var(--r-3); background: var(--bg-elev); color: var(--fg1); box-shadow: var(--shadow-4); }
.legal-case-modal::backdrop { background: rgba(10,12,27,.65); backdrop-filter: blur(4px); }
.legal-case-modal__top { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 28px; }
.legal-case-modal__top form { margin: 0; }
.legal-case-modal__close { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; font-size: 27px; line-height: 1; color: var(--brand-teal-deep); }
.legal-case-modal__close:hover { background: var(--bg-tint); }
.legal-case-modal h2 { font-size: clamp(28px, 4vw, 38px); line-height: 1.15; }
.legal-case-modal .legal-eyebrow { margin-bottom: 14px; }
.legal-case-modal__context { margin-top: 22px; color: var(--fg2); font-size: 15px; line-height: 1.8; }
.legal-case-modal__section { padding-top: 26px; margin-top: 26px; border-top: 1px solid var(--line); }
.legal-case-modal h3 { font-size: 16px; font-weight: 600; letter-spacing: -.01em; margin-bottom: 12px; }
.legal-case-modal__section p, .legal-case-modal__evidence p { font-size: 14px; line-height: 1.8; color: var(--fg2); }
.legal-case-modal__evidence { padding: 24px; margin-top: 28px; background: var(--bg-tint-2); border-left: 3px solid var(--brand-sage); }
.legal-case-modal__evidence h3 { color: var(--brand-teal-deep); }
.legal-case-modal__note { color: var(--fg2); font-size: 11px; line-height: 1.8; margin-top: 24px; }
.legal-case-modal :focus-visible { outline: 3px solid var(--brand-teal-mid); outline-offset: 4px; }
.legal-case-counter { font: 11px var(--font-mono); color: var(--fg2); margin-top: 16px; }
.legal-contact { background: var(--bg-elev); }
.legal-contact__grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 76px; align-items: start; }
.legal-contact__grid > div > p:last-child { margin-top: 24px; color: var(--fg2); font-size: 15px; line-height: 1.8; max-width: 620px; }
.legal-inquiry-form { display: flex; flex-direction: column; gap: 20px; padding: 32px; background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-3); }
.legal-inquiry-form .form-row { margin: 0; }
.legal-inquiry-form .form-field { margin-bottom: 0; min-width: 0; }
.legal-inquiry-form textarea { resize: vertical; min-height: 120px; }
.legal-form-optional { color: var(--fg2); font-weight: 400; }
.legal-form-note { color: var(--fg2); font-size: 12px; line-height: 1.7; }
.legal-form-status { background: var(--bg-tint); color: var(--brand-teal-deep); padding: 14px 16px; border-radius: var(--r-1); font-size: 13px; line-height: 1.7; }
.legal-success { padding: 180px 0 120px; min-height: 65vh; }
.legal-success h1 { font-size: clamp(36px, 5vw, 54px); font-weight: 500; line-height: 1.12; }
.legal-success .container > p:not(.legal-eyebrow) { margin: 24px 0 32px; color: var(--fg2); font-size: 17px; line-height: 1.8; }
.site-nav__link[aria-current="page"] { color: var(--brand-light-sage); }
@media (max-width: 1100px) {
  .legal-hero__grid { gap: 44px; }
  .legal-record { padding: 26px; }
  .site-nav { gap: 20px; }
}
@media (max-width: 900px) {
  .legal-hero { padding-top: 128px; }
  .legal-hero__grid { grid-template-columns: 1fr; gap: 56px; }
  .legal-record { max-width: 580px; width: calc(100% - 18px); transform: none; }
  .legal-hero h1 { font-size: 66px; }
  .legal-hero__body { max-width: 620px; }
  .legal-section { padding: 76px 0; }
  .legal-capabilities { grid-template-columns: 1fr; }
  .legal-capabilities article, .legal-capabilities article:first-child, .legal-capabilities article:last-child { padding: 30px 0; border-right: none; border-bottom: 1px solid var(--line); }
  .legal-capabilities h3 br { display: none; }
  .legal-capabilities .legal-number { margin-bottom: 14px; }
  .legal-workflow { gap: 32px; }
  .legal-contact__grid { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 600px) {
  .legal-hero { padding: 116px 0 60px; }
  .legal-hero h1 { font-size: clamp(43px, 12vw, 62px); }
  .legal-hero__intro { font-size: 19px; }
  .legal-eyebrow { font-size: 10px; }
  .legal-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .legal-actions .btn { font-size: 13px; padding-inline: 20px; white-space: normal; }
  .legal-record { padding: 22px; box-shadow: 10px 10px 0 var(--bg-tint-2); }
  .legal-record__header { font-size: 9px; }
  .legal-principles .container { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
  .legal-principles span { font-size: 10px; }
  .legal-section { padding: 60px 0; }
  .legal-section-heading { margin-bottom: 36px; }
  .legal-workflow { grid-template-columns: 1fr; }
  .legal-cases-heading { display: block; }
  .legal-carousel-controls { margin-top: 26px; }
  .legal-case { flex-basis: 90%; padding: 24px; gap: 28px; }
  .legal-case h3 { font-size: 26px; }
  .legal-case-modal { padding: 22px; }
  .legal-case-modal__evidence { padding: 18px; }
  .legal-inquiry-form { padding: 22px; }
  .legal-inquiry-form .form-row { grid-template-columns: 1fr; }
  .legal-success { padding: 130px 0 76px; }
}
@media (prefers-reduced-motion: reduce) {
  .legal-page *, .legal-page *::before, .legal-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Illustrated investigation sections and rotating report pages. */
.legal-hero__grid > * { min-width: 0; }
.legal-report { transform: none; overflow: hidden; padding: 24px 28px; }
.legal-report .legal-record__header { margin-bottom: 18px; padding-bottom: 14px; }
.legal-report__pages { display: grid; }
.legal-report__page { grid-area: 1 / 1; min-width: 0; opacity: 0; visibility: hidden; transform: translateY(14px); transition: opacity .5s ease, transform .5s ease, visibility .5s; pointer-events: none; }
.legal-report__page.is-active { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.legal-report__page h2 { min-height: 2.5em; font-size: clamp(24px, 2.1vw, 28px); line-height: 1.45; }
.legal-report__question-marker { padding: .04em .16em .08em; border-radius: .12em; background: #E2EDCF; color: var(--brand-teal-deep); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.legal-report__subtitle { margin-top: 10px; color: var(--fg2); font-size: 11px; line-height: 1.5; }
.legal-report__diagram { display: block; width: 100%; height: 222px; object-fit: contain; margin: 14px 0; border-radius: 10px; background: #F8F9F7; }
.legal-report__details { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0; padding-top: 14px; border-top: 1px solid var(--line); }
.legal-report__details dt { color: var(--brand-teal-deep); font-size: 11px; font-weight: 600; }
.legal-report__details dd { margin: 5px 0 0; color: var(--fg2); font-size: 10px; line-height: 1.6; }
.legal-report__controls { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 16px; }
.legal-report__controls[hidden] { display: none; }
.legal-report__selectors { display: flex; gap: 8px; }
.legal-report__selectors button { width: 34px; height: 34px; border: 1px solid var(--brand-sage); border-radius: 50%; color: var(--brand-teal-deep); font: 10px var(--font-mono); transition: background .2s, color .2s; }
.legal-report__selectors button[aria-pressed="true"] { color: white; background: var(--brand-teal-deep); border-color: var(--brand-teal-deep); }
.legal-visual-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 64px; align-items: center; }
.legal-illustration { margin: 0; min-width: 0; }
.legal-illustration img { display: block; width: 100%; height: auto; border-radius: 24px; }
.legal-illustration figcaption { margin-top: 14px; color: var(--fg2); font: 10px var(--font-mono); letter-spacing: .04em; }
.legal-capabilities { display: grid; grid-template-columns: 1fr; border: 0; }
.legal-capabilities article, .legal-capabilities article:first-child, .legal-capabilities article:last-child { display: flex; gap: 24px; padding: 24px 0; border: 0; border-top: 1px solid var(--line); }
.legal-capability-icon { display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; border: 1px solid var(--brand-sage); border-radius: 12px; color: var(--brand-teal); background: var(--bg-tint-2); }
.legal-capability-icon svg { display: block; width: 26px; height: 26px; }
.legal-capabilities article > div { min-width: 0; }
.legal-capabilities h3 { font-size: 23px; margin-bottom: 10px; }
.legal-capabilities p { line-height: 1.65; }
.legal-workflow { grid-template-columns: 1fr; gap: 22px; }
.legal-workflow li { gap: 24px; padding-top: 20px; }
.legal-workflow h3 { font-size: 21px; margin-bottom: 8px; }
.legal-workflow p { line-height: 1.65; }
.legal-section--dark .legal-illustration figcaption { color: var(--n200); }
@media (max-width: 900px) {
  .legal-visual-grid { gap: 36px; grid-template-columns: 1fr 1fr; }
  .legal-report { max-width: 580px; }
  .legal-report__page h2 { min-height: 2.5em; }
}
@media (max-width: 650px) {
  .legal-visual-grid { grid-template-columns: 1fr; gap: 30px; }
  .legal-report__page h2 { font-size: 23px; min-height: 2.5em; }
  .legal-report__details { gap: 12px; }
  .legal-report { padding: 20px; }
  .legal-report__diagram { margin: 14px 0; height: 208px; }
  .legal-capabilities article, .legal-capabilities article:first-child, .legal-capabilities article:last-child { padding: 22px 0; }
  .legal-illustration figcaption { font-size: 9px; }
}

.legal-workflow-contact { display: flex; justify-content: center; margin-top: 44px; }
.legal-workflow-contact .btn { background: var(--brand-light-sage); color: var(--brand-teal-deep); }
.legal-workflow-contact .btn:hover { background: var(--n0); }

/* Report extracts keep the emphasis on source material. */
.legal-report__visual { display: flex; flex-direction: column; justify-content: center; gap: 0; min-height: 222px; margin: 14px 0; padding: 16px; background: #F8F9F7; border: 1px solid var(--line); border-radius: 12px; }
.legal-report__document-heading { display: flex; gap: 10px; align-items: center; padding-bottom: 12px; margin-bottom: 2px; border-bottom: 1px solid var(--line); }
.legal-report__document-heading > svg { flex: 0 0 26px; width: 26px; height: 26px; color: #7B8982; }
.legal-report__document-heading div > span, .legal-report__source-foot > span { display: block; font: 9px var(--font-mono); text-transform: uppercase; letter-spacing: .04em; color: var(--fg2); }
.legal-report__document-heading strong { display: block; margin-top: 4px; color: var(--brand-teal-deep); font-size: 14px; font-weight: 600; }
.legal-report__source-tag { margin-left: auto; padding: 5px 7px; font: 8px var(--font-mono); border: 1px solid #DCE1DC; border-radius: 5px; color: #64716B; white-space: nowrap; }
.legal-report__record-row { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.legal-report__record-row > span { color: var(--fg2); }
.legal-report__record-row strong { position: relative; display: flex; align-items: center; gap: 8px; color: var(--brand-teal-deep); font-weight: 600; }
.legal-report__record-row--match strong::before { content: ''; position: absolute; inset: -5px -7px; background: #C6CFC8; opacity: .24; transform-origin: left; border-radius: 3px; }
.legal-report__check { display: block; flex: 0 0 18px; width: 18px; height: 18px; color: #83958B; }
.legal-report__source-foot { padding-top: 12px; }
.legal-report__source-foot > strong { display: flex; justify-content: space-between; gap: 8px; margin-top: 6px; color: var(--brand-teal-deep); font-size: 11px; font-weight: 500; }
.legal-report__funding-record { justify-content: flex-start; gap: 12px; }
.legal-report__record-index { display: grid; place-items: center; flex: 0 0 28px; height: 28px; background: var(--bg-elev); border-radius: 50%; font: 9px var(--font-mono); }
.legal-report__funding-record div > span { display: block; font-size: 10px; color: var(--fg2); }
.legal-report__funding-record strong { margin-top: 5px; font-size: 13px; }
.legal-report__funding-record small { display: block; margin-top: 5px; font-size: 10px; color: var(--fg2); line-height: 1.4; }
.legal-report__funding-record > .legal-report__check { margin-left: auto; }
.legal-report__page.is-active .legal-report__record-row { animation: legal-record-reveal .65s ease both; }
.legal-report__page.is-active .legal-report__record-row:nth-child(2) { animation-delay: .1s; }
.legal-report__page.is-active .legal-report__record-row:nth-child(3) { animation-delay: .25s; }
.legal-report__page.is-active .legal-report__record-row:nth-child(4) { animation-delay: .4s; }
.legal-report__page.is-active .legal-report__record-row--match strong::before { animation: legal-record-highlight .8s .8s ease both; }
.legal-report__page.is-active .legal-report__check path { stroke-dasharray: 20; animation: legal-record-check .6s .8s ease both; }
.legal-report__crypto { position: relative; }
.legal-report__funding-record strong { width: fit-content; }
.legal-report__page.is-active .legal-report__funding-record:nth-child(2) { animation-delay: .15s; }
.legal-report__page.is-active .legal-report__funding-record:nth-child(3) { animation-delay: .9s; }
.legal-report__page.is-active .legal-report__funding-record:nth-child(2) strong::before { animation-delay: .65s; }
.legal-report__page.is-active .legal-report__funding-record:nth-child(3) strong::before { animation-delay: 1.4s; }
.legal-report__page.is-active .legal-report__funding-record:nth-child(2) .legal-report__check path { animation-delay: 1.15s; }
.legal-report__page.is-active .legal-report__funding-record:nth-child(3) .legal-report__check path { animation-delay: 1.9s; }
.legal-report__page.is-active .legal-report__funding .legal-report__source-foot { animation: legal-record-reveal .65s 2.2s ease both; }
.legal-report__page.is-active .legal-crypto__node { animation: legal-record-reveal .65s var(--step) ease both; }
.legal-report__page.is-active .legal-crypto__path { stroke-dasharray: 1; animation: legal-crypto-trace .65s var(--step) ease both; }
.legal-report__page.is-active .legal-crypto__wallet { animation: legal-crypto-wallet 1.2s 2.3s ease both; }
@keyframes legal-record-reveal { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@keyframes legal-record-highlight { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes legal-record-check { from { stroke-dashoffset: 20; } to { stroke-dashoffset: 0; } }
@keyframes legal-crypto-trace { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes legal-crypto-wallet { 0%, 100% { fill: #EBEFEB; stroke: #DAE1DB; } 45% { fill: #E1E7E2; stroke: #8F9F95; } }
@media (max-width: 650px) {
  .legal-report__visual { padding: 14px; min-height: 208px; margin: 14px 0; }
  .legal-report__document-heading { gap: 7px; }
  .legal-report__source-tag { font-size: 7px; padding: 4px; }
}

.site-footer--compact .site-footer__grid { grid-template-columns: 2fr 1fr 1fr; }
@media (max-width: 768px) {
  .site-footer--compact .site-footer__grid { grid-template-columns: 1fr 1fr; }
}

/* Litigation report previews use the supplied motion, goal, and findings. */
.legal-report--litigation .legal-report__page h2 { min-height: 0; line-height: 1.3; }
.legal-report__case-meta { display: grid; gap: 12px; margin: 18px 0 0; }
.legal-report__case-meta > div { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 12px; }
.legal-report__case-meta dt, .legal-report__finding h3 { color: var(--brand-teal-deep); font: 10px var(--font-mono); text-transform: uppercase; letter-spacing: .06em; line-height: 1.6; }
.legal-report__case-meta dd { margin: 0; color: var(--fg2); font-size: 13px; line-height: 1.6; }
.legal-report__motion dt, .legal-report__motion dd { font-weight: 700; }
.legal-report__finding { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); }
.legal-report__finding p { margin-top: 8px; color: var(--fg2); font-size: 13px; line-height: 1.75; }
@media (max-width: 650px) {
  .legal-report__case-meta > div { grid-template-columns: 42px minmax(0, 1fr); gap: 8px; }
}
