/* /legal/ landing: page-local additions on top of agent-os.css + manykind-design.css tokens. */
.mk-legal { --seal-red:#a2463a; --lux-ease:cubic-bezier(.22,1,.36,1); }


/* Hero */
.mk-legal .hero { position:relative; overflow:hidden; background:linear-gradient(180deg,#eef6fa 0%,#fcfdfd 100%); padding-bottom:40px; }
.mk-legal .hero > .wrap { position:relative; z-index:1; }
.mk-legal .hero h1 { max-width:960px; }
.mk-legal .hero .proof { color:var(--muted); border-color:var(--line); margin-top:36px; }
.lg-aurora { position:absolute; inset:-10% -10% auto -10%; height:120%; z-index:0; pointer-events:none; opacity:.7; mix-blend-mode:multiply; }
.lg-aurora canvas { width:100%!important; height:100%!important; display:block; }
.legal-underneath { margin:14px 0 28px; max-width:62ch; font-size:17px; font-weight:600; color:var(--primary); }

/* Hero: workflow graph */
.lg-graph-fig { margin:48px 0 0; padding:28px 28px 18px; border:1px solid var(--line); border-radius:10px; background:rgba(255,255,255,.92); backdrop-filter:blur(6px); box-shadow:0 1px 2px rgba(24,48,60,.06),0 24px 60px -24px rgba(24,48,60,.32); }
.lg-graph { display:block; width:100%; height:auto; }
.lg-graph-tall { display:none; max-width:420px; margin:0 auto; }
.lg-graph-fig figcaption { margin-top:12px; font-size:13px; color:var(--muted); }
.lg-gn rect { fill:#fff; stroke:var(--line2); stroke-width:1.2; }
.lg-gtag { font-family:var(--sans); font-weight:600; fill:var(--muted); }
.lg-gtitle { font-family:var(--sans); font-weight:700; fill:var(--primary); }
.lg-gsub { font-family:var(--sans); font-weight:500; fill:var(--muted); }
.lg-gate rect { fill:var(--primary); stroke:var(--primary); }
.lg-gate .lg-gtag { fill:var(--sky); }
.lg-gate .lg-gtitle,.lg-gate .lg-gsub { fill:#fff; }
.lg-gate-ic path { fill:none; stroke:var(--sky); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.lg-gedge path { fill:none; stroke:var(--accent); stroke-width:2; }
.lg-gloop path { fill:none; stroke:var(--accent); stroke-width:1.6; stroke-dasharray:5 5; }
.lg-gloop-t { font:600 14px var(--sans); fill:var(--accent); text-anchor:middle; }
.lg-gtpl rect { fill:var(--panel2); stroke:var(--accent); stroke-width:1.4; }
.lg-gtpl text { font:700 15px var(--sans); fill:var(--primary); text-anchor:middle; }
.lg-arrhead { fill:var(--accent); }

/* Problem: before / after */
.lg-compare { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:8px 0 40px; }
.lg-panel { margin:0; padding:22px 22px 18px; border:1px solid var(--line); border-radius:10px; background:var(--panel); }
.lg-panel figcaption { font-size:15px; font-weight:600; color:var(--muted); margin-bottom:10px; }
.lg-after { border-color:var(--line2); background:var(--panel2); }
.lg-after figcaption { color:var(--primary); }
.lg-panel svg { display:block; width:100%; height:auto; }
.lg-panel p { margin-top:10px; font-size:15px; color:var(--muted); }
.lg-after p { color:var(--primary); font-weight:600; }
.lg-loose path { fill:none; stroke:var(--line2); stroke-width:1.5; stroke-dasharray:4 5; }
.lg-q text { font:700 18px var(--sans); fill:var(--muted); text-anchor:middle; }
.lg-tile { fill:#fff; stroke:var(--line2); stroke-width:1.2; }
.lg-tile-ai { stroke-dasharray:5 4; }
.lg-tag { font:600 12px var(--sans); fill:var(--muted); }
.lg-tl { font:600 15px var(--sans); fill:var(--ink); }
.lg-mono { font:500 14px var(--mono); }
.lg-vault { fill:#fff; stroke:var(--accent); stroke-width:1.5; }
.lg-vault-head { fill:var(--primary); }
.lg-vault-name { font:600 15px var(--sans); fill:#fff; }
.lg-lock rect { fill:none; stroke:currentColor; stroke-width:1.8; }
.lg-lock path { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.lg-vault-head ~ .lg-lock,.lg-lock-w { color:#fff; }
.lg-rail { stroke:var(--sky); stroke-width:2; }
.lg-row circle { fill:#fff; stroke:var(--accent); stroke-width:2; }
.lg-row-last circle { fill:var(--accent); }
.lg-date { font:500 13px var(--sans); fill:var(--muted); }
.lg-who { font:600 13px var(--sans); fill:var(--accent); text-anchor:end; }
.lg-agent { fill:var(--primary); }
.lg-pains { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.lg-pains li { padding-top:16px; border-top:1px solid var(--line); color:var(--muted); font-size:16px; line-height:1.6; }
.lg-pains strong { color:var(--primary); }

/* How it works */
.mk-legal #how .section-head { margin-bottom:8px; }
.mk-legal .vertical .when { font-family:var(--sans); font-size:15px; font-weight:600; letter-spacing:0; text-transform:none; color:var(--accent); }
.mk-legal .vertical p + p,.lg-after-list { margin-top:14px; }
.lg-after-list strong { color:var(--primary); }
.lg-query { margin-top:20px; max-width:620px; border:1px solid var(--line); border-radius:10px; background:var(--panel); overflow:hidden; }
.lg-query-ask { margin:0; padding:14px 18px; font-weight:600; color:var(--primary); background:var(--panel2); border-bottom:1px solid var(--line); }
.lg-query-ask::before { content:"Ask the vault"; display:block; font-size:13px; font-weight:600; color:var(--accent); margin-bottom:4px; }
.lg-query-ans { padding:14px 18px 16px; }
.mk-legal .lg-query-ans p { color:var(--ink); margin:0; }
.lg-query-ans span { display:block; margin-top:8px; font-size:13px; color:var(--muted); }
.lg-owl { list-style:none; margin:16px 0 0; padding:0; display:grid; gap:8px; color:var(--muted); }
.lg-owl strong { color:var(--primary); font-family:var(--sans); font-size:18px; font-weight:600; margin-right:4px; }

/* Workspace gallery */
.legal-gallery { display:grid; gap:64px; }
.legal-shot-row { margin:0; display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:44px; align-items:center; }
.legal-shot-row:nth-child(even) { grid-template-columns:minmax(0,1fr) minmax(0,1.7fr); }
.legal-shot-row:nth-child(even) img { order:2; }
.legal-shot-row img { display:block; width:100%; height:auto; border:1px solid var(--line); border-radius:10px; box-shadow:0 1px 2px rgba(24,48,60,.06),0 24px 60px -24px rgba(24,48,60,.32); }
.legal-shot-row figcaption h3 { margin-bottom:12px; color:var(--primary); }
.legal-shot-row figcaption p { color:var(--muted); font-size:16px; line-height:1.8; }

/* Trust: models, comparison, guarantees */
.mk-legal #trust { background:var(--panel2); }
.lg-trust-head { position:relative; }
.lg-seal { width:84px; height:84px; margin:0 0 10px -10px; }
.lg-table-wrap { margin:8px 0 56px; overflow-x:auto; border:1px solid var(--line2); border-radius:10px; background:var(--panel); }
.lg-table { width:100%; min-width:720px; border-collapse:collapse; font-size:15px; line-height:1.5; }
.lg-table caption { caption-side:top; text-align:left; padding:20px 22px 6px; font-family:var(--sans); font-size:21px; font-weight:500; color:var(--primary); }
.lg-table th,.lg-table td { text-align:left; vertical-align:top; padding:14px 22px; border-top:1px solid var(--line); }
.lg-table thead th { font-size:14px; font-weight:600; color:var(--muted); border-top:0; }
.lg-table tbody th { width:22%; font-weight:600; color:var(--primary); }
.lg-table td { color:var(--muted); }
.lg-table td.lg-best { color:var(--primary); font-weight:600; background:rgba(174,217,238,.18); }
.lg-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.lg-models { display:block; margin-bottom:24px; }
.lg-models > div { max-width:none; }
.lg-tiers { grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:32px; }
.lg-models-h { font-size:clamp(26px,2.6vw,34px); margin-bottom:14px; color:var(--primary); }
.lg-models > div > p { color:var(--muted); max-width:58ch; }
.lg-tiers { margin:22px 0 0; display:grid; gap:0; }
.lg-tiers > div { padding:14px 0; border-top:1px solid var(--line2); }
.lg-tiers dt { font-weight:700; color:var(--primary); }
.lg-tiers dd { margin:4px 0 0; color:var(--muted); font-size:15px; line-height:1.6; }

/* Pilot band, FAQ */
.lg-who { max-width:62ch; }
.legal-faq { max-width:860px; border-top:1px solid var(--line); }
.legal-faq details { border-bottom:1px solid var(--line); }
.legal-faq summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:20px; align-items:center; min-height:44px; padding:20px 0; font-family:var(--sans); font-size:21px; font-weight:500; color:var(--primary); }
.legal-faq summary:focus-visible { outline:2px solid var(--accent); outline-offset:4px; border-radius:4px; }
.legal-faq summary::-webkit-details-marker { display:none; }
.legal-faq summary::after { content:"+"; flex:none; font-family:var(--sans); font-weight:500; font-size:22px; line-height:1; color:var(--accent); transition:transform .4s var(--lux-ease); }
.legal-faq details[open] summary::after { content:"\2212"; }
.legal-faq details p { padding:0 0 22px; max-width:70ch; color:var(--muted); line-height:1.8; }

/* Motion. Only runs when JS adds .lg-motion (motion allowed, IntersectionObserver present). */
.lg-motion [data-reveal] { opacity:0; transform:translateY(18px); transition:opacity 1.1s var(--lux-ease),transform 1.1s var(--lux-ease); }
.lg-motion [data-reveal].is-in { opacity:1; transform:none; }
.lg-motion [data-draw] .lg-gn,.lg-motion [data-draw] .lg-row,.lg-motion [data-draw] .lg-gloop { opacity:0; transition:opacity .9s var(--lux-ease); transition-delay:calc(var(--i,0) * 160ms + 150ms); }
.lg-motion [data-draw] .lg-gedge path { stroke-dasharray:1; stroke-dashoffset:1; opacity:0; transition:stroke-dashoffset 1s var(--lux-ease),opacity .2s linear; transition-delay:calc(var(--i,0) * 160ms + 250ms); }
.lg-motion [data-draw] .lg-gate-ic path { stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset 1.2s var(--lux-ease); transition-delay:calc(var(--i,0) * 160ms + 500ms); }
.lg-motion [data-draw].is-in .lg-gn,.lg-motion [data-draw].is-in .lg-row,.lg-motion [data-draw].is-in .lg-gloop { opacity:1; }
.lg-motion [data-draw].is-in .lg-gedge path,.lg-motion [data-draw].is-in .lg-gate-ic path { stroke-dashoffset:0; opacity:1; }
.lg-motion [data-draw].is-in .lg-gloop path { animation:lg-flow 6s linear infinite; }
.lg-motion [data-draw] .lg-before g[transform] { opacity:0; transition:opacity 1s var(--lux-ease); }
.lg-motion [data-draw].is-in .lg-before g[transform] { opacity:1; }
@keyframes lg-flow { to { stroke-dashoffset:-40; } }
@media (prefers-reduced-motion:reduce) {
  .lg-aurora { opacity:.4; }
}

/* Responsive */
@media(max-width:900px) {
  .lg-compare { grid-template-columns:1fr; }
  .lg-tiers { grid-template-columns:1fr; }
  .lg-models { gap:32px; }
  .lg-pains { grid-template-columns:1fr; gap:14px; }
  .legal-shot-row,.legal-shot-row:nth-child(even) { grid-template-columns:1fr; gap:22px; }
  .legal-shot-row:nth-child(even) img { order:0; }
  .legal-gallery { gap:48px; }
}
@media(max-width:760px) {
  .lg-graph-fig { margin-top:32px; padding:14px 8px 12px; }
  .lg-graph-wide { display:none; }
  .lg-graph-tall { display:block; }
  .lg-graph-fig figcaption { padding:0 8px; }
  .lg-panel { padding:16px 14px 14px; }
  .legal-faq summary { font-size:19px; padding:16px 0; }
  .lg-seal { width:68px; height:68px; }
  .lg-table-wrap { overflow:visible; }
  .lg-table { min-width:0; }
  .lg-table thead { display:none; }
  .lg-table,.lg-table tbody,.lg-table tr,.lg-table th,.lg-table td { display:block; width:auto; }
  .lg-table caption { display:block; padding:18px 16px 4px; font-size:19px; }
  .lg-table tbody th { width:auto; padding:18px 16px 6px; font-size:16px; }
  .lg-table td { padding:6px 16px; border-top:0; }
  .lg-table td::before { content:attr(data-label); display:block; font-size:12px; font-weight:600; color:var(--muted); }
  .lg-table td:last-child { padding-bottom:16px; }
  .lg-table td.lg-best { margin:0 8px; padding:8px; border-radius:6px; }
}

/* Fred's deck diagrams, rebuilt for the web: platform, client vault, grant model, client brain */
.lg-fig { margin:40px 0 8px; padding:32px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(180deg,#fff 0%,#f7fbfd 100%); box-shadow:0 1px 2px rgba(24,48,60,.05),0 30px 70px -40px rgba(24,48,60,.35); }
.lg-fig > figcaption { margin-top:22px; padding-top:16px; border-top:1px solid var(--line); font-size:15px; color:var(--muted); max-width:80ch; }
.lg-fig-h { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 6px; font-family:var(--sans); font-size:21px; font-weight:600; color:var(--primary); }
.lg-fig-h span { font-family:var(--sans); font-size:14px; font-weight:500; color:var(--muted); }
.lg-fig-sub { margin:18px 0 8px; font-size:13px; font-weight:600; color:var(--accent); }
.lg-ic { width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; color:var(--accent); }
.lg-ic-lg { width:44px; height:44px; stroke-width:1.2; color:var(--primary); }

/* A. Platform */
.lg-stack-grid { display:grid; grid-template-columns:minmax(0,1fr) 92px minmax(0,1.1fr) 92px minmax(0,1fr); align-items:stretch; }
.lg-stack-col { padding:22px; border:1px solid var(--line2); border-radius:12px; background:#fff; }
.lg-stack-os { border-color:var(--accent); box-shadow:0 0 0 4px rgba(174,217,238,.25); }
.lg-roles,.lg-cat,.lg-os-list { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.lg-roles { grid-template-columns:1fr 1fr; }
.lg-roles li,.lg-cat li,.lg-os-list li { display:flex; align-items:center; gap:9px; font-size:14px; color:var(--ink); }
.lg-roles li { padding:9px 10px; border:1px solid var(--line); border-radius:8px; background:var(--panel2); }
.lg-pack { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 0; }
.lg-pack span { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border:1px solid var(--line2); border-radius:999px; font-size:13px; font-weight:600; color:var(--primary); }
.lg-stack-arrow,.lg-stack-link { position:relative; display:flex; align-items:center; justify-content:center; }
.lg-stack-arrow::before { content:""; position:absolute; left:10px; right:10px; top:50%; height:46px; transform:translateY(-50%); background:var(--accent); clip-path:polygon(0 30%,72% 30%,72% 0,100% 50%,72% 100%,72% 70%,0 70%); opacity:.9; }
.lg-stack-arrow span,.lg-stack-link span { position:relative; margin-top:96px; font-size:12px; font-weight:600; line-height:1.35; text-align:center; color:var(--accent); }
.lg-stack-link::before { content:""; position:absolute; left:12px; right:12px; top:50%; border-top:2px solid var(--accent); }
.lg-stack-link::after { content:"\2194"; position:absolute; top:50%; left:50%; transform:translate(-50%,-56%); font-size:30px; line-height:1; color:var(--accent); background:transparent; }
.lg-orbit-wrap { display:flex; justify-content:center; margin:6px 0 10px; }
.lg-orbit-svg { width:200px; height:200px; overflow:visible; }
.lg-orbit-ring { fill:none; stroke:var(--line2); stroke-width:1.5; stroke-dasharray:3 6; }
.lg-orbit-arc { fill:none; stroke:var(--accent); stroke-width:3; stroke-linecap:round; }
.lg-orbit-spin { transform-origin:110px 110px; }
.lg-orbit-node circle { fill:#fff; stroke:var(--accent); stroke-width:1.6; }
.lg-orbit-node path,.lg-orbit-node rect,.lg-orbit-node circle + g * { fill:none; stroke:var(--primary); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.lg-orbit-svg text { font:700 16px var(--sans); fill:var(--primary); text-anchor:middle; }
.lg-tav { display:flex; gap:6px; margin:14px 0 0; padding:8px; border:1px solid var(--accent); border-radius:8px; justify-content:space-around; }
.lg-tav span { font-size:13px; font-weight:700; color:var(--accent); }
.lg-data-icons { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:16px 0 18px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.lg-data-icons span { display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; font-size:13px; font-weight:600; color:var(--ink); }

/* B. Client vault scopes */
.lg-scopes-grid { display:grid; grid-template-columns:minmax(0,2.4fr) minmax(0,1fr); gap:36px; align-items:start; }
.lg-scopes-vault { padding:24px; border:1.5px solid var(--accent); border-radius:14px; background:var(--panel2); }
.lg-scope-tiles { list-style:none; margin:16px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.lg-scope-tiles li { padding:18px 14px; border:1px solid var(--line); border-radius:10px; background:#fff; text-align:center; }
.lg-scope-tiles strong { display:block; font-family:var(--sans); font-size:18px; font-weight:600; color:var(--primary); }
.lg-scope-tiles span { display:block; margin-top:4px; font-size:12.5px; color:var(--muted); }
.lg-scopes-foot { margin:16px 0 0; font-size:14px; color:var(--muted); }
.lg-scopes-agents { padding-top:46px; }
.lg-agent-card { position:relative; margin:14px 0 0; padding:16px 18px; border:1px solid var(--line2); border-radius:10px; background:#fff; }
.lg-agent-card::before { content:""; position:absolute; right:100%; top:50%; width:36px; border-top:2px dashed var(--accent); }
.lg-agent-card strong { display:block; color:var(--primary); }
.lg-agent-card span { font-size:13.5px; color:var(--muted); }
.lg-scopes-note { margin:22px 0 0; font-size:14px; color:var(--muted); line-height:1.7; }

/* C. Grant model */
.lg-grant svg { display:block; width:100%; height:auto; }
.lg-grant .lg-grant-tall { display:none; max-width:420px; margin:0 auto; }
.lg-grant .lg-gn rect { fill:#fff; stroke:var(--line2); stroke-width:1.3; }
.lg-wallet rect,.lg-grantbox rect { stroke:var(--accent)!important; stroke-width:1.8!important; }
.lg-grantbox rect { fill:var(--panel2)!important; }
.lg-vaultbox rect { fill:var(--panel2)!important; }
.lg-ic-in path,.lg-ic-in circle { fill:none; stroke:var(--accent); stroke-width:1.8; stroke-linecap:round; }
.lg-bt { font:700 17px var(--sans); fill:var(--primary); }
.lg-bs { font:500 14.5px var(--sans); fill:var(--muted); }
.lg-el { font:600 13px var(--sans); fill:var(--accent); }
.lg-grant .lg-gloop path { stroke:#2f8a73; }
.lg-grant .lg-gloop-t { fill:#2f8a73; }

/* D. Client brain */
.lg-brain-top { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr); gap:28px; align-items:center; }
.lg-brain-note { margin:0; font-family:var(--sans); font-size:20px; line-height:1.45; color:var(--primary); }
.lg-brain-vault { padding:22px 26px; border:1.5px solid var(--accent); border-radius:14px; background:var(--panel2); }
.lg-mem { list-style:none; margin:12px 0 0; padding:0; display:grid; gap:10px; }
.lg-mem li { display:flex; align-items:center; gap:14px; font-weight:600; color:var(--ink); }
.lg-mem-bar { width:120px; height:16px; border:1.5px solid var(--primary); border-radius:999px; position:relative; overflow:hidden; background:#fff; }
.lg-mem-bar::after { content:""; position:absolute; inset:2px auto 2px 2px; width:62%; border-radius:999px; background:var(--sky); }
.lg-mem li:nth-child(2) .lg-mem-bar::after { width:48%; }
.lg-mem li:nth-child(3) .lg-mem-bar::after { width:74%; }
.lg-mem li:nth-child(4) .lg-mem-bar::after { width:36%; }
.lg-brain-note-r { font-family:var(--sans); font-size:15px; color:var(--muted); text-align:right; }
.lg-brain-label { margin:14px 0 0; font-size:13px; font-weight:700; color:var(--muted); text-align:center; }
.lg-ops { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.lg-ops li { position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; padding:62px 18px 20px; }
.lg-op-stem { position:absolute; top:0; left:50%; height:52px; border-left:2px dashed #2f8a73; }
.lg-op-stem::before,.lg-op-stem::after { content:""; position:absolute; left:-6px; border:5px solid transparent; }
.lg-op-stem::before { top:-2px; border-bottom:7px solid #2f8a73; border-top:0; }
.lg-op-stem::after { bottom:-2px; border-top:7px solid #2f8a73; border-bottom:0; }
.lg-oploop { width:64px; height:64px; margin-bottom:10px; overflow:visible; }
.lg-oploop circle { fill:var(--panel2); stroke:none; }
.lg-oploop-arc { fill:none; stroke:var(--accent); stroke-width:3; stroke-linecap:round; }
.lg-oploop-head { fill:none; stroke:var(--accent); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.lg-oploop { transform-origin:50% 50%; }
.lg-ops strong { font-family:var(--sans); font-size:20px; font-weight:600; color:var(--primary); }
.lg-op-what { margin-top:2px; font-size:14px; color:var(--muted); }
.lg-op-out { margin-top:10px; font-size:14px; font-weight:600; color:var(--ink); }

/* Diagram motion */
.lg-motion [data-draw] .lg-stack-grid > *,.lg-motion [data-draw] .lg-scope-tiles li,.lg-motion [data-draw] .lg-agent-card,.lg-motion [data-draw] .lg-ops li,.lg-motion [data-draw] .lg-mem li,.lg-motion [data-draw] .lg-brain-vault {
  opacity:0; transform:translateY(10px); transition:opacity .9s var(--lux-ease),transform .9s var(--lux-ease); transition-delay:calc(var(--i,0) * 180ms + 120ms); }
.lg-motion [data-draw].is-in .lg-stack-grid > *,.lg-motion [data-draw].is-in .lg-scope-tiles li,.lg-motion [data-draw].is-in .lg-agent-card,.lg-motion [data-draw].is-in .lg-ops li,.lg-motion [data-draw].is-in .lg-mem li,.lg-motion [data-draw].is-in .lg-brain-vault { opacity:1; transform:none; }
.lg-motion [data-draw].is-in .lg-orbit-spin { animation:lg-spin 24s linear infinite; }
.lg-motion [data-draw].is-in .lg-oploop { animation:lg-spin 14s linear infinite; }
.lg-motion [data-draw].is-in .lg-ops li:nth-child(2) .lg-oploop { animation-duration:17s; }
.lg-motion [data-draw].is-in .lg-ops li:nth-child(3) .lg-oploop { animation-duration:20s; }
.lg-motion [data-draw].is-in .lg-op-stem,.lg-motion [data-draw].is-in .lg-agent-card::before { animation:lg-dash 2.4s linear infinite; }
@keyframes lg-spin { to { transform:rotate(360deg); } }
@keyframes lg-dash { 50% { opacity:.45; } }

@media(max-width:1000px) {
  .lg-stack-grid { grid-template-columns:1fr; }
  .lg-stack-arrow,.lg-stack-link { height:76px; }
  .lg-stack-arrow::before { left:50%; right:auto; top:8px; bottom:8px; width:46px; height:auto; transform:translateX(-50%); clip-path:polygon(30% 0,70% 0,70% 66%,100% 66%,50% 100%,0 66%,30% 66%); }
  .lg-stack-arrow span,.lg-stack-link span { margin:0 0 0 150px; text-align:left; }
  .lg-stack-link::before { left:50%; right:auto; top:8px; bottom:8px; border-top:0; border-left:2px solid var(--accent); }
  .lg-stack-link::after { content:"\2195"; transform:translate(-50%,-50%); background:var(--bg); padding:2px 0; }
  .lg-scopes-grid,.lg-brain-top { grid-template-columns:1fr; }
  .lg-brain-note-r { text-align:left; }
  .lg-scopes-agents { padding-top:0; }
  .lg-agent-card::before { display:none; }
  .lg-ops { grid-template-columns:1fr; gap:4px; }
}
@media(max-width:760px) {
  .lg-fig { padding:18px 14px; margin-top:28px; }
  .lg-scope-tiles { grid-template-columns:1fr 1fr; gap:8px; }
  .lg-scope-tiles li { padding:12px 8px; }
  .lg-scope-tiles strong { font-size:16px; }
  .lg-roles { grid-template-columns:1fr; }
  .lg-stack-arrow span,.lg-stack-link span { margin-left:58%; }
  .lg-grant .lg-grant-wide { display:none; }
  .lg-grant .lg-grant-tall { display:block; }
  .lg-mem-bar { width:88px; }
}
@media (prefers-reduced-motion:reduce) { .lg-orbit-spin,.lg-oploop { animation:none!important; } }

/* Two kinds of memory: client vault vs the firm's memory bank */
.lg-split { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr); gap:22px; align-items:stretch; margin:8px 0 0; padding-top:34px; border-top:1px solid var(--line); }
.lg-split-head h3 { font-size:26px; color:var(--primary); }
.lg-split-card { padding:22px; border:1.5px solid var(--accent); border-radius:12px; background:var(--panel2); }
.lg-split-card p:last-child { margin:6px 0 0; color:var(--muted); line-height:1.7; }
.lg-split-firm { border-color:var(--primary); background:#fff; }
.lg-hood-tiers { margin-top:40px; }
@media(max-width:900px) { .lg-split { grid-template-columns:1fr; } }

/* The receipts */
.lg-receipts { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,2fr); gap:22px; margin:28px 0 0; padding-top:28px; border-top:1px solid var(--line); }
.lg-receipts ul { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:14px 22px; }
.lg-receipts li { padding:14px 16px; border:1px solid var(--line); border-radius:10px; background:var(--panel); color:var(--muted); line-height:1.6; }
.lg-receipts strong { color:var(--primary); }
@media(max-width:900px) { .lg-receipts,.lg-receipts ul { grid-template-columns:1fr; } }
