.discovery-landing{max-width:1240px;margin:0 auto;padding:40px 28px 32px}
.discovery-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:36px}
.discovery-label{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0 0 12px}
.discovery-intro h1{font-size:clamp(2rem,3.6vw,3rem);line-height:1.08;letter-spacing:-.035em;margin:0 0 18px;max-width:560px}
.discovery-lead{font-size:1.05rem;line-height:1.6;max-width:540px}
.discovery-features{padding-left:20px;margin:18px 0 24px;line-height:1.9}
.discovery-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.discovery-actions [hidden]{display:none}
.discovery-actions button{font:inherit;cursor:pointer}
.discovery-caption,.discovery-source{font-size:.85rem;color:var(--text-muted);line-height:1.55}
.discovery-caption{margin:12px 0 0;max-width:520px}
.discovery-preview{margin:0;min-width:0}
.discovery-preview>div{height:470px;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:0 8px 26px #0b0f140a}
.discovery-preview img{display:block;width:100%;height:auto}
.discovery-preview figcaption{font-size:.8rem;color:var(--text-muted);margin:10px 0}
.discovery-details{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid var(--border);margin-top:28px;padding-top:24px}
.discovery-details h2{font-size:1.1rem;margin:0 0 8px}
.discovery-details p{font-size:.94rem;line-height:1.6;margin:0}
.discovery-source{border-top:1px solid var(--border);margin:24px 0 0;padding-top:18px}
#discovery-notice{color:#a12b22;font-size:.92rem;margin:12px 0}
@media(max-width:800px){.discovery-landing{padding:28px 20px}.discovery-intro{grid-template-columns:1fr;gap:26px}.discovery-preview>div{height:360px}.discovery-details{grid-template-columns:1fr;gap:22px}}
/* Architecture figure. Same class vocabulary as the memory-loop diagram in
   landing.css, scoped to this page and driven by the tokens in styles.css so
   it reads on both themes. The accent is reserved for the token path, which is
   the one thing the picture is arguing about. */
.discovery-arch{border-top:1px solid var(--border);margin-top:28px;padding-top:24px}
.discovery-arch h2{font-size:1.1rem;margin:0 0 16px}
.discovery-figure{margin:0;min-width:0}
.discovery-scroll{overflow-x:auto}
.discovery-scroll svg{display:block;width:100%;min-width:720px;height:auto}
.discovery-figure .bx{fill:var(--bg-elev);stroke:var(--border-strong);stroke-width:1.25}
.discovery-figure .bx-ct{fill:var(--bg-elev-2);stroke:var(--border);stroke-width:1.25}
.discovery-figure .bx-bkt{fill:var(--ink);stroke:var(--border-strong);stroke-width:1.25}
.discovery-figure .bx-perim{fill:none;stroke:var(--border-strong);stroke-width:1.25;stroke-dasharray:7 6}
.discovery-figure .dflow{fill:none;stroke:var(--text-dim);stroke-width:1.5}
.discovery-figure .dflow-key{fill:none;stroke:var(--accent);stroke-width:1.75}
.discovery-figure .darr{fill:var(--text-dim)}
.discovery-figure .darr-key{fill:var(--accent)}
.discovery-figure .t-perim{fill:var(--text-muted);font:500 10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.discovery-figure .t-title{fill:var(--text);font:500 13px var(--font)}
.discovery-figure .t-title-inv{fill:#fff;font:500 13px var(--font)}
.discovery-figure .t-brand{fill:var(--text);font:500 12.5px var(--mono)}
.discovery-figure .t-sub{fill:var(--text-muted);font:400 11px var(--mono)}
.discovery-figure .t-sub-inv{fill:var(--sage);font:400 11px var(--mono)}
.discovery-figure .t-flow{fill:var(--text-muted);font:500 10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.discovery-figure .t-flow-key{fill:var(--accent);font:500 10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.discovery-figure figcaption{font-size:.85rem;color:var(--text-muted);line-height:1.55;margin:14px 0 0;max-width:840px}
@media(max-width:800px){.discovery-arch{margin-top:22px;padding-top:20px}}
