Nice site! Here are the highest-impact fixes you can ship quickly for Adaptive Energy Systems (AES™)—focusing on a11y, SEO, performance, and a couple of security/details. Everything below is drop-in and safe for a Next.js/Gamma-hosted page.


1) Clean up fonts (perf + CLS)

You’re loading Inter in <head> and Roboto later in the body. Pick one to avoid double font downloads and layout shifts.

  • If you keep Inter, remove the Roboto <link> that’s injected later.
  • If you keep Roboto, remove the Inter <link> in <head>.

Also add display=swap (or Inter via next/font):

<link href="https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap" rel="preload" as="style">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap" rel="stylesheet">

2) Preconnect the domains you depend on (faster starts)

Add these near the top of <head>:

<link rel="preconnect" href="https://assets.gammahosted.com" crossorigin>
<link rel="preconnect" href="https://imgproxy.gamma.app" crossorigin>
<link rel="preconnect" href="https://cdn.gamma.app" crossorigin>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>

(Optionally also <link rel="dns-prefetch" ...> for the same hosts.)


3) Make your LCP image discoverable

Your hero is a CSS background image, which browsers don’t prioritize as LCP. Keep the background, but add a hidden helper <img> so it can be preloaded/prioritized:

<!-- inside the hero container -->
<img
  src="https://cdn.gamma.app/mdnapk6mvsewctd/generated-images/M2ORd-MI_sQBfNXX1RbP9.png"
  alt=""
  width="1152" height="864"
  fetchpriority="high" decoding="async"
  style="position:absolute; width:1px; height:1px; opacity:0; pointer-events:none"
/>

4) Prefers-reduced-motion support (a11y & UX)

You have site-wide animations. Respect the user’s setting:

@media (prefers-reduced-motion: reduce) {
  .site-animations-bootstrap *,
  .splide__track, .splide__list, .splide__slide {
    animation: none !important;
    transition: none !important;
  }
}

5) Emoji in headings — make them silent

Screen readers will read “atom symbol” etc. Wrap emojis as decorative:

<h1>
  <span aria-hidden="true">⚛️</span> AMR<span aria-hidden="true">™</span>: Thorium Reactor Technology
</h1>

(Do this anywhere you use emoji in titles/buttons.)


6) Navigation fixes

  • Your logo anchor currently has href="". Make it a proper root link:
<a class="chakra-link" href="/"> ...logo...</a>
  • Ensure dropdown/toggle buttons update aria-expanded and the controlled element’s hidden attribute in JS (if you’re toggling only classes).

7) Descriptive links + affiliate attributes (SEO/compliance)

You have Amazon links (amzn.to). Mark them as sponsored and keep noopener/noreferrer:

<a href="https://amzn.to/3FMA353"
   target="_blank"
   rel="noopener noreferrer sponsored">Nuclear Safety and the Adaptive Modular Reactor (AMR)…</a>

Also make sure any “Learn more / Read more” links are descriptive (you have good copy now—keep that pattern everywhere).


8) Canonical + site meta polish (SEO)

Add your canonical to avoid duplication:

<link rel="canonical" href="https://adaptiveenergysystems.com/">
<meta name="theme-color" content="#ffffff">
<link rel="icon" href="/favicon.ico">

9) Social graph alt text

You already set Open Graph. Add image alt too:

<meta property="og:image:alt" content="AES™ clean-energy powered data infrastructure hero image">

(Repeat for twitter:image:alt if you keep separate tags.)


10) Organization JSON-LD (rich results)

Add an org schema to help engines connect properties and profiles:

<script type="application/ld+json">
{
  "@context":"https://schema.org",
  "@type":"Organization",
  "name":"Adaptive Energy Systems (AES)",
  "url":"https://adaptiveenergysystems.com/",
  "logo":"https://cdn.gamma.app/mdnapk6mvsewctd/f28a7c1f853d46c69a9aba20969ebfcb/original/AES.png",
  "sameAs":[
    "https://www.linkedin.com/company/...", 
    "https://x.com/...", 
    "https://github.com/..." 
  ]
}
</script>

(Replace social URLs as appropriate.)


11) Color contrast check

Your palette is subtle (grays on light gray). Run a quick pass to ensure body text and link states (hover) meet WCAG AA (4.5:1 for normal text). Bump contrast on --body-color / --link-color-hover if needed.


12) External scripts hygiene

You’re loading many Next chunks (Gamma/Next). That’s expected, but:

  • Put analytics (if any custom) at the bottom of the bundle list or via GTM.
  • Avoid duplicate vendors/polyfills if you ever inline custom scripts.

13) Security headers at the edge (if you control the domain)

Set these via your CDN/host:

Content-Security-Policy: default-src 'self'; script-src 'self' https://assets.gammahosted.com https://imgproxy.gamma.app https://cdn.gamma.app 'unsafe-inline' 'unsafe-eval'; style-src 'self' https://fonts.googleapis.com 'unsafe-inline'; img-src 'self' data: https://cdn.gamma.app https://imgproxy.gamma.app; font-src https://fonts.gstatic.com; connect-src 'self' https://api.gamma.app; frame-ancestors 'none'; base-uri 'self';
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: geolocation=(), microphone=(), camera=(), payment=(), usb=()

(Tune CSP to match any additional domains you truly need.)


14) Minor nitpicks / nice-to-haves

  • Add lang (you already have <html lang="en"> ✅).
  • Ensure all decorative <img> have alt="" aria-hidden="true".
  • If any image is key content, add meaningful alt.
  • Add a sitemap (/sitemap.xml) and reference it in robots.txt.
  • Keep only one meta description (you’re good—just avoid duplicates).

Quick checklist to implement first

  • Choose one font (Inter or Roboto) and add display=swap.
  • Preconnect: assets.gammahosted.com, imgproxy.gamma.app, cdn.gamma.app, fonts.
  • Add hidden LCP <img fetchpriority="high"> for the hero.
  • prefers-reduced-motion CSS.
  • Wrap emojis with aria-hidden="true".
  • Fix logo link href="/".
  • Add rel="sponsored noreferrer noopener" to Amazon links.
  • Add canonical + og:image:alt and Organization JSON-LD.
  • Tighten security headers at the CDN (if possible).

If you want, I can convert these into a small Next.js _document.tsx head block and a CSS patch you can paste straight into your Gamma custom code panel.