Em dash removal, nav/form/terms updates

- Replace all em dashes with hyphens site-wide (22 files)
- Add Safety to nav
- Remove Express Interest button from enterprise header (form is the path now)
- Enterprise form: secondary headcount selection shows honest odds message; yes disables submit button
- Terms §5: add network layer indemnification (patent pending 64/036,821); no proprietary names
- Terms §4: Neuron Inference is live now, not Q3 2026
This commit is contained in:
Will Anderson
2026-04-29 17:14:56 -05:00
parent 235662c2a4
commit 51d2e64c22
22 changed files with 174 additions and 151 deletions
+28 -18
View File
@@ -1,4 +1,4 @@
// components/enterprise.el Enterprise section.
// components/enterprise.el - Enterprise section.
// Four capability cards + "Who I work with" box + how-it-works steps.
fn enterprise() -> String {
@@ -25,8 +25,7 @@ fn enterprise() -> String {
<span class=\"ent-badge-dot\"></span>
Enterprise discussions open Q4 2026
</div>
<a href=\"mailto:enterprise@neurontechnologies.ai\" class=\"btn-primary\">Express interest &#8594;</a>
<p style=\"font-size:.75rem;color:rgba(0,82,160,.45)\">Serious inquiries only &middot; We&#39;ll reach out before Q4</p>
<p style=\"font-size:.75rem;color:rgba(0,82,160,.45)\">Use the form below &middot; I review every inquiry</p>
</div>
</div>
</div>
@@ -35,12 +34,12 @@ fn enterprise() -> String {
<div class=\"enterprise-cap card-dark reveal\">
<h3 class=\"display-md\">Private deployment</h3>
<div class=\"enterprise-cap-rule\"></div>
<p class=\"enterprise-cap-body\">Run entirely on your infrastructure. Air-gapped. No data leaves your network. Every employee gets their own Neuron instance &#8212; your company&#39;s institutional knowledge stays inside your walls.</p>
<p class=\"enterprise-cap-body\">Run entirely on your infrastructure. Air-gapped. No data leaves your network. Every employee gets their own Neuron instance - your company&#39;s institutional knowledge stays inside your walls.</p>
</div>
<div class=\"enterprise-cap card-dark reveal\" style=\"transition-delay:130ms\">
<h3 class=\"display-md\">Institutional memory</h3>
<div class=\"enterprise-cap-rule\"></div>
<p class=\"enterprise-cap-body\">When an employee leaves, their expertise doesn&#39;t. Their memory graph persists &#8212; their patterns, their domain knowledge, their reasoning &#8212; available to the team they built it with.</p>
<p class=\"enterprise-cap-body\">When an employee leaves, their expertise doesn&#39;t. Their memory graph persists - their patterns, their domain knowledge, their reasoning - available to the team they built it with.</p>
</div>
<div class=\"enterprise-cap card-dark reveal\" style=\"transition-delay:260ms\">
<h3 class=\"display-md\">Team intelligence</h3>
@@ -56,8 +55,8 @@ fn enterprise() -> String {
<div class=\"enterprise-box reveal\">
<p class=\"ent-who-label\">Who I work with</p>
<p class=\"ent-who-body\">I am selective. I built Neuron to expand what people can do &#8212; not to help organizations eliminate them. If your interest in this technology is primarily about reducing headcount, I am not your vendor. If it&#39;s about making the people you have dramatically more effective, I want to hear from you.</p>
<p class=\"ent-who-note\">This isn&#39;t a legal hedge. It&#39;s a filter. The Enterprise Agreement makes it binding &#8212; but I&#39;m raising it here because I&#39;d rather you know before you reach out.</p>
<p class=\"ent-who-body\">I am selective. I built Neuron to expand what people can do - not to help organizations eliminate them. If your interest in this technology is primarily about reducing headcount, I am not your vendor. If it&#39;s about making the people you have dramatically more effective, I want to hear from you.</p>
<p class=\"ent-who-note\">This isn&#39;t a legal hedge. It&#39;s a filter. The Enterprise Agreement makes it binding - but I&#39;m raising it here because I&#39;d rather you know before you reach out.</p>
<div class=\"ent-how-row\">
<div class=\"ent-how-label\">
@@ -67,12 +66,12 @@ fn enterprise() -> String {
<div>
<p class=\"ent-step-num\">01</p>
<p class=\"ent-step-title\">Express interest</p>
<p class=\"ent-step-body\">Send me a note. I review every inquiry myself &#8212; no sales funnel, no SDR. If it&#39;s a fit, I respond directly.</p>
<p class=\"ent-step-body\">Send me a note. I review every inquiry myself - no sales funnel, no SDR. If it&#39;s a fit, I respond directly.</p>
</div>
<div>
<p class=\"ent-step-num\">02</p>
<p class=\"ent-step-title\">Scoped deployment</p>
<p class=\"ent-step-body\">I work with your team to scope a private deployment &#8212; on your infrastructure, in your network, with your security requirements.</p>
<p class=\"ent-step-body\">I work with your team to scope a private deployment - on your infrastructure, in your network, with your security requirements.</p>
</div>
<div>
<p class=\"ent-step-num\">03</p>
@@ -83,14 +82,14 @@ fn enterprise() -> String {
</div>
<div class=\"ent-terms-row\">
<p class=\"ent-terms-text\">The full Enterprise Agreement is published. Read it before reaching out &#8212; no NDA required to evaluate the terms.</p>
<p class=\"ent-terms-text\">The full Enterprise Agreement is published. Read it before reaching out - no NDA required to evaluate the terms.</p>
<a href=\"/legal/enterprise-terms\" class=\"ent-terms-link\">Read the Enterprise Agreement &#8594;</a>
</div>
<!-- Enterprise inquiry form -->
<div style=\"margin-top:3rem;padding-top:2.5rem;border-top:1px solid var(--border)\">
<p class=\"label\" style=\"margin-bottom:0.75rem;font-size:0.65rem\">Express interest</p>
<p style=\"font-family:var(--body);font-weight:300;font-size:0.9rem;color:var(--t2);line-height:1.75;margin-bottom:2rem\">I review every inquiry myself. Fill this out honestly &#8212; the questions are a filter, not a formality.</p>
<p style=\"font-family:var(--body);font-weight:300;font-size:0.9rem;color:var(--t2);line-height:1.75;margin-bottom:2rem\">I review every inquiry myself. Fill this out honestly - the questions are a filter, not a formality.</p>
<form id=\"enterprise-form\" style=\"display:grid;grid-template-columns:1fr 1fr;gap:1rem\">
@@ -127,20 +126,23 @@ fn enterprise() -> String {
<div style=\"grid-column:1/-1;display:flex;flex-direction:column;gap:0.4rem\">
<label for=\"ent-use\" style=\"font-family:var(--body);font-size:0.7rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--t3)\">What do you want to use Neuron for?</label>
<textarea id=\"ent-use\" name=\"use_case\" required rows=\"3\" placeholder=\"Describe your intended use case &#8212; be specific.\"
<textarea id=\"ent-use\" name=\"use_case\" required rows=\"3\" placeholder=\"Describe your intended use case - be specific.\"
style=\"font-family:var(--body);font-size:0.9rem;font-weight:300;color:var(--t1);background:#fff;border:1px solid rgba(0,82,160,.22);padding:0.7rem 0.9rem;outline:none;border-radius:0;resize:vertical;-webkit-appearance:none\"></textarea>
</div>
<div style=\"grid-column:1/-1;display:flex;flex-direction:column;gap:0.4rem\">
<label for=\"ent-headcount\" style=\"font-family:var(--body);font-size:0.7rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--t3)\">Is reducing headcount a primary goal of this deployment?</label>
<select id=\"ent-headcount\" name=\"headcount\" required onchange=\"document.getElementById('ent-filter-msg').style.display=this.value==='yes'?'block':'none'\"
<select id=\"ent-headcount\" name=\"headcount\" required onchange=\"entHeadcountChange(this.value)\"
style=\"font-family:var(--body);font-size:0.9rem;font-weight:300;color:var(--t1);background:#fff;border:1px solid rgba(0,82,160,.22);padding:0.7rem 0.9rem;outline:none;border-radius:0;-webkit-appearance:none;cursor:pointer\">
<option value=\"\">Select&hellip;</option>
<option value=\"no\">No &#8212; making our team more capable</option>
<option value=\"no\">No - making our team more capable</option>
<option value=\"secondary\">It&#39;s a secondary factor, not the primary goal</option>
<option value=\"yes\">Yes &#8212; replacing roles with automation</option>
<option value=\"yes\">Yes - replacing roles with automation</option>
</select>
<p id=\"ent-filter-msg\" style=\"display:none;font-family:var(--body);font-size:0.875rem;font-weight:300;color:#c0392b;line-height:1.65;padding:0.75rem 1rem;background:rgba(192,57,43,.05);border-left:2px solid rgba(192,57,43,.4)\">
<p id=\"ent-filter-msg-secondary\" style=\"display:none;font-family:var(--body);font-size:0.875rem;font-weight:300;color:rgba(0,82,160,.75);line-height:1.65;padding:0.75rem 1rem;background:rgba(0,82,160,.04);border-left:2px solid rgba(0,82,160,.3)\">
I review these personally. I&#39;ll consider it - but I want to be direct with you: if headcount reduction is in the picture at all, even as a secondary outcome, your chances here are low. That&#39;s not a negotiating position. It&#39;s how I built this and what I&#39;m willing to support.
</p>
<p id=\"ent-filter-msg-yes\" style=\"display:none;font-family:var(--body);font-size:0.875rem;font-weight:300;color:#c0392b;line-height:1.65;padding:0.75rem 1rem;background:rgba(192,57,43,.05);border-left:2px solid rgba(192,57,43,.4)\">
Neuron isn&#39;t the right fit here. I built this to expand what people can do, not to replace them. If that changes, I&#39;m here.
</p>
</div>
@@ -158,7 +160,7 @@ fn enterprise() -> String {
<div id=\"enterprise-success\" style=\"display:none;padding:2rem;background:rgba(0,82,160,.04);border-left:3px solid var(--navy)\">
<p style=\"font-family:var(--head);font-size:1.25rem;font-weight:500;color:var(--t1);margin-bottom:0.5rem\">Received.</p>
<p style=\"font-family:var(--body);font-weight:300;font-size:0.9375rem;color:var(--t2);line-height:1.8\">I review these personally. If it&#39;s a fit, I&#39;ll respond directly to your email &#8212; usually within a few days.</p>
<p style=\"font-family:var(--body);font-weight:300;font-size:0.9375rem;color:var(--t2);line-height:1.8\">I review these personally. If it&#39;s a fit, I&#39;ll respond directly to your email - usually within a few days.</p>
</div>
</div>
@@ -176,11 +178,19 @@ fn enterprise() -> String {
if (!form) return;
window.entHeadcountChange = function(val) {
document.getElementById('ent-filter-msg-secondary').style.display = val === 'secondary' ? 'block' : 'none';
document.getElementById('ent-filter-msg-yes').style.display = val === 'yes' ? 'block' : 'none';
submitBtn.disabled = val === 'yes';
submitBtn.style.opacity = val === 'yes' ? '0.35' : '1';
submitBtn.style.cursor = val === 'yes' ? 'not-allowed' : 'pointer';
};
form.addEventListener('submit', function(e) {
e.preventDefault();
var headcount = document.getElementById('ent-headcount').value;
if (headcount === 'yes') {
document.getElementById('ent-filter-msg').style.display = 'block';
document.getElementById('ent-filter-msg-yes').style.display = 'block';
return;
}