.projects-hero{padding-top:130px;padding-bottom:90px;display:block}.projects-hero>div{max-width:720px}.projects-hero h1{letter-spacing:-.055em;max-width:11ch;margin:16px 0 0;font-size:clamp(3rem,5.8vw,4.9rem);line-height:.95}.projects-hero h1 em{color:var(--accent);font-style:normal;font-weight:400}.projects-hero .lead{max-width:54ch;margin:26px 0 0;font-size:1rem;line-height:1.8}.projects-suite{padding-bottom:86px}.projects-suite-intro{grid-template-columns:minmax(0,.9fr) minmax(300px,.58fr);align-items:end;gap:64px;margin-bottom:28px;display:grid}.projects-suite-intro h2{letter-spacing:-.055em;max-width:12ch;margin:12px 0 0;font-size:clamp(2.3rem,4.7vw,4.4rem);line-height:.98}.projects-suite-intro h2 em{color:var(--accent);font-style:normal;font-weight:400}.projects-suite-intro p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.75}.projects-suite-map{border:1px solid var(--line-strong);background:linear-gradient(color-mix(in srgb, var(--accent) 4%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--accent) 4%, transparent) 1px, transparent 1px), var(--glass-bg);background-size:28px 28px;padding:clamp(22px,4vw,38px);overflow:auto}.projects-suite-flow{grid-template-columns:minmax(170px,1fr) minmax(50px,.22fr) minmax(170px,1fr) minmax(50px,.22fr) minmax(170px,1fr);align-items:center;gap:12px;min-width:760px;display:grid}.projects-suite-flow>a{--suite-tone:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line-strong));background:var(--panel);min-height:142px;box-shadow:inset 2px 0 color-mix(in srgb, var(--accent) 50%, transparent);padding:21px}.projects-suite-flow>a[data-tone=surface]{border-color:color-mix(in srgb, var(--accent) 22%, var(--line-strong));box-shadow:inset 2px 0 color-mix(in srgb, var(--accent) 42%, transparent)}.projects-suite-flow>a[data-tone=method]{border-color:color-mix(in srgb, var(--accent) 36%, var(--line-strong));box-shadow:inset 2px 0 color-mix(in srgb, var(--accent) 70%, transparent)}.projects-suite-flow>a[data-tone=detection]{border-color:color-mix(in srgb, var(--accent) 48%, var(--line-strong));box-shadow:inset 2px 0 var(--accent)}.projects-suite-flow small,.projects-suite-flow strong,.projects-suite-flow span{font-family:var(--font-mono);display:block}.projects-suite-flow small{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.58rem}.projects-suite-flow strong{color:var(--text);margin:25px 0 12px;font-size:.82rem}.projects-suite-flow a>span{color:var(--muted);font-size:.6rem}.projects-suite-flow>i{background:linear-gradient(90deg, var(--line-strong), var(--accent));height:1px;position:relative}.projects-suite-flow>i:after{content:"";border-style:solid;border-width:3px 0 3px 5px;border-color:transparent transparent transparent var(--accent);position:absolute;top:-3px;right:0}.projects-suite-flow>i span{color:var(--muted);font:.58rem/1 var(--font-mono);text-transform:uppercase;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.projects-suite-guardrail{border:1px solid var(--accent-line);background:var(--accent-soft);min-width:760px;font-family:var(--font-mono);grid-template-columns:150px 160px minmax(300px,1fr);align-items:center;gap:18px;margin-top:14px;padding:16px 20px;display:grid}.projects-suite-guardrail span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.58rem}.projects-suite-guardrail strong{color:var(--text);font-size:.7rem}.projects-suite-guardrail small{color:var(--muted);font-size:.58rem;line-height:1.55}.projects-filterbar{border:1px solid var(--line-strong);background:#050709b8;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;padding:18px 20px;display:flex}.projects-filterbar>div>span{color:var(--muted);font:.5rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;display:block}.projects-filterbar [role=group]{flex-wrap:wrap;gap:7px;display:flex}.projects-filterbar button{border:1px solid var(--line-strong);color:var(--muted);font:.55rem/1 var(--font-mono);cursor:pointer;background:0 0;border-radius:3px;padding:8px 11px}.projects-filterbar button[aria-pressed=true]{border-color:var(--accent-line);background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent)}.projects-filterbar output{color:var(--muted);font:.52rem/1 var(--font-mono);text-transform:uppercase;flex:none}[data-project-category][hidden],[data-project-section][hidden]{display:none!important}.projects-showcase{gap:24px;display:grid}.projects-featured{border:1px solid var(--line-strong);background:linear-gradient(135deg, var(--accent-soft), transparent 44%), var(--glass-bg);box-shadow:var(--glass-shadow);grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);display:grid;overflow:hidden}.projects-featured.is-xray,.projects-featured.is-gothamcity,.projects-featured.is-methodology{background:linear-gradient(135deg, var(--accent-soft), transparent 44%), var(--glass-bg)}.projects-featured.is-reverse{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr)}.projects-featured.is-reverse .projects-featured-copy{border-right:0;border-left:1px solid var(--line);order:2}.projects-featured-copy{border-right:1px solid var(--line);padding:clamp(28px,5vw,54px)}.projects-project-meta{color:var(--muted);font:.56rem/1.3 var(--font-mono);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;gap:18px;display:flex}.projects-project-meta span{color:var(--accent);align-items:center;gap:7px;display:flex}.projects-project-meta i{background:var(--accent);width:5px;height:5px;box-shadow:0 0 10px var(--accent);border-radius:50%;flex:none}.projects-featured h2{letter-spacing:-.045em;margin:42px 0 16px;font-size:clamp(2rem,3.8vw,3.35rem);line-height:1.02}.projects-featured-copy>p{color:var(--muted);font-size:.84rem;line-height:1.7}.projects-featured ul{border-top:1px solid var(--line);color:var(--text-soft);gap:10px;margin:28px 0 34px;padding:20px 0 0;font-size:.7rem;line-height:1.5;list-style:none;display:grid}.projects-featured li:before{content:"→";color:var(--accent);font-family:var(--font-mono);margin-right:9px}.projects-featured-visual{border:1px solid var(--line-strong);background:var(--panel);min-width:0;box-shadow:var(--glass-shadow);scrollbar-color:color-mix(in srgb, var(--accent) 32%, transparent) transparent;border-radius:7px;align-self:center;margin:32px;overflow:auto}.projects-featured-visual>header,.projects-featured-visual>footer{border-bottom:1px solid var(--line);min-height:46px;color:var(--muted);font:.58rem/1.3 var(--font-mono);text-transform:uppercase;white-space:nowrap;align-items:center;gap:10px;padding:0 15px;display:flex}.projects-featured-visual>header>span{border:1px solid var(--accent-line);width:24px;height:24px;color:var(--accent);flex:none;place-items:center;display:grid}.projects-featured-visual>header small{color:var(--accent);margin-left:auto}.projects-mini-path{background-image:linear-gradient(color-mix(in srgb, var(--accent) 4%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--accent) 4%, transparent) 1px, transparent 1px);background-size:26px 26px;grid-template-columns:repeat(4,minmax(105px,1fr) minmax(8px,.22fr)) minmax(105px,1fr);align-items:center;gap:8px;min-width:700px;padding:70px 22px;display:grid}.projects-mini-path>div{border:1px solid color-mix(in srgb, var(--node) 42%, var(--line-strong));background:var(--panel);min-width:0;min-height:92px;box-shadow:inset 2px 0 var(--node);border-radius:4px;padding:13px}.projects-mini-path div[data-kind=input],.projects-mini-path div[data-kind=source]{--node:color-mix(in srgb, var(--accent) 40%, var(--muted))}.projects-mini-path div[data-kind=agent],.projects-mini-path div[data-kind=inventory]{--node:color-mix(in srgb, var(--accent) 70%, var(--muted))}.projects-mini-path div[data-kind=tool],.projects-mini-path div[data-kind=relationship]{--node:var(--accent)}.projects-mini-path div[data-kind=identity],.projects-mini-path div[data-kind=exposure]{--node:color-mix(in srgb, var(--accent) 85%, transparent)}.projects-mini-path div[data-kind=action],.projects-mini-path div[data-kind=review]{--node:var(--accent)}.projects-mini-path small,.projects-mini-path strong,.projects-mini-path span{overflow-wrap:anywhere;font-family:var(--font-mono);display:block}.projects-mini-path small{color:var(--node);text-transform:uppercase;font-size:.58rem}.projects-mini-path strong{color:var(--text);margin:12px 0 8px;font-size:.62rem}.projects-mini-path span{color:var(--muted);font-size:.58rem}.projects-mini-path>i{background:linear-gradient(90deg, var(--line-strong), var(--accent));height:1px}.projects-xray-visual>header>span{border-color:var(--accent-line);color:var(--accent)}.projects-xray-visual>header small{color:var(--accent)}.projects-featured-visual>footer{border-top:1px solid var(--line);color:var(--muted);border-bottom:0;justify-content:space-between}.projects-featured-visual>footer span i{background:var(--accent);width:5px;height:5px;box-shadow:0 0 8px color-mix(in srgb, var(--accent) 50%, transparent);border-radius:50%;margin-right:6px;display:inline-block}.projects-gotham-visual>header>span{border-color:var(--accent-line);color:var(--accent)}.projects-gotham-visual>header small{color:var(--accent)}.projects-gotham-console{background:radial-gradient(circle at 82% 8%, var(--accent-soft), transparent 30%), var(--panel);grid-template-columns:72px minmax(520px,1fr);min-width:640px;min-height:310px;display:grid}.projects-gotham-console>aside{border-right:1px solid var(--line);background:var(--glass-bg-strong);flex-direction:column;align-items:center;gap:11px;padding:18px 12px;display:flex}.projects-gotham-console>aside strong{color:var(--accent);font:.58rem/1 var(--font-mono);letter-spacing:.08em;margin-bottom:16px}.projects-gotham-console>aside span{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);font:.58rem/1 var(--font-mono);place-items:center;display:grid}.projects-gotham-console>aside span.is-active{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.projects-gotham-main{gap:12px;padding:22px;display:grid}.projects-gotham-metrics{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.projects-gotham-metrics>div{border:1px solid var(--line);background:color-mix(in srgb, var(--accent) 3%, transparent);padding:14px}.projects-gotham-metrics small,.projects-gotham-metrics strong{font-family:var(--font-mono);display:block}.projects-gotham-metrics small{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.58rem}.projects-gotham-metrics strong{color:var(--text);margin-top:10px;font-size:.82rem}.projects-gotham-main>section{border:1px solid var(--line-strong);background:var(--glass-bg);padding:15px}.projects-gotham-main>section>header{color:var(--text-soft);font:.58rem/1 var(--font-mono);text-transform:uppercase;justify-content:space-between;display:flex}.projects-gotham-main>section>header small{color:var(--sev-high)}.projects-gotham-bars{gap:10px;margin-top:16px;display:grid}.projects-gotham-bars>div{color:var(--muted);font:.58rem/1 var(--font-mono);grid-template-columns:72px 1fr 30px;align-items:center;gap:10px;display:grid}.projects-gotham-bars i{background:linear-gradient(90deg, var(--accent) var(--rate), var(--line-strong) var(--rate));height:4px}.projects-gotham-bars b{color:var(--text-soft);text-align:right;font-weight:500}.projects-gotham-bars .is-gap i{background:var(--line-strong)}.projects-gotham-bars .is-gap b{color:var(--sev-high)}.projects-method-visual>header>span{border-color:var(--accent-line);color:var(--accent)}.projects-method-visual>header small{color:var(--accent)}.projects-method-grid{background-image:linear-gradient(color-mix(in srgb, var(--accent) 4%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--accent) 4%, transparent) 1px, transparent 1px);background-size:26px 26px;grid-template-columns:minmax(135px,.72fr) minmax(250px,1.4fr) minmax(135px,.72fr);gap:12px;min-width:620px;padding:46px 22px;display:grid}.projects-method-grid>div{border:1px solid var(--line-strong);background:var(--panel);padding:18px}.projects-method-grid span,.projects-method-grid strong,.projects-method-grid small{font-family:var(--font-mono);display:block}.projects-method-grid span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.58rem}.projects-method-grid strong{color:var(--text);margin-top:18px;font-size:.62rem;line-height:1.6}.projects-method-grid small{color:var(--muted);margin-top:18px;font-size:.58rem;line-height:1.5}.projects-method-core ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.projects-method-core li{border:1px solid var(--line);color:var(--text-soft);font:.58rem/1.2 var(--font-mono);align-items:center;gap:8px;padding:9px;display:flex}.projects-method-core li:before{content:none}.projects-method-core li i{color:var(--accent);font-style:normal}.projects-library{padding-top:110px;padding-bottom:110px}.projects-grid,.projects-simulators-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.projects-simulators{padding-top:40px;padding-bottom:110px}.projects-card,.projects-lab-card{border:1px solid var(--line-strong);background:var(--glass-surface);flex-direction:column;justify-content:space-between;min-height:310px;padding:28px;transition:border-color .18s,transform .18s;display:flex}.projects-card:hover,.projects-lab-card:hover{border-color:var(--accent-line);transform:translateY(-3px)}.projects-card header,.projects-lab-card header,.projects-card footer,.projects-lab-card footer{color:var(--muted);font:.55rem/1 var(--font-mono);text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;display:flex}.projects-card header span,.projects-lab-card header span{color:var(--accent)}.projects-card h3,.projects-lab-card h3{margin:0 0 13px;font-size:1.25rem}.projects-card p,.projects-lab-card p{color:var(--muted);margin:0;font-size:.76rem;line-height:1.65}.projects-card footer,.projects-lab-card footer{border-top:1px solid var(--line);justify-content:flex-start;padding-top:18px}.projects-card footer strong,.projects-lab-card footer strong{color:var(--text-soft);font:inherit;margin-left:auto}@media (width<=960px){.projects-suite-intro,.projects-featured,.projects-featured.is-reverse{grid-template-columns:1fr}.projects-featured.is-reverse .projects-featured-copy{border-left:0;order:0}.projects-featured-copy{border-right:0;border-bottom:1px solid var(--line)}.projects-grid,.projects-simulators-grid{grid-template-columns:1fr 1fr}.projects-card:last-child,.projects-lab-card:last-child{grid-column:1/-1}}@media (width<=640px){.projects-hero{padding-top:80px;padding-bottom:64px}.projects-hero h1{font-size:clamp(2.8rem,14vw,4.2rem)}.projects-showcase{width:calc(100% - 32px)}.projects-suite{width:calc(100% - 32px);padding-bottom:64px}.projects-suite-map{padding:18px}.projects-filterbar{flex-direction:column;align-items:stretch;width:calc(100% - 32px)}.projects-filterbar button{min-height:36px}.projects-featured-visual{margin:16px}.projects-mini-path{padding-top:52px;padding-bottom:52px}.projects-method-grid{padding-top:32px;padding-bottom:32px}.projects-library{padding-top:78px;padding-bottom:78px}.projects-grid,.projects-simulators-grid{grid-template-columns:1fr}.projects-card:last-child,.projects-lab-card:last-child{grid-column:auto}}
