Sustainability Scan Report

Actionable Lighthouse + CO2.js findings mapped to WSG guidance.

Download this report: Markdown report · JSON report

WSG Form Validation and Tooling

Assesses form error validation practices and tooling support while avoiding re-scans of repeated controls across pages.

Recurring Form Elements

These signatures were assessed once and reused across pages to avoid duplicate scanning.

WSG Metadata for Machine Readability

Checks page metadata against machine-readable best practices including canonical URL, social metadata, and structured data validity.

Cross-Page Metadata Gaps

WSG Multi-Device Layout Support

Assesses whether page layouts adapt cleanly on mobile and tablet viewports, with emphasis on overflow, grid behavior, and touch target usability.

Cross-Page Layout Adaptation Signals

WSG Lightweight Security Review

Non-invasive checks for common, easy-to-find security issues such as missing headers and vulnerable JavaScript library flags.

Cross-Page Security Signals

WSG Dependency Maintenance Review

Shows where dependencies appear unmaintained using known vulnerable library signals and dependency integrity hints.

Cross-Page Dependency Signals

No recurring vulnerable dependency signatures were detected.

WSG Expected and Beneficial Files

Checks for common root-level files that improve crawlability, maintenance transparency, and operational clarity.

Cross-Page Expected File Gaps

WSG Efficient Solution Optimization Opportunities

Highlights easy bloat-removal wins like oversized images, missing compression, and render-blocking resources.

Cross-Page Optimization Signals

Recurring Optimization Opportunities

WSG Reduce Data Transfer With Compression

Highlights transfer reduction opportunities via text compression, media encoding, and compression-friendly asset preparation.

Cross-Page Compression Signals

Recurring Compression Opportunities

WSG Offline Access and Caching Support

Evaluates support for offline use and web application behavior using service worker, offline routing, manifest, and cache policy signals.

Cross-Page Offline and Caching Signals

Recurring Offline/Caching Opportunities

WSG Media Sustainability Hints

Checks for autoplay media, dark mode support, and image lazy loading — three user-facing signals that reduce unnecessary data transfer and respect device energy constraints.

Grid-Aware Websites Detection

Checks for signals of the Green Web Foundation's grid-aware websites approach, which adapts page content based on the carbon intensity of the visitor's local electricity grid.

WSG Success Criteria & Best Practices

Automated validation of specific Web Sustainability Guidelines with actionable best practice examples and resource links.

low script Missing print style sheet

Add a @media print stylesheet to ensure the page is optimized for paper-saving printing.

Recurs on 64 pages.

Best Practice Example

@media print {
  /* Hide non-critical navigation and backgrounds */
  nav, .ads, header, footer { display: none; }
  body { font-size: 12pt; color: #000; background: #fff; }
  a::after { content: " (" attr(href) ") "; } /* Show URLs */
}

Source: WSG Guideline 17

low script No reduced motion support

Implement prefers-reduced-motion to allow users to disable animations, reducing compute and improving accessibility.

Recurs on 64 pages.

Best Practice Example

@media (prefers-reduced-motion: reduce) {
	body *,
	body *::before,
	body *::after {
		animation-delay: -1ms !important;
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
		background-attachment: initial !important;
		transition-duration: 1ms !important;
		transition-delay: -1ms !important;
		scroll-behavior: auto !important;
	}
}

Source: WSG Guideline 12

medium script Missing system font fallback

Primary font "Nunito" does not appear to use a system font stack fallback. System fonts reduce network requests and improve rendering performance.

Recurs on 64 pages.

Best Practice Example

font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;

Source: WSG Guideline 13

investigate human Review User Journey Efficiency

Have a human walk through the main user journeys and verify they require the fewest steps possible. Unnecessary steps waste user time and device energy. Look for redundant confirmations, forced account creation, and non-essential interstitials.

Recurs on 64 pages.

Reference: WSG 2.4 ↗

investigate human Check for Engagement Traps

Manually review the page for patterns that artificially prolong engagement: infinite scroll, autoplay carousels, sticky overlays, and notification permission prompts. These waste user attention and device energy.

Recurs on 64 pages.

Reference: WSG 2.6 ↗

investigate human Audit for Deceptive Design Patterns

Have a human identify dark patterns: misleading consent dialogs, hidden unsubscribe links, forced continuity, and bait-and-switch flows. Deceptive patterns waste user time and undermine trust.

Recurs on 64 pages.

Reference: WSG 2.7 ↗

investigate human Verify Accessible Alternatives for All Media

Manually check that every video has captions, every audio file has a transcript, every image has meaningful alt text, and every PDF has an accessible HTML alternative. Alternatives let assistive technology users avoid re-downloading heavy formats.

Recurs on 64 pages.

Reference: WSG 2.14 ↗

investigate human Confirm User Research Was Conducted

Verify that genuine user research or usability testing has informed the design. Research-driven design reduces wasted iterations, removes unnecessary features, and ensures the product meets real needs efficiently.

Recurs on 64 pages.

Reference: WSG 2.18 ↗

investigate ai Review Content Conciseness

Use a Large Language Model (e.g. locally or via API) to evaluate page text for conciseness and clarity. Removing superfluous text reduces payload, reading time, and inference energy for search engines indexing this content.

Recurs on 64 pages.

Reference: WSG 2.10 ↗

investigate human Verify Error Pages and Redirects Are Configured

Have a human check that custom 404 and 500 error pages exist and that there are no redirect chains longer than one hop. Broken links force wasted round-trips. Redirect chains multiply transfer costs.

Recurs on 64 pages.

Reference: WSG 4.4 ↗

investigate human Review CDN Usage and Geographic Distribution

Confirm that static assets are served from a CDN and that the CDN edge nodes are geographically close to the primary audience. CDN misuse—or absence—increases last-mile transfer distance and the associated energy cost of data delivery.

Recurs on 64 pages.

Reference: WSG 4.10 ↗

investigate human Confirm a Sustainability Advocate Is Assigned

Verify that someone on the team has explicit responsibility for web sustainability. Without a designated advocate, sustainability improvements tend to be deprioritized and never reach the backlog.

Recurs on 64 pages.

Reference: WSG 5.2 ↗

investigate human Check for a Public Sustainability Statement

Look for a publicly accessible sustainability statement, disclosure page, or environmental policy. Mandatory disclosure requirements are growing globally and transparency builds user trust. The statement should include measurable targets and dates.

Recurs on 64 pages.

Reference: WSG 5.8 ↗

medium script Incomplete media lazy loading

Only 0/16 images use loading="lazy". Global lazy loading reduces initial data transfer and energy consumption.

Recurs on 63 pages.

Best Practice Example

<picture> 
  <source type="image/avif" srcset="image.avif">
  <source type="image/webp" srcset="image.webp">
  <img width="100px" height="100px" src="image.jpg" alt="" loading="lazy"/>
</picture>

Source: WSG Guideline 11

medium script Multiple tracking scripts detected

Found 3 commercial tracking scripts. Consider lightweight, privacy-focused alternatives like Plausible or Fathom to reduce JS weight and energy footprint.

Recurs on 63 pages.

Best Practice Example

<!-- Replace heavy trackers with lightweight alternatives -->
<script defer data-domain="yourdomain.com" src="https://plausible.io/js/script.js"></script>

Source: WSG Guideline 7

medium script Missing explicit navigation structure

No <nav> or role="navigation" tags found. Proper wayfinding helps users find content efficiently and reduces unnecessary page loads.

Recurs on 1 pages.

Best Practice Example

<nav aria-label="Primary">
  <ul>
    <li><a href="/">Home</a></li>
  </ul>
</nav>

Reference: WSG 2.5

medium script Missing main content landmark

No <main> or role="main" tags found. Semantic HTML reduces code bloat and allows both assistive technology and web crawlers to parse content more efficiently.

Recurs on 1 pages.

Best Practice Example

<main>
  <article>
    <h1>Page Title</h1>
    <p>Content goes here.</p>
  </article>
</main>

Reference: WSG 3.7

WSG Latest Stable Language Version

Flags externally visible runtime/language version drift and recurring opportunities to align with modern stable baselines.

Cross-Page Runtime/Language Version Signals

No recurring outdated runtime/language signatures were detected from exposed headers.

Green Hosting Checks

Hosting status for the submitted URL hosts and any external script or stylesheet origins, using the Green Web Foundation dataset.

Third-Party JavaScript Assessment

Evaluates third-party script providers with the same priority as first-party code by combining payload, request volume, and hosting status.

Top Third-Party Script Providers

Cross-Page Hosting Risk

Recurring external providers with non-green or unknown hosting status across the scanned URL set.

No non-green or unknown recurring external providers were detected.

WSG Modularization Overview

Finds bandwidth-heavy components that should be split, deferred, or loaded only on demand.

Use this to identify candidates for route-level splitting, interaction-triggered imports, lazy media loading, and deferring heavy third-party or feature bundles.

WSG 3.2 Redundancy Overview

Checks unnecessary or redundant information using Lighthouse waste signals.

Urgency is based on estimated redundant transfer and failed redundancy-related audits, helping teams prioritize fixes that reduce unnecessary bytes first.

WSG Remove Unnecessary Code Overview

Uses Lighthouse signals to estimate unused CSS/JS, duplicated JS, and unnecessary HTML complexity.

WSG Defer Non-Critical Resources Overview

Identifies assets likely not required for first paint and recommends deferring them.

WSG 3.1 Performance and Energy Budget

Benchmark comparison using Sustainable Web Design Digital Carbon Ratings.

Reduction needed: Transfer 1.52 MB (61.4%), CO2 0.8468 g (85.4%).

Stretch target: Rating A = 531.15 KB and 0.0790 g per page.

Cross-Page Patterns

Recurring component and bundle opportunities that can often be fixed once in templates, CMS blocks, or the design system.

Recurring Heavy Assets

Recurring Modularization Targets

Recurring Heavy Origins

Site-Wide Guidance

Shared recommendations grouped by site origin so platform-level fixes can be prioritized before page-by-page cleanup.

This scan appears to target a single site. Shared issues are usually best fixed once at template/platform level.

https://civicactions.com

Sampled pages: 64

  • [MEDIUM] Add sitemap.xml at site origin
    sitemap.xml is missing for all sampled pages on https://civicactions.com.
  • [LOW] Publish .well-known/security.txt
    .well-known/security.txt is missing for all sampled pages on https://civicactions.com.
  • [HIGH] Apply Content-Security-Policy site-wide
    CSP is absent across all sampled pages on https://civicactions.com.
  • [HIGH] Introduce service worker support
    No sampled pages on https://civicactions.com indicate service worker support for offline resilience.
  • [HIGH] Support offline fallback behavior
    Offline page behavior was not detected across sampled pages on https://civicactions.com.
  • [MEDIUM] Fix recurring optimization bloat at shared layer
    Lazy-load offscreen images recurs across 52 pages on https://civicactions.com (est. 52.96 MB aggregate savings).
  • [HIGH] Prioritize recurring compression fixes
    Use modern image compression formats recurs across 22 pages on https://civicactions.com (est. 55.54 MB aggregate savings).
  • [HIGH] Prioritize recurring offline/caching improvements
    Add service worker support is needed across 64 pages on https://civicactions.com.

Recurring compression opportunities:

  • Use modern image compression formats: 22 page(s), est. 55.54 MB total savings, urgency HIGH
  • Improve image encoding quality/size: 2 page(s), est. 606.68 KB total savings, urgency HIGH

Recurring offline/caching opportunities:

  • Add service worker support: 64 page(s), urgency HIGH
  • Ensure critical routes work offline: 64 page(s), urgency HIGH
  • Improve web app manifest support: 64 page(s), urgency MEDIUM
  • Strengthen static asset cache TTL: 64 page(s), urgency HIGH
  • Support offline start URL behavior: 64 page(s), urgency MEDIUM

Recurring optimization opportunities:

  • Lazy-load offscreen images: 52 page(s), est. 52.96 MB total savings
  • Remove unused JavaScript: 52 page(s), est. 13.76 MB total savings
  • Remove unused CSS: 52 page(s), est. 951.43 KB total savings
  • Serve images in next-gen formats: 22 page(s), est. 55.54 MB total savings
  • Right-size images for viewport: 18 page(s), est. 41.11 MB total savings
  • Compress oversized image assets: 2 page(s), est. 606.68 KB total savings

Page-Specific Guidance

Page-level exceptions and targeted follow-ups after site-wide recommendations are addressed.

https://civicactions.com

  • https://civicactions.com/case-studies/globalnet-platform-support/
    Urgency: HIGH. Scores: compression 81/100, optimization 100/100, offline 100/100, dependency 2/100, language 0/100, security 55/100, expected files 40/100, media 43/100.
    Top actions: Use modern image compression formats; Lazy-load offscreen images; Serve images in next-gen formats
  • https://civicactions.com/case-studies/va-cms-modernization/
    Urgency: HIGH. Scores: compression 73/100, optimization 100/100, offline 100/100, dependency 2/100, language 0/100, security 55/100, expected files 40/100, media 42/100.
    Top actions: Use modern image compression formats; Lazy-load offscreen images; Serve images in next-gen formats
  • https://civicactions.com/case-studies/va-cms-modernization
    Urgency: HIGH. Scores: compression 73/100, optimization 100/100, offline 100/100, dependency 2/100, language 0/100, security 55/100, expected files 40/100, media 42/100.
    Top actions: Use modern image compression formats; Lazy-load offscreen images; Serve images in next-gen formats
  • https://civicactions.com/case-studies/nsf-website-redesign/
    Urgency: HIGH. Scores: compression 73/100, optimization 100/100, offline 100/100, dependency 2/100, language 0/100, security 55/100, expected files 40/100, media 36/100.
    Top actions: Use modern image compression formats; Serve images in next-gen formats; Lazy-load offscreen images
  • https://civicactions.com/case-studies/georgia-workforce-open-data/
    Urgency: HIGH. Scores: compression 58/100, optimization 100/100, offline 100/100, dependency 2/100, language 0/100, security 55/100, expected files 40/100, media 50/100.
    Top actions: Use modern image compression formats; Serve images in next-gen formats; Right-size images for viewport
  • https://civicactions.com/case-studies/va-alt-text/
    Urgency: HIGH. Scores: compression 61/100, optimization 100/100, offline 100/100, dependency 2/100, language 0/100, security 55/100, expected files 40/100, media 45/100.
    Top actions: Use modern image compression formats; Serve images in next-gen formats; Lazy-load offscreen images

Overview Table

URL Performance Transfer CO2 Findings Top Actions
https://civicactions.com/case-studies/cms-design-challenge-mvp/ 77/100 1.19 MB 0.4781 g 6 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/case-studies/fcc-website-modernization/ 93/100 1.29 MB 0.5175 g 5 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/case-studies/georgia-workforce-open-data/ 65/100 3.15 MB 1.2670 g 6 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/case-studies/nyc-metro-transit-digital-clocks/ 93/100 3.43 MB 1.3792 g 6 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/case-studies/nsf-website-redesign/ 63/100 12.39 MB 4.9787 g 6 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/case-studies/va-cms-modernization/ 65/100 11.19 MB 4.4959 g 6 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/case-studies/open-acr/ 93/100 1.04 MB 0.4197 g 5 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/case-studies/va-alt-text/ 70/100 2.83 MB 1.1350 g 6 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/case-studies/Drupal-10/ 71/100 1.38 MB 0.5549 g 6 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/case-studies/globalnet-platform-support/ 90/100 12.43 MB 4.9915 g 6 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/case-studies/dept-of-education-system-lifecycle-development-management/ 64/100 8.07 MB 3.2407 g 6 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/case-studies/cybergeek/ 81/100 1.00 MB 0.4023 g 5 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/case-studies/cms-web-experience-services/ 92/100 1.52 MB 0.6099 g 5 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/press/2024-07-09-CivicActions-Appoints-Mike-Gifford/ 91/100 865.09 KB 0.3394 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/press/2024-01-16-CivicActions-Announces-Impact-Report/ 88/100 860.79 KB 0.3377 g 4 Reduce unused JavaScript; Largest Contentful Paint
https://civicactions.com/press/2024-01-05-CivicActions-Partners-with-aamdsif/ 93/100 861.41 KB 0.3379 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/press/2022-04-21-civicactions-announces-Ryerson-partnership-digital-accessibility/ 93/100 861.09 KB 0.3378 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/press/2022-01-05-civicactions-named-govtech-100-top-government-technology-companies-list/ 93/100 859.83 KB 0.3373 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/press/2021-09-08-civicactions-announces-ditap-grads-across-federal-agencies/ 90/100 861.93 KB 0.3381 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/press/2021-07-19-civicactions-announces-va-ditap-graduation/ 92/100 861.44 KB 0.3379 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/press/2021-07-08-gsa-engages-civicactions-to-modernize-vpat/ 90/100 861.04 KB 0.3378 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/press/2021-05-11-civicactions-wins-department-of-ed-recompete/ 90/100 860.63 KB 0.3376 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/press/2021-05-03-civicactions-wins-nsf-recompete/ 93/100 860.63 KB 0.3376 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/press/2020-11-09-civicactions-acquires-openconcept/ 92/100 861.25 KB 0.3378 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/press/2020-08-14-civicactions-certified-to-deliver-ditap/ 90/100 861.24 KB 0.3378 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/press/2020-03-02-civicactions-wins-cms-contract/ 91/100 860.65 KB 0.3376 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/press/ 81/100 861.58 KB 0.3380 g 4 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/press/2/ 92/100 861.70 KB 0.3380 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/press/3/ 93/100 861.05 KB 0.3378 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/accessibility-statement/ 90/100 864.32 KB 0.3390 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/services/ditap/ 87/100 1.73 MB 0.6933 g 5 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/careers/ 74/100 3.00 MB 1.2031 g 7 Largest Contentful Paint; Serve images in next-gen formats
https://civicactions.com/case-studies/ 92/100 14.81 MB 5.9474 g 6 Serve images in next-gen formats; Largest Contentful Paint
https://civicactions.com/contact/ 92/100 1.20 MB 0.4821 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/contracting/ 88/100 982.52 KB 0.3854 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/feedback/ 90/100 5.69 MB 2.2839 g 5 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/ 75/100 1.87 MB 0.7499 g 5 Largest Contentful Paint; Serve images in next-gen formats
https://civicactions.com/licensing/ 93/100 834.37 KB 0.3273 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/privacy/ 93/100 836.65 KB 0.3282 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/services/ 90/100 868.53 KB 0.3407 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/services2/ 93/100 827.35 KB 0.3245 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/styles/ 93/100 828.51 KB 0.3250 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/sustainability/ 91/100 868.73 KB 0.3408 g 4 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/team/ 88/100 1.12 MB 0.4504 g 5 Defer offscreen images; Largest Contentful Paint
https://civicactions.com/services/ditap/register/ 91/100 5.69 MB 2.2854 g 5 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/manifest.webmanifest n/a 0.00 B 0.0000 g 13 Largest Contentful Paint; Speed Index
https://civicactions.com/services/ditap 78/100 1.73 MB 0.6935 g 5 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/services/ditap/register 87/100 5.69 MB 2.2856 g 5 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/case-studies/nyc-metro-transit-digital-clocks%20/ n/a 0.00 B 0.0000 g 13 Largest Contentful Paint; Speed Index
https://civicactions.com/case-studies/cms-web-experience-services/fearless.tech n/a 0.00 B 0.0000 g 13 Largest Contentful Paint; Speed Index
https://civicactions.com/feedback 84/100 5.68 MB 2.2835 g 5 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/case-studies 82/100 14.81 MB 5.9476 g 6 Largest Contentful Paint; Serve images in next-gen formats
https://civicactions.com/case-studies/va-cms-modernization 66/100 11.19 MB 4.4960 g 6 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/case-studies/Drupal-10/CMS.gov n/a 0.00 B 0.0000 g 13 Largest Contentful Paint; Speed Index
https://civicactions.com/case-studies/Drupal-10/Medicare.gov n/a 0.00 B 0.0000 g 13 Largest Contentful Paint; Speed Index
https://civicactions.com/case-studies/Drupal-10/Openpaymentsdata.cms.gov n/a 0.00 B 0.0000 g 13 Largest Contentful Paint; Speed Index
https://civicactions.com/case-studies/Drupal-10/Data.medicaid.gov n/a 0.00 B 0.0000 g 13 Largest Contentful Paint; Speed Index
https://civicactions.com/case-studies/Drupal-10/Data.healthcare.gov n/a 0.00 B 0.0000 g 13 Largest Contentful Paint; Speed Index
https://civicactions.com/case-studies/Drupal-10/SDIS.medicaid.gov n/a 0.00 B 0.0000 g 13 Largest Contentful Paint; Speed Index
https://civicactions.com/case-studies/Drupal-10/PFS.data.cms.gov n/a 0.00 B 0.0000 g 13 Largest Contentful Paint; Speed Index
https://civicactions.com/case-studies/Drupal-10/QIC.cms.gov n/a 0.00 B 0.0000 g 13 Largest Contentful Paint; Speed Index
https://civicactions.com/case-studies/cms-web-experience-services 89/100 1.52 MB 0.6100 g 5 Largest Contentful Paint; Reduce unused JavaScript
https://civicactions.com/case-studies/cms-design-challenge-mvp 81/100 1.19 MB 0.4768 g 5 Largest Contentful Paint; Serve images in next-gen formats
https://civicactions.com/case-studies/fearless.tech n/a 0.00 B 0.0000 g 13 Largest Contentful Paint; Speed Index

Per-Page Green Hosting Details

Checks the submitted page host plus any external script and stylesheet origins discovered by Lighthouse.

https://civicactions.com/case-studies/cms-design-challenge-mvp/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.97 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.76 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.91 KB

https://civicactions.com/case-studies/fcc-website-modernization/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.67 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/case-studies/georgia-workforce-open-data/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.49 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/case-studies/nyc-metro-transit-digital-clocks/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.50 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/case-studies/nsf-website-redesign/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/case-studies/va-cms-modernization/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.51 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/case-studies/open-acr/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.49 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.76 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.91 KB

https://civicactions.com/case-studies/va-alt-text/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.48 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.67 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/case-studies/Drupal-10/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.51 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.67 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/case-studies/globalnet-platform-support/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.50 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/case-studies/dept-of-education-system-lifecycle-development-management/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.50 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/case-studies/cybergeek/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.52 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/case-studies/cms-web-experience-services/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.51 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/press/2024-07-09-CivicActions-Appoints-Mike-Gifford/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.50 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/press/2024-01-16-CivicActions-Announces-Impact-Report/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.51 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/press/2024-01-05-CivicActions-Partners-with-aamdsif/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/press/2022-04-21-civicactions-announces-Ryerson-partnership-digital-accessibility/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.50 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/press/2022-01-05-civicactions-named-govtech-100-top-government-technology-companies-list/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.49 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/press/2021-09-08-civicactions-announces-ditap-grads-across-federal-agencies/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/press/2021-07-19-civicactions-announces-va-ditap-graduation/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.51 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/press/2021-07-08-gsa-engages-civicactions-to-modernize-vpat/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.51 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/press/2021-05-11-civicactions-wins-department-of-ed-recompete/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.38 KB

https://civicactions.com/press/2021-05-03-civicactions-wins-nsf-recompete/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.52 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.38 KB

https://civicactions.com/press/2020-11-09-civicactions-acquires-openconcept/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/press/2020-08-14-civicactions-certified-to-deliver-ditap/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.52 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.67 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/press/2020-03-02-civicactions-wins-cms-contract/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/press/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.67 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/press/2/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/press/3/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.56 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/accessibility-statement/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/services/ditap/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.52 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/careers/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
  • SCRIPT challenges.cloudflare.com: GREEN (Cloudflare), 1 request(s), 17.30 KB

https://civicactions.com/case-studies/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/contact/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.55 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
  • SCRIPT challenges.cloudflare.com: GREEN (Cloudflare), 1 request(s), 17.36 KB

https://civicactions.com/contracting/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/feedback/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.gstatic.com: GREEN (Google Cloud), 2 request(s), 652.05 KB
  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • STYLESHEET www.gstatic.com: GREEN (Google Cloud), 1 request(s), 151.64 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
  • STYLESHEET fonts.googleapis.com: GREEN (Google Cloud), 3 request(s), 3.76 KB

https://civicactions.com/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.67 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/licensing/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/privacy/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/services/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.67 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/services2/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/styles/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/sustainability/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/team/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/services/ditap/register/

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.gstatic.com: GREEN (Google Cloud), 2 request(s), 652.05 KB
  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.52 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • STYLESHEET www.gstatic.com: GREEN (Google Cloud), 1 request(s), 151.64 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
  • STYLESHEET fonts.googleapis.com: GREEN (Google Cloud), 3 request(s), 3.42 KB

https://civicactions.com/manifest.webmanifest

Page host: civicactions.com: NOT GREEN

No external stylesheet or script origins were detected.

https://civicactions.com/services/ditap

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.55 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/services/ditap/register

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.gstatic.com: GREEN (Google Cloud), 2 request(s), 652.05 KB
  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.52 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
  • STYLESHEET www.gstatic.com: GREEN (Google Cloud), 1 request(s), 151.64 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
  • STYLESHEET fonts.googleapis.com: GREEN (Google Cloud), 3 request(s), 3.42 KB

https://civicactions.com/case-studies/nyc-metro-transit-digital-clocks%20/

Page host: civicactions.com: NOT GREEN

No external stylesheet or script origins were detected.

https://civicactions.com/case-studies/cms-web-experience-services/fearless.tech

Page host: civicactions.com: NOT GREEN

No external stylesheet or script origins were detected.

https://civicactions.com/feedback

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.gstatic.com: GREEN (Google Cloud), 2 request(s), 652.05 KB
  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • STYLESHEET www.gstatic.com: GREEN (Google Cloud), 1 request(s), 151.64 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
  • STYLESHEET fonts.googleapis.com: GREEN (Google Cloud), 3 request(s), 3.38 KB

https://civicactions.com/case-studies

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/case-studies/va-cms-modernization

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/case-studies/Drupal-10/CMS.gov

Page host: civicactions.com: NOT GREEN

No external stylesheet or script origins were detected.

https://civicactions.com/case-studies/Drupal-10/Medicare.gov

Page host: civicactions.com: NOT GREEN

No external stylesheet or script origins were detected.

https://civicactions.com/case-studies/Drupal-10/Openpaymentsdata.cms.gov

Page host: civicactions.com: NOT GREEN

No external stylesheet or script origins were detected.

https://civicactions.com/case-studies/Drupal-10/Data.medicaid.gov

Page host: civicactions.com: NOT GREEN

No external stylesheet or script origins were detected.

https://civicactions.com/case-studies/Drupal-10/Data.healthcare.gov

Page host: civicactions.com: NOT GREEN

No external stylesheet or script origins were detected.

https://civicactions.com/case-studies/Drupal-10/SDIS.medicaid.gov

Page host: civicactions.com: NOT GREEN

No external stylesheet or script origins were detected.

https://civicactions.com/case-studies/Drupal-10/PFS.data.cms.gov

Page host: civicactions.com: NOT GREEN

No external stylesheet or script origins were detected.

https://civicactions.com/case-studies/Drupal-10/QIC.cms.gov

Page host: civicactions.com: NOT GREEN

No external stylesheet or script origins were detected.

https://civicactions.com/case-studies/cms-web-experience-services

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.51 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/case-studies/cms-design-challenge-mvp

Page host: civicactions.com: NOT GREEN

  • SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.52 KB
  • SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
  • SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB

https://civicactions.com/case-studies/fearless.tech

Page host: civicactions.com: NOT GREEN

No external stylesheet or script origins were detected.

Copy/Paste GitHub Issue Snippets

Use these blocks to open targeted implementation issues in your queue.

Largest Contentful Paint

Impact: high

Reduce unused JavaScript

Impact: high

Serve images in next-gen formats

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Reduce unused CSS

Impact: medium

Largest Contentful Paint

Impact: high

Reduce unused JavaScript

Impact: high

Serve images in next-gen formats

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Reduce unused CSS

Impact: medium

Largest Contentful Paint

Impact: high

Reduce unused JavaScript

Impact: high

Serve images in next-gen formats

Impact: high

Largest Contentful Paint

Impact: high

Reduce unused JavaScript

Impact: high

Serve images in next-gen formats

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Reduce unused CSS

Impact: medium

Largest Contentful Paint

Impact: high

Reduce unused JavaScript

Impact: high

Serve images in next-gen formats

Impact: high

Largest Contentful Paint

Impact: high

Reduce unused JavaScript

Impact: high

Serve images in next-gen formats

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Reduce unused CSS

Impact: medium

Largest Contentful Paint

Impact: high

Reduce unused JavaScript

Impact: high

Serve images in next-gen formats

Impact: high

Largest Contentful Paint

Impact: high

Reduce unused JavaScript

Impact: high

Serve images in next-gen formats

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Reduce unused CSS

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Reduce unused JavaScript

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused CSS

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Largest Contentful Paint

Impact: high

Reduce unused JavaScript

Impact: high

Defer offscreen images

Impact: high

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Reduce unused CSS

Impact: medium

Largest Contentful Paint

Impact: high

Serve images in next-gen formats

Impact: high

Reduce unused JavaScript

Impact: medium

Serve images in next-gen formats

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Reduce unused CSS

Impact: medium

Largest Contentful Paint

Impact: high

Serve images in next-gen formats

Impact: high

Defer offscreen images

Impact: high

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Defer offscreen images

Impact: high

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Reduce unused CSS

Impact: medium

Largest Contentful Paint

Impact: investigate

Speed Index

Impact: investigate

Reduce unused JavaScript

Impact: investigate

Largest Contentful Paint

Impact: high

Reduce unused JavaScript

Impact: medium

Reduce unused CSS

Impact: medium

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Reduce unused CSS

Impact: medium

Largest Contentful Paint

Impact: investigate

Speed Index

Impact: investigate

Reduce unused JavaScript

Impact: investigate

Largest Contentful Paint

Impact: investigate

Speed Index

Impact: investigate

Reduce unused JavaScript

Impact: investigate

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Reduce unused CSS

Impact: medium

Largest Contentful Paint

Impact: high

Serve images in next-gen formats

Impact: high

Reduce unused JavaScript

Impact: medium

Largest Contentful Paint

Impact: high

Reduce unused JavaScript

Impact: high

Serve images in next-gen formats

Impact: high

Largest Contentful Paint

Impact: investigate

Speed Index

Impact: investigate

Reduce unused JavaScript

Impact: investigate

Largest Contentful Paint

Impact: investigate

Speed Index

Impact: investigate

Reduce unused JavaScript

Impact: investigate

Largest Contentful Paint

Impact: investigate

Speed Index

Impact: investigate

Reduce unused JavaScript

Impact: investigate

Largest Contentful Paint

Impact: investigate

Speed Index

Impact: investigate

Reduce unused JavaScript

Impact: investigate

Largest Contentful Paint

Impact: investigate

Speed Index

Impact: investigate

Reduce unused JavaScript

Impact: investigate

Largest Contentful Paint

Impact: investigate

Speed Index

Impact: investigate

Reduce unused JavaScript

Impact: investigate

Largest Contentful Paint

Impact: investigate

Speed Index

Impact: investigate

Reduce unused JavaScript

Impact: investigate

Largest Contentful Paint

Impact: investigate

Speed Index

Impact: investigate

Reduce unused JavaScript

Impact: investigate

Largest Contentful Paint

Impact: medium

Reduce unused JavaScript

Impact: medium

Reduce unused CSS

Impact: medium

Largest Contentful Paint

Impact: high

Serve images in next-gen formats

Impact: high

Reduce unused JavaScript

Impact: medium

Largest Contentful Paint

Impact: investigate

Speed Index

Impact: investigate

Reduce unused JavaScript

Impact: investigate

Markdown Version

Show report markdown
# Sustainability Scan Report: SCAN: https://CivicActions.com

- Issue number: #41
- Generated at: 2026-04-20T17:39:16.737Z
- URLs requested: 64
- URLs scanned: 64
- Distinct sites scanned: 1
- Scan errors: 0
- Average performance score: 70/100
- Total transfer: 158.02 MB
- Estimated CO2: 63.4763 g
- Average transfer per page: 2.47 MB
- Average CO2 per page: 0.9918 g
- Average redundancy score: 10/100
- Pages with high redundancy urgency: 0
- Average modularization score: 32/100
- Pages with high modularization urgency: 20
- Average dead-code score: 8/100
- Pages with high dead-code urgency: 52
- Average non-critical resources score: 11/100
- Pages with high non-critical resource urgency: 20
- Average form validation score: 5/100
- Pages with high form validation urgency: 2
- Average metadata score: 1/100
- Pages with high metadata urgency: 1
- Average layout adaptation score: 30/100
- Pages with high layout urgency: 0
- Average lightweight security score: 51/100
- Pages with high security urgency: 4
- Average dependency maintenance score: 2/100
- Pages with high dependency maintenance urgency: 0
- Average expected-files score: 40/100
- Pages with high expected-files urgency: 0
- Average compression score: 14/100
- Pages with high compression urgency: 6
- Average optimization score: 81/100
- Pages with high optimization urgency: 52
- Average offline support score: 100/100
- Pages with high offline support urgency: 64
- Average media hints score: 47/100
- Pages with high media hints urgency: 0
- Average language version score: 0/100
- Pages with high language version urgency: 0

## WSG Form Validation and Tooling

- WSG reference: Validate form errors and account for tooling requirements (https://www.w3.org/TR/web-sustainability-guidelines/#validate-form-errors-and-account-for-tooling-requirements)
- Unique form element signatures assessed: 11
- Total form element occurrences observed: 18
- Reused assessments (not re-scanned repeats): 7

### Recurring Form Elements (Assessed Once, Reused Across Pages)

- select (tabs): appears on 2 page(s), risk 90/100, urgency HIGH
- checkbox (web_cms): appears on 2 page(s), risk 50/100, urgency MEDIUM
- checkbox (it_service_modernization): appears on 2 page(s), risk 50/100, urgency MEDIUM
- checkbox (product_design): appears on 2 page(s), risk 50/100, urgency MEDIUM
- checkbox (security_compliance): appears on 2 page(s), risk 50/100, urgency MEDIUM
- checkbox (data_services): appears on 2 page(s), risk 50/100, urgency MEDIUM
- checkbox (workforce_development): appears on 2 page(s), risk 50/100, urgency MEDIUM

## WSG Metadata for Machine Readability

- WSG reference: Structure metadata for machine readability (https://www.w3.org/TR/web-sustainability-guidelines/#structure-metadata-for-machine-readability)
- Assessed pages: 64
- Average metadata score: 1/100
- Pages with high urgency: 1
- Missing metadata across pages:
  - Missing html lang: 1
  - Missing meta description: 1
  - Missing canonical URL: 1
  - Missing Open Graph core tags: 1
  - Missing twitter:card: 1
  - Invalid or missing JSON-LD: 0

## WSG Multi-Device Layout Support

- WSG reference: Ensure layouts work for different devices and requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-layouts-work-for-different-devices-and-requirements)
- Assessed pages: 64
- Average layout adaptation score: 30/100
- High urgency pages: 0
- Pages with mobile overflow: 0
- Pages with tablet overflow: 0
- Total small tap targets on mobile: 2007
- Total small tap targets on tablet: 1987
- Total fixed-width offenders: 0
- Pages with grid overflow containers: 4
- Total overflowing grid containers: 8
- Total grid containers detected: 308

## WSG Lightweight Security Review

- WSG reference: Ensure that your code is secure (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-that-your-code-is-secure)
- Assessed pages: 64
- Average lightweight security score: 51/100
- High urgency pages: 4
- Pages missing Content-Security-Policy: 64
- HTTPS pages missing Strict-Transport-Security: 53
- Pages with vulnerable JS library findings: 0
- External scripts missing SRI (total): 75

## WSG Dependency Maintenance Review

- WSG reference: Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- Assessed pages: 64
- Average dependency maintenance score: 2/100
- High urgency pages: 0
- Pages with vulnerable dependencies: 0
- Total vulnerable dependency findings: 0

## WSG Expected and Beneficial Files

- WSG reference: Include expected and beneficial files (https://www.w3.org/TR/web-sustainability-guidelines/#include-expected-and-beneficial-files)
- Assessed pages: 64
- Average expected-files score: 40/100
- High urgency pages: 0
- Missing files across pages:
  - robots.txt missing: 0
  - sitemap.xml missing: 64
  - .well-known/security.txt missing: 64
  - manifest.webmanifest missing: 0
  - favicon.ico missing: 64

## WSG Reduce Data Transfer With Compression

- WSG reference: Reduce data transfer with compression (https://www.w3.org/TR/web-sustainability-guidelines/#reduce-data-transfer-with-compression)
- Assessed pages: 64
- Average compression score: 14/100
- High urgency pages: 6
- Pages missing effective text compression: 0
- Aggregate potential compression savings: 56.14 MB
- Recurring compression opportunities:
  - Use modern image compression formats: appears on 22 page(s), est. 55.54 MB total savings, urgency HIGH
  - Improve image encoding quality/size: appears on 2 page(s), est. 606.68 KB total savings, urgency HIGH

## WSG Efficient Solution Optimization Opportunities

- WSG reference: Use the most efficient solution for your service (https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service)
- Assessed pages: 64
- Average optimization score: 81/100
- High urgency pages: 52
- Aggregate potential byte savings: 164.90 MB
- Aggregate render-blocking reduction potential: 0 ms
- Recurring optimization opportunities:
  - Lazy-load offscreen images: appears on 52 page(s), est. 52.96 MB total savings
  - Remove unused JavaScript: appears on 52 page(s), est. 13.76 MB total savings
  - Remove unused CSS: appears on 52 page(s), est. 951.43 KB total savings
  - Serve images in next-gen formats: appears on 22 page(s), est. 55.54 MB total savings
  - Right-size images for viewport: appears on 18 page(s), est. 41.11 MB total savings
  - Compress oversized image assets: appears on 2 page(s), est. 606.68 KB total savings

## WSG Offline Access and Caching Support

- WSG reference: Optimize caching and support offline access (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-caching-and-support-offline-access)
- Assessed pages: 64
- Average offline support score: 100/100
- High urgency pages: 64
- Pages without service worker support: 64
- Pages without offline support: 64
- Pages with weak cache TTL signals: 64
- Recurring offline/caching opportunities:
  - Add service worker support: appears on 64 page(s), urgency HIGH
  - Ensure critical routes work offline: appears on 64 page(s), urgency HIGH
  - Improve web app manifest support: appears on 64 page(s), urgency MEDIUM
  - Strengthen static asset cache TTL: appears on 64 page(s), urgency HIGH
  - Support offline start URL behavior: appears on 64 page(s), urgency MEDIUM

## WSG Latest Stable Language Version

- WSG reference: Use the latest stable language version (https://www.w3.org/TR/web-sustainability-guidelines/#use-the-latest-stable-language-version)
- Assessed pages: 64
- Average language-version score: 0/100
- High urgency pages: 0
- Pages exposing runtime/language version signals: 0
- Pages with outdated runtime/language signals: 0

## WSG Media Sustainability Hints

- WSG reference: Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- Assessed pages: 64
- Average media hints score: 47/100
- High urgency pages: 0
- Pages with autoplay media: 0
- Pages with unmuted autoplay: 0
- Pages without dark mode support: 63
- Pages with lazy loading gap (< 50% of images lazy): 63

## Grid-Aware Websites Detection

- Assessed pages: 64
- Pages with grid-aware signals detected: 0
- No grid-aware website signals detected. Consider implementing grid-aware adaptation: https://www.thegreenwebfoundation.org/tools/grid-aware-websites/

## WSG Success Criteria & Best Practices

- Assessed pages: 64
- Average WSG compliance score: 45/100

### [LOW] [SCRIPT] Missing print style sheet
Add a @media print stylesheet to ensure the page is optimized for paper-saving printing.
- Recurs on 64 page(s).

**Best Practice Example:**
```javascript
// Implementation details in documentation
```
- [WSG Guideline 17](https://www.w3.org/TR/web-sustainability-guidelines/#reduce-the-impact-of-downloadable-and-physical-documents)

### [LOW] [SCRIPT] No reduced motion support
Implement prefers-reduced-motion to allow users to disable animations, reducing compute and improving accessibility.
- Recurs on 64 page(s).

**Best Practice Example:**
```javascript
@media (prefers-reduced-motion: reduce) {
	body *,
	body *::before,
	body *::after {
		animation-delay: -1ms !important;
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
		background-attachment: initial !important;
		transition-duration: 1ms !important;
		transition-delay: -1ms !important;
		scroll-behavior: auto !important;
	}
}
```
- [WSG Guideline 12](https://www.w3.org/TR/web-sustainability-guidelines/#ensure-animation-is-proportionate-and-easy-to-control)

### [MEDIUM] [SCRIPT] Missing system font fallback
Primary font "Nunito" does not appear to use a system font stack fallback. System fonts reduce network requests and improve rendering performance.
- Recurs on 64 page(s).

**Best Practice Example:**
```javascript
font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
```
- [WSG Guideline 13](https://www.w3.org/TR/web-sustainability-guidelines/#use-optimized-and-appropriate-web-typography)

### [INVESTIGATE] [HUMAN] Review User Journey Efficiency
Have a human walk through the main user journeys and verify they require the fewest steps possible. Unnecessary steps waste user time and device energy. Look for redundant confirmations, forced account creation, and non-essential interstitials.
- Recurs on 64 page(s).
- [WSG 2.4 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#minimize-non-essential-content-interactivity-or-journeys)

### [INVESTIGATE] [HUMAN] Check for Engagement Traps
Manually review the page for patterns that artificially prolong engagement: infinite scroll, autoplay carousels, sticky overlays, and notification permission prompts. These waste user attention and device energy.
- Recurs on 64 page(s).
- [WSG 2.6 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#design-to-assist-and-not-to-distract)

### [INVESTIGATE] [HUMAN] Audit for Deceptive Design Patterns
Have a human identify dark patterns: misleading consent dialogs, hidden unsubscribe links, forced continuity, and bait-and-switch flows. Deceptive patterns waste user time and undermine trust.
- Recurs on 64 page(s).
- [WSG 2.7 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#avoid-being-manipulative-or-deceptive)

### [INVESTIGATE] [HUMAN] Verify Accessible Alternatives for All Media
Manually check that every video has captions, every audio file has a transcript, every image has meaningful alt text, and every PDF has an accessible HTML alternative. Alternatives let assistive technology users avoid re-downloading heavy formats.
- Recurs on 64 page(s).
- [WSG 2.14 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#offer-suitable-alternatives-for-every-format-used)

### [INVESTIGATE] [HUMAN] Confirm User Research Was Conducted
Verify that genuine user research or usability testing has informed the design. Research-driven design reduces wasted iterations, removes unnecessary features, and ensures the product meets real needs efficiently.
- Recurs on 64 page(s).
- [WSG 2.18 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#involve-users-early-in-the-project)

### [INVESTIGATE] [AI] Review Content Conciseness
Use a Large Language Model (e.g. locally or via API) to evaluate page text for conciseness and clarity. Removing superfluous text reduces payload, reading time, and inference energy for search engines indexing this content.
- Recurs on 64 page(s).
- [WSG 2.10 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#provide-clear-inclusive-content-with-purpose)

### [INVESTIGATE] [HUMAN] Verify Error Pages and Redirects Are Configured
Have a human check that custom 404 and 500 error pages exist and that there are no redirect chains longer than one hop. Broken links force wasted round-trips. Redirect chains multiply transfer costs.
- Recurs on 64 page(s).
- [WSG 4.4 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#setup-necessary-error-pages-and-redirection-links)

### [INVESTIGATE] [HUMAN] Review CDN Usage and Geographic Distribution
Confirm that static assets are served from a CDN and that the CDN edge nodes are geographically close to the primary audience. CDN misuse—or absence—increases last-mile transfer distance and the associated energy cost of data delivery.
- Recurs on 64 page(s).
- [WSG 4.10 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#use-content-delivery-networks-cdns-appropriately)

### [INVESTIGATE] [HUMAN] Confirm a Sustainability Advocate Is Assigned
Verify that someone on the team has explicit responsibility for web sustainability. Without a designated advocate, sustainability improvements tend to be deprioritized and never reach the backlog.
- Recurs on 64 page(s).
- [WSG 5.2 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#assign-a-sustainability-advocate)

### [INVESTIGATE] [HUMAN] Check for a Public Sustainability Statement
Look for a publicly accessible sustainability statement, disclosure page, or environmental policy. Mandatory disclosure requirements are growing globally and transparency builds user trust. The statement should include measurable targets and dates.
- Recurs on 64 page(s).
- [WSG 5.8 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#support-mandatory-disclosures-and-reporting)

### [MEDIUM] [SCRIPT] Incomplete media lazy loading
Only 0/16 images use loading="lazy". Global lazy loading reduces initial data transfer and energy consumption.
- Recurs on 63 page(s).

**Best Practice Example:**
```javascript
<picture> 
  <source type="image/avif" srcset="image.avif">
  <source type="image/webp" srcset="image.webp">
  <img width="100px" height="100px" src="image.jpg" alt="" loading="lazy"/>
</picture>
```
- [WSG Guideline 11](https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)

### [MEDIUM] [SCRIPT] Multiple tracking scripts detected
Found 3 commercial tracking scripts. Consider lightweight, privacy-focused alternatives like Plausible or Fathom to reduce JS weight and energy footprint.
- Recurs on 63 page(s).

**Best Practice Example:**
```javascript
// Implementation details in documentation
```
- [WSG Guideline 7](https://www.w3.org/TR/web-sustainability-guidelines/#avoid-being-manipulative-or-deceptive)

### [MEDIUM] [SCRIPT] Missing explicit navigation structure
No <nav> or role="navigation" tags found. Proper wayfinding helps users find content efficiently and reduces unnecessary page loads.
- Recurs on 1 page(s).
- [WSG 2.5 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#ensure-that-navigation-and-wayfinding-are-well-structured)

### [MEDIUM] [SCRIPT] Missing main content landmark
No <main> or role="main" tags found. Semantic HTML reduces code bloat and allows both assistive technology and web crawlers to parse content more efficiently.
- Recurs on 1 page(s).
- [WSG 3.7 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#ensure-code-follows-good-semantic-practices)

## WSG Third-Party JavaScript Assessment

- WSG reference: Give third parties the same priority as first parties during assessment (https://www.w3.org/TR/web-sustainability-guidelines/#give-third-parties-the-same-priority-as-first-parties-during-assessment)
- Average third-party JS risk score: 44/100
- Pages with high urgency: 0
- Distinct third-party script providers: 5

### Top Third-Party Script Providers

- www.googletagmanager.com: GREEN (Google Cloud); on 52 page(s), 104 request(s), 14.60 MB
- js.hsforms.net: GREEN (Cloudflare); on 52 page(s), 52 request(s), 9.83 MB
- www.google-analytics.com: GREEN (Google Cloud); on 52 page(s), 52 request(s), 1.04 MB
- www.gstatic.com: GREEN (Google Cloud); on 4 page(s), 8 request(s), 2.55 MB
- challenges.cloudflare.com: GREEN (Cloudflare); on 2 page(s), 2 request(s), 34.65 KB

## Cross-Page Hosting Risk (Non-Green Providers)

- Focus: recurring external CSS/JS providers with non-green or unknown hosting status.
- No non-green external providers were detected in this scan.

## Green Hosting Checks

- Source: https://www.thegreenwebfoundation.org/tools/green-web-dataset/
- Submitted URL hosts checked: 64
- Submitted URL hosts on green energy: 0
- Submitted URL hosts not confirmed green: 64
- Submitted URL hosts unknown: 0
- External CSS/JS origins checked: 6
- External CSS/JS origins on green energy: 6
- External CSS/JS origins not confirmed green: 0
- External CSS/JS origins unknown: 0

## WSG SC 3.1 Budget Guidance

- WSG reference: Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- Sustainable Web Design benchmark: https://sustainablewebdesign.org/digital-carbon-ratings/
- Current transfer rating: F
- Current CO2 rating: F
- Recommended budget target: rating B
- Budget max transfer/page: 975.85 KB
- Budget max CO2/page: 0.1450 g
- Transfer reduction needed: 1.52 MB (61.4%)
- CO2 reduction needed: 0.8468 g (85.4%)
- Stretch budget (rating A): 531.15 KB and 0.0790 g per page

## WSG SC 3.2 Redundancy Analysis

- WSG reference: Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- Redundancy score: 0 (low redundancy) to 100 (high redundancy)
- Urgency levels: low, medium, high

## WSG Remove Unnecessary Code Analysis

- WSG reference: Remove unnecessary code (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-code)
- Dead-code score: 0 (low unnecessary code) to 100 (high unnecessary code)
- Includes unused CSS/JS, duplicated JS, and HTML complexity heuristics

## WSG Defer Non-Critical Resources Analysis

- WSG reference: Defer the loading of non-critical resources (https://www.w3.org/TR/web-sustainability-guidelines/#defer-the-loading-of-non-critical-resources)
- Non-critical score: 0 (few defer opportunities) to 100 (many deferrable resources)
- Uses offscreen image savings, unused CSS/JS, render-blocking delay, and heavy likely-non-critical assets

## WSG Modularization Analysis

- WSG reference: Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- Modularization score: 0 (few obvious on-demand opportunities) to 100 (many heavy initial-load components)
- This analysis looks for heavy scripts, images, styles, fonts, and media that should be split or loaded on demand.

## Cross-Page Patterns

- This same heavy image pattern appears on 19 pages. Fix it once in the shared template, CMS block, or design system component to reduce load across the whole site.
- These 3 script bundles are recurring modularization targets. Move the fix to the shared bundle or component boundary so every affected page gets lighter at once.
- These 3 modularization targets recur across multiple pages. Centralize the fix at the component or bundle level instead of treating each page separately.
- Heavy assets from www.googletagmanager.com recur across 52 pages. Review whether that dependency should be deferred, optimized, or loaded conditionally.

### Recurring Heavy Assets

- script assets from www.googletagmanager.com/gtag appears on 52 pages (14.60 MB total)
- script assets from js.hsforms.net/forms appears on 52 pages (9.83 MB total)
- image assets from storage.googleapis.com/ca-it-prod-home-5918-strapi appears on 19 pages (88.99 MB total)
- font assets from fonts.gstatic.com/s appears on 4 pages (7.39 MB total)
- script assets from www.gstatic.com/_ appears on 4 pages (2.39 MB total)

### Recurring Modularization Targets

- Split JavaScript by route or interaction affects 52 pages (est. 13.76 MB aggregate savings)
- Modularize heavy script asset from js.hsforms.net affects 43 pages (est. 8.13 MB aggregate savings)
- Modularize heavy script asset from www.googletagmanager.com affects 34 pages (est. 5.71 MB aggregate savings)
- Lazy-load offscreen images and media galleries affects 31 pages (est. 52.47 MB aggregate savings)
- Modularize heavy image asset from storage.googleapis.com affects 19 pages (est. 63.92 MB aggregate savings)

### Recurring Heavy Origins

- www.googletagmanager.com is a recurring heavy source on 52 pages (14.60 MB total)
- js.hsforms.net is a recurring heavy source on 52 pages (9.83 MB total)
- storage.googleapis.com is a recurring heavy source on 19 pages (88.99 MB total)
- fonts.gstatic.com is a recurring heavy source on 4 pages (11.18 MB total)
- www.gstatic.com is a recurring heavy source on 4 pages (3.65 MB total)

## Site-Wide Guidance

- This scan appears to target a single site. Shared recommendations below should typically be fixed once at platform/template level.

### https://civicactions.com
- Sampled pages: 64
- Shared recommendations:
  - [MEDIUM] Add sitemap.xml at site origin
    - sitemap.xml is missing for all sampled pages on https://civicactions.com.
  - [LOW] Publish .well-known/security.txt
    - .well-known/security.txt is missing for all sampled pages on https://civicactions.com.
  - [HIGH] Apply Content-Security-Policy site-wide
    - CSP is absent across all sampled pages on https://civicactions.com.
  - [HIGH] Introduce service worker support
    - No sampled pages on https://civicactions.com indicate service worker support for offline resilience.
  - [HIGH] Support offline fallback behavior
    - Offline page behavior was not detected across sampled pages on https://civicactions.com.
  - [MEDIUM] Fix recurring optimization bloat at shared layer
    - Lazy-load offscreen images recurs across 52 pages on https://civicactions.com (est. 52.96 MB aggregate savings).
  - [HIGH] Prioritize recurring compression fixes
    - Use modern image compression formats recurs across 22 pages on https://civicactions.com (est. 55.54 MB aggregate savings).
  - [HIGH] Prioritize recurring offline/caching improvements
    - Add service worker support is needed across 64 pages on https://civicactions.com.
- Recurring offline/caching opportunities:
  - Add service worker support: 64 page(s), urgency HIGH
  - Ensure critical routes work offline: 64 page(s), urgency HIGH
  - Improve web app manifest support: 64 page(s), urgency MEDIUM
  - Strengthen static asset cache TTL: 64 page(s), urgency HIGH
  - Support offline start URL behavior: 64 page(s), urgency MEDIUM
- Recurring compression opportunities:
  - Use modern image compression formats: 22 page(s), est. 55.54 MB total savings, urgency HIGH
  - Improve image encoding quality/size: 2 page(s), est. 606.68 KB total savings, urgency HIGH
- Recurring optimization opportunities:
  - Lazy-load offscreen images: 52 page(s), est. 52.96 MB total savings
  - Remove unused JavaScript: 52 page(s), est. 13.76 MB total savings
  - Remove unused CSS: 52 page(s), est. 951.43 KB total savings
  - Serve images in next-gen formats: 22 page(s), est. 55.54 MB total savings
  - Right-size images for viewport: 18 page(s), est. 41.11 MB total savings
  - Compress oversized image assets: 2 page(s), est. 606.68 KB total savings

## Page-Specific Guidance

- Use this section for page-level exceptions after site-wide/platform fixes are planned.

### https://civicactions.com
- https://civicactions.com/case-studies/globalnet-platform-support/
  - Combined urgency: HIGH
  - Compression score: 81/100, optimization score: 100/100, offline score: 100/100, dependency score: 2/100, language score: 0/100, security score: 55/100, expected-files score: 40/100
  - [HIGH] Use modern image compression formats
  - [HIGH] Lazy-load offscreen images
  - [HIGH] Serve images in next-gen formats
- https://civicactions.com/case-studies/va-cms-modernization/
  - Combined urgency: HIGH
  - Compression score: 73/100, optimization score: 100/100, offline score: 100/100, dependency score: 2/100, language score: 0/100, security score: 55/100, expected-files score: 40/100
  - [HIGH] Use modern image compression formats
  - [HIGH] Lazy-load offscreen images
  - [HIGH] Serve images in next-gen formats
- https://civicactions.com/case-studies/va-cms-modernization
  - Combined urgency: HIGH
  - Compression score: 73/100, optimization score: 100/100, offline score: 100/100, dependency score: 2/100, language score: 0/100, security score: 55/100, expected-files score: 40/100
  - [HIGH] Use modern image compression formats
  - [HIGH] Lazy-load offscreen images
  - [HIGH] Serve images in next-gen formats
- https://civicactions.com/case-studies/nsf-website-redesign/
  - Combined urgency: HIGH
  - Compression score: 73/100, optimization score: 100/100, offline score: 100/100, dependency score: 2/100, language score: 0/100, security score: 55/100, expected-files score: 40/100
  - [HIGH] Use modern image compression formats
  - [HIGH] Serve images in next-gen formats
  - [HIGH] Lazy-load offscreen images
- https://civicactions.com/case-studies/georgia-workforce-open-data/
  - Combined urgency: HIGH
  - Compression score: 58/100, optimization score: 100/100, offline score: 100/100, dependency score: 2/100, language score: 0/100, security score: 55/100, expected-files score: 40/100
  - [HIGH] Use modern image compression formats
  - [HIGH] Serve images in next-gen formats
  - [HIGH] Right-size images for viewport
- https://civicactions.com/case-studies/va-alt-text/
  - Combined urgency: HIGH
  - Compression score: 61/100, optimization score: 100/100, offline score: 100/100, dependency score: 2/100, language score: 0/100, security score: 55/100, expected-files score: 40/100
  - [HIGH] Use modern image compression formats
  - [HIGH] Serve images in next-gen formats
  - [HIGH] Lazy-load offscreen images

## Priority Improvements

### https://civicactions.com/case-studies/cms-design-challenge-mvp/
- Performance: 77/100
- Transfer: 1.19 MB
- CO2 estimate: 0.4781 g
- Page host green energy status: NOT GREEN
- Redundancy score: 13/100
- Redundancy urgency: MEDIUM
- Modularization score: 37/100
- Modularization urgency: MEDIUM
- Dead-code score: 10/100
- Dead-code urgency: HIGH
- Non-critical resources score: 15/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 12/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 287.31 KB (23.6% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 269.88 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.43 KB savings)
- Heavy initial-load requests: 5 (701.18 KB total)
- On-demand modularization candidates:
  - [HIGH] Lazy-load offscreen images and media galleries (est. 264.31 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 269.88 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.76 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 172.02 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.97 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.76 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.91 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.43 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 269.88 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [HIGH] Lazy-load offscreen images (est. 264.31 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 269.88 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.43 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.76 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 172.02 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 36 small targets on mobile and 36 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [MEDIUM] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 142.44 KB.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 269.88 KB.
  - [HIGH] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 264.31 KB.
  - [MEDIUM] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 142.44 KB.
  - [MEDIUM] Right-size images for viewport
    - Avoid sending larger images than the rendered size needs. Estimated byte savings: 94.37 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.43 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 483.27 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 16 of 16 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
  - Current value: 5.4 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Reduce unused JavaScript
  - Current value: Est savings of 270 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Serve images in next-gen formats
  - Current value: Est savings of 142 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Defer offscreen images
  - Current value: Est savings of 264 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [HIGH] Preconnect to required origins
  - Current value: Est savings of 130 ms
  - WSG: 18 Use the most efficient solution for your service (https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/case-studies/fcc-website-modernization/
- Performance: 93/100
- Transfer: 1.29 MB
- CO2 estimate: 0.5175 g
- Page host green energy status: NOT GREEN
- Redundancy score: 12/100
- Redundancy urgency: MEDIUM
- Modularization score: 46/100
- Modularization urgency: MEDIUM
- Dead-code score: 10/100
- Dead-code urgency: HIGH
- Non-critical resources score: 19/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 14/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.28 KB (21.9% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.07 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.22 KB savings)
- Heavy initial-load requests: 6 (937.31 KB total)
- On-demand modularization candidates:
  - [HIGH] Lazy-load offscreen images and media galleries (est. 488.67 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.07 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.67 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy image asset from storage.googleapis.com (est. 176.53 KB)
    - Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.67 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.22 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.07 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [HIGH] Lazy-load offscreen images (est. 488.67 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.07 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.22 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.67 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 176.53 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 28 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [MEDIUM] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 178.60 KB.
- Optimization recommendations:
  - [HIGH] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 488.67 KB.
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.07 KB.
  - [MEDIUM] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 178.60 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.22 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 565.77 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 15 of 15 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
  - Current value: 2.9 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Serve images in next-gen formats
  - Current value: Est savings of 179 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 489 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)

### https://civicactions.com/case-studies/georgia-workforce-open-data/
- Performance: 65/100
- Transfer: 3.15 MB
- CO2 estimate: 1.2670 g
- Page host green energy status: NOT GREEN
- Redundancy score: 5/100
- Redundancy urgency: MEDIUM
- Modularization score: 44/100
- Modularization urgency: HIGH
- Dead-code score: 4/100
- Dead-code urgency: HIGH
- Non-critical resources score: 7/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 58/100
- Compression urgency: MEDIUM
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.56 KB (8.9% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.14 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.42 KB savings)
- Heavy initial-load requests: 5 (2.76 MB total)
- On-demand modularization candidates:
  - [HIGH] Lazy-load offscreen images and media galleries (est. 376.59 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 1.97 MB)
    - Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.49 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.42 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [HIGH] Lazy-load offscreen images (est. 376.59 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.42 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 1.97 MB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 34 small targets on mobile and 33 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [HIGH] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 1.84 MB.
- Optimization recommendations:
  - [HIGH] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 1.84 MB.
  - [HIGH] Right-size images for viewport
    - Avoid sending larger images than the rendered size needs. Estimated byte savings: 1.65 MB.
  - [HIGH] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 376.59 KB.
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.42 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 2.04 MB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 15 of 15 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
  - Current value: 16.8 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Serve images in next-gen formats
  - Current value: Est savings of 1,880 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 377 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
  - Current value: Total size was 3,230 KiB
  - WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)

### https://civicactions.com/case-studies/nyc-metro-transit-digital-clocks/
- Performance: 93/100
- Transfer: 3.43 MB
- CO2 estimate: 1.3792 g
- Page host green energy status: NOT GREEN
- Redundancy score: 5/100
- Redundancy urgency: MEDIUM
- Modularization score: 58/100
- Modularization urgency: HIGH
- Dead-code score: 4/100
- Dead-code urgency: HIGH
- Non-critical resources score: 29/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 8/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.09 KB (8.2% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 270.67 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.42 KB savings)
- Heavy initial-load requests: 6 (3.06 MB total)
- On-demand modularization candidates:
  - [HIGH] Lazy-load offscreen images and media galleries (est. 2.62 MB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 270.67 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 2.26 MB)
    - Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.50 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.42 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 270.67 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [HIGH] Lazy-load offscreen images (est. 2.62 MB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 270.67 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.42 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 2.26 MB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [HIGH] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 288.74 KB.
- Optimization recommendations:
  - [HIGH] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 2.62 MB.
  - [HIGH] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 288.74 KB.
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.67 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.42 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 2.27 MB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 15 of 15 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
  - Current value: 2.9 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Serve images in next-gen formats
  - Current value: Est savings of 289 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 2,685 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
  - Current value: Total size was 3,516 KiB
  - WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)

### https://civicactions.com/case-studies/nsf-website-redesign/
- Performance: 63/100
- Transfer: 12.39 MB
- CO2 estimate: 4.9787 g
- Page host green energy status: NOT GREEN
- Redundancy score: 1/100
- Redundancy urgency: MEDIUM
- Modularization score: 59/100
- Modularization urgency: HIGH
- Dead-code score: 1/100
- Dead-code urgency: HIGH
- Non-critical resources score: 26/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 73/100
- Compression urgency: HIGH
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 36/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 287.05 KB (2.3% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.10 KB savings)
  - [MEDIUM] Reduce unused css (est. 15.95 KB savings)
- Heavy initial-load requests: 6 (11.91 MB total)
- On-demand modularization candidates:
  - [HIGH] Lazy-load offscreen images and media galleries (est. 9.01 MB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.10 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 8.23 MB)
    - Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 15.95 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.10 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [HIGH] Lazy-load offscreen images (est. 9.01 MB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.10 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 15.95 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 8.23 MB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [HIGH] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 9.10 MB.
- Optimization recommendations:
  - [HIGH] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 9.10 MB.
  - [HIGH] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 9.01 MB.
  - [HIGH] Right-size images for viewport
    - Avoid sending larger images than the rendered size needs. Estimated byte savings: 2.43 MB.
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.10 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 15.95 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 9.42 MB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 42 of 55 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
  - Current value: 20.7 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Serve images in next-gen formats
  - Current value: Est savings of 9,320 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 16 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 9,230 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
  - Current value: Total size was 12,692 KiB
  - WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)

### https://civicactions.com/case-studies/va-cms-modernization/
- Performance: 65/100
- Transfer: 11.19 MB
- CO2 estimate: 4.4959 g
- Page host green energy status: NOT GREEN
- Redundancy score: 1/100
- Redundancy urgency: MEDIUM
- Modularization score: 59/100
- Modularization urgency: HIGH
- Dead-code score: 1/100
- Dead-code urgency: HIGH
- Non-critical resources score: 27/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 73/100
- Compression urgency: HIGH
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 42/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.78 KB (2.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.14 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.64 KB savings)
- Heavy initial-load requests: 5 (10.80 MB total)
- On-demand modularization candidates:
  - [HIGH] Lazy-load offscreen images and media galleries (est. 8.37 MB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 8.34 MB)
    - Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.51 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.64 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [HIGH] Lazy-load offscreen images (est. 8.37 MB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.64 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 8.34 MB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [HIGH] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 8.16 MB.
- Optimization recommendations:
  - [HIGH] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 8.37 MB.
  - [HIGH] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 8.16 MB.
  - [HIGH] Right-size images for viewport
    - Avoid sending larger images than the rendered size needs. Estimated byte savings: 1.91 MB.
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.64 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 8.46 MB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 20 of 23 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
  - Current value: 17.3 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Serve images in next-gen formats
  - Current value: Est savings of 8,356 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 18 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 8,575 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
  - Current value: Total size was 11,461 KiB
  - WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)

### https://civicactions.com/case-studies/open-acr/
- Performance: 93/100
- Transfer: 1.04 MB
- CO2 estimate: 0.4197 g
- Page host green energy status: NOT GREEN
- Redundancy score: 15/100
- Redundancy urgency: MEDIUM
- Modularization score: 34/100
- Modularization urgency: MEDIUM
- Dead-code score: 12/100
- Dead-code urgency: HIGH
- Non-critical resources score: 13/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 7/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 41/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 287.93 KB (26.9% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 269.29 KB savings)
  - [MEDIUM] Reduce unused css (est. 18.64 KB savings)
- Heavy initial-load requests: 4 (597.64 KB total)
- On-demand modularization candidates:
  - [HIGH] Lazy-load offscreen images and media galleries (est. 149.06 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 269.29 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.76 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.91 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.49 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.76 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.91 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 18.64 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 269.29 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 149.06 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 269.29 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 18.64 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.76 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.91 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [MEDIUM] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 74.28 KB.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 269.29 KB.
  - [MEDIUM] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 149.06 KB.
  - [MEDIUM] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 74.28 KB.
  - [MEDIUM] Right-size images for viewport
    - Avoid sending larger images than the rendered size needs. Estimated byte savings: 59.42 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 18.64 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 347.27 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 22 of 26 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
  - Current value: 2.8 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 269 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 19 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Serve images in next-gen formats
  - Current value: Est savings of 74 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 149 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)

### https://civicactions.com/case-studies/va-alt-text/
- Performance: 70/100
- Transfer: 2.83 MB
- CO2 estimate: 1.1350 g
- Page host green energy status: NOT GREEN
- Redundancy score: 5/100
- Redundancy urgency: MEDIUM
- Modularization score: 52/100
- Modularization urgency: HIGH
- Dead-code score: 4/100
- Dead-code urgency: HIGH
- Non-critical resources score: 18/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 61/100
- Compression urgency: HIGH
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 45/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 287.86 KB (9.9% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 270.71 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.15 KB savings)
- Heavy initial-load requests: 7 (2.44 MB total)
- On-demand modularization candidates:
  - [HIGH] Lazy-load offscreen images and media galleries (est. 1.19 MB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 270.71 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 822.06 KB)
    - Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.48 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.67 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.15 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 270.71 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [HIGH] Lazy-load offscreen images (est. 1.19 MB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 270.71 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.15 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 822.06 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.67 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 30 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [HIGH] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 1.73 MB.
- Optimization recommendations:
  - [HIGH] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 1.73 MB.
  - [HIGH] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 1.19 MB.
  - [HIGH] Right-size images for viewport
    - Avoid sending larger images than the rendered size needs. Estimated byte savings: 691.92 KB.
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.71 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.15 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 1.77 MB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 20 of 22 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
  - Current value: 11.3 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Serve images in next-gen formats
  - Current value: Est savings of 1,775 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 1,223 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
  - Current value: Total size was 2,893 KiB
  - WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)

### https://civicactions.com/case-studies/Drupal-10/
- Performance: 71/100
- Transfer: 1.38 MB
- CO2 estimate: 0.5549 g
- Page host green energy status: NOT GREEN
- Redundancy score: 11/100
- Redundancy urgency: MEDIUM
- Modularization score: 37/100
- Modularization urgency: MEDIUM
- Dead-code score: 9/100
- Dead-code urgency: HIGH
- Non-critical resources score: 7/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 59/100
- Compression urgency: MEDIUM
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 37/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.30 KB (20.4% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.11 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.19 KB savings)
- Heavy initial-load requests: 4 (1008.07 KB total)
- On-demand modularization candidates:
  - [MEDIUM] Lazy-load offscreen images and media galleries (est. 32.72 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.11 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 526.89 KB)
    - Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.67 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.51 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.67 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.19 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.11 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 32.72 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.11 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.19 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 526.89 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.67 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 35 small targets on mobile and 37 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [HIGH] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 465.00 KB.
  - [HIGH] Improve image encoding quality/size
    - Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 372.37 KB.
- Optimization recommendations:
  - [HIGH] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 465.00 KB.
  - [HIGH] Right-size images for viewport
    - Avoid sending larger images than the rendered size needs. Estimated byte savings: 400.16 KB.
  - [HIGH] Compress oversized image assets
    - Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 372.37 KB.
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.11 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 32.72 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.19 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 622.40 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 29 of 37 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
  - Current value: 7.1 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Serve images in next-gen formats
  - Current value: Est savings of 465 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Efficiently encode images
  - Current value: Est savings of 372 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 33 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)

### https://civicactions.com/case-studies/globalnet-platform-support/
- Performance: 90/100
- Transfer: 12.43 MB
- CO2 estimate: 4.9915 g
- Page host green energy status: NOT GREEN
- Redundancy score: 1/100
- Redundancy urgency: MEDIUM
- Modularization score: 64/100
- Modularization urgency: HIGH
- Dead-code score: 1/100
- Dead-code urgency: HIGH
- Non-critical resources score: 33/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 81/100
- Compression urgency: HIGH
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 43/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.37 KB (2.3% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.11 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.26 KB savings)
- Heavy initial-load requests: 6 (12.03 MB total)
- On-demand modularization candidates:
  - [HIGH] Lazy-load offscreen images and media galleries (est. 11.60 MB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.11 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 10.24 MB)
    - Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.50 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.26 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.11 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [HIGH] Lazy-load offscreen images (est. 11.60 MB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.11 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.26 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 10.24 MB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 30 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [HIGH] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 10.11 MB.
- Optimization recommendations:
  - [HIGH] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 11.60 MB.
  - [HIGH] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 10.11 MB.
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.11 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.26 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 9.45 MB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 21 of 24 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
  - Current value: 2.9 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Serve images in next-gen formats
  - Current value: Est savings of 10,353 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 11,873 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
  - Current value: Total size was 12,725 KiB
  - WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)

### https://civicactions.com/case-studies/dept-of-education-system-lifecycle-development-management/
- Performance: 64/100
- Transfer: 8.07 MB
- CO2 estimate: 3.2407 g
- Page host green energy status: NOT GREEN
- Redundancy score: 2/100
- Redundancy urgency: MEDIUM
- Modularization score: 53/100
- Modularization urgency: HIGH
- Dead-code score: 2/100
- Dead-code urgency: HIGH
- Non-critical resources score: 18/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 68/100
- Compression urgency: HIGH
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 37/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.29 KB (3.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.14 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.15 KB savings)
- Heavy initial-load requests: 5 (7.67 MB total)
- On-demand modularization candidates:
  - [HIGH] Lazy-load offscreen images and media galleries (est. 3.82 MB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 3.79 MB)
    - Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.50 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.15 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [HIGH] Lazy-load offscreen images (est. 3.82 MB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.15 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 3.79 MB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [HIGH] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 5.51 MB.
- Optimization recommendations:
  - [HIGH] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 5.51 MB.
  - [HIGH] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 3.82 MB.
  - [HIGH] Right-size images for viewport
    - Avoid sending larger images than the rendered size needs. Estimated byte savings: 3.28 MB.
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.15 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 5.96 MB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 30 of 38 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
  - Current value: 34.2 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Serve images in next-gen formats
  - Current value: Est savings of 5,641 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 3,910 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
  - Current value: Total size was 8,261 KiB
  - WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)

### https://civicactions.com/case-studies/cybergeek/
- Performance: 81/100
- Transfer: 1.00 MB
- CO2 estimate: 0.4023 g
- Page host green energy status: NOT GREEN
- Redundancy score: 15/100
- Redundancy urgency: MEDIUM
- Modularization score: 29/100
- Modularization urgency: MEDIUM
- Dead-code score: 12/100
- Dead-code urgency: HIGH
- Non-critical resources score: 12/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 3/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 44/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.45 KB (28.1% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.14 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.31 KB savings)
- Heavy initial-load requests: 3 (481.17 KB total)
- On-demand modularization candidates:
  - [MEDIUM] Lazy-load offscreen images and media galleries (est. 95.90 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.93 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.52 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.31 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 95.90 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.31 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.93 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 34 small targets on mobile and 33 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 35.11 KB.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
  - [MEDIUM] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 95.90 KB.
  - [MEDIUM] Right-size images for viewport
    - Avoid sending larger images than the rendered size needs. Estimated byte savings: 61.62 KB.
  - [LOW] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 35.11 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.31 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 316.41 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 19 of 21 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
  - Current value: 4.5 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Serve images in next-gen formats
  - Current value: Est savings of 35 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 96 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)

### https://civicactions.com/case-studies/cms-web-experience-services/
- Performance: 92/100
- Transfer: 1.52 MB
- CO2 estimate: 0.6099 g
- Page host green energy status: NOT GREEN
- Redundancy score: 10/100
- Redundancy urgency: MEDIUM
- Modularization score: 46/100
- Modularization urgency: HIGH
- Dead-code score: 8/100
- Dead-code urgency: HIGH
- Non-critical resources score: 21/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 37/100
- Compression urgency: MEDIUM
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 36/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 287.69 KB (18.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.14 KB savings)
  - [MEDIUM] Reduce unused css (est. 16.55 KB savings)
- Heavy initial-load requests: 4 (1.12 MB total)
- On-demand modularization candidates:
  - [HIGH] Lazy-load offscreen images and media galleries (est. 697.52 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 664.93 KB)
    - Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.51 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 16.55 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [HIGH] Lazy-load offscreen images (est. 697.52 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 16.55 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 664.93 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 30 small targets on mobile and 29 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [HIGH] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 568.51 KB.
- Optimization recommendations:
  - [HIGH] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 697.52 KB.
  - [HIGH] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 568.51 KB.
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 16.55 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 732.82 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 33 of 43 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.0 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Serve images in next-gen formats
  - Current value: Est savings of 569 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 698 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)

### https://civicactions.com/press/2024-07-09-CivicActions-Appoints-Mike-Gifford/
- Performance: 91/100
- Transfer: 865.09 KB
- CO2 estimate: 0.3394 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.80 KB (33.4% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.14 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.65 KB savings)
- Heavy initial-load requests: 3 (481.17 KB total)
- On-demand modularization candidates:
  - [MEDIUM] Lazy-load offscreen images and media galleries (est. 38.73 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.92 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.50 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.65 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 38.73 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.65 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.92 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 32 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 38.73 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.65 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 39 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.1 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 18 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/press/2024-01-16-CivicActions-Announces-Impact-Report/
- Performance: 88/100
- Transfer: 860.79 KB
- CO2 estimate: 0.3377 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.48 KB (33.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.10 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.38 KB savings)
- Heavy initial-load requests: 3 (481.16 KB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 271.10 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.92 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.51 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.38 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.10 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.10 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.38 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.92 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 30 small targets on mobile and 29 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.10 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.38 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.87 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.7 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 24 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)

### https://civicactions.com/press/2024-01-05-CivicActions-Partners-with-aamdsif/
- Performance: 93/100
- Transfer: 861.41 KB
- CO2 estimate: 0.3379 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.64 KB (33.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.11 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.53 KB savings)
- Heavy initial-load requests: 3 (481.19 KB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 271.11 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.91 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.53 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.11 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.11 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.53 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.91 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 28 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.11 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.53 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 24 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.1 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 18 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/press/2022-04-21-civicactions-announces-Ryerson-partnership-digital-accessibility/
- Performance: 93/100
- Transfer: 861.09 KB
- CO2 estimate: 0.3378 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.56 KB (33.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.15 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.41 KB savings)
- Heavy initial-load requests: 3 (481.15 KB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 271.15 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.92 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.50 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.41 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.15 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.15 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.41 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.92 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 33 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.15 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.41 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 24 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.1 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/press/2022-01-05-civicactions-named-govtech-100-top-government-technology-companies-list/
- Performance: 93/100
- Transfer: 859.83 KB
- CO2 estimate: 0.3373 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.29 KB (33.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.13 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.16 KB savings)
- Heavy initial-load requests: 3 (481.14 KB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 271.13 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.91 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.49 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.16 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.13 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.13 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.16 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.91 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 30 small targets on mobile and 29 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.13 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.16 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.87 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 24 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.1 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/press/2021-09-08-civicactions-announces-ditap-grads-across-federal-agencies/
- Performance: 90/100
- Transfer: 861.93 KB
- CO2 estimate: 0.3381 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.69 KB (33.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.10 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.60 KB savings)
- Heavy initial-load requests: 3 (481.20 KB total)
- On-demand modularization candidates:
  - [MEDIUM] Lazy-load offscreen images and media galleries (est. 38.73 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.10 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.91 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.60 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.10 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 38.73 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.10 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.60 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.91 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.10 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 38.73 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.60 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 39 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.2 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 18 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/press/2021-07-19-civicactions-announces-va-ditap-graduation/
- Performance: 92/100
- Transfer: 861.44 KB
- CO2 estimate: 0.3379 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.64 KB (33.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.13 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.51 KB savings)
- Heavy initial-load requests: 3 (481.16 KB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 271.13 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.91 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.51 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.51 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.13 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.13 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.51 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.91 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.13 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.51 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.87 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 24 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.1 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 18 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/press/2021-07-08-gsa-engages-civicactions-to-modernize-vpat/
- Performance: 90/100
- Transfer: 861.04 KB
- CO2 estimate: 0.3378 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.64 KB (33.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.19 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.44 KB savings)
- Heavy initial-load requests: 3 (481.17 KB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 271.19 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.93 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.51 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.44 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.19 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.19 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.44 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.93 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 30 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.19 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.44 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.87 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 24 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.2 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/press/2021-05-11-civicactions-wins-department-of-ed-recompete/
- Performance: 90/100
- Transfer: 860.63 KB
- CO2 estimate: 0.3376 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.43 KB (33.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.10 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.33 KB savings)
- Heavy initial-load requests: 3 (481.19 KB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 271.10 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.90 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.38 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.33 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.10 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.10 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.33 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.90 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 30 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.10 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.33 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.87 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 24 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.2 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/press/2021-05-03-civicactions-wins-nsf-recompete/
- Performance: 93/100
- Transfer: 860.63 KB
- CO2 estimate: 0.3376 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.05 KB (33.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 270.68 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.38 KB savings)
- Heavy initial-load requests: 3 (481.18 KB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 270.68 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.93 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.52 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.38 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.38 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 270.68 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 270.68 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.38 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.93 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.68 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.38 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 24 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.1 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/press/2020-11-09-civicactions-acquires-openconcept/
- Performance: 92/100
- Transfer: 861.25 KB
- CO2 estimate: 0.3378 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.60 KB (33.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.10 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.49 KB savings)
- Heavy initial-load requests: 3 (481.18 KB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 271.10 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.49 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.10 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.10 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.49 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 34 small targets on mobile and 33 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.10 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.49 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.87 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 24 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.1 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/press/2020-08-14-civicactions-certified-to-deliver-ditap/
- Performance: 90/100
- Transfer: 861.24 KB
- CO2 estimate: 0.3378 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.59 KB (33.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.14 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.45 KB savings)
- Heavy initial-load requests: 3 (481.19 KB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.67 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.93 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.52 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.67 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.45 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.45 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.67 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.93 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.45 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 24 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.2 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/press/2020-03-02-civicactions-wins-cms-contract/
- Performance: 91/100
- Transfer: 860.65 KB
- CO2 estimate: 0.3376 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 287.55 KB (33.4% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 270.21 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.35 KB savings)
- Heavy initial-load requests: 3 (481.19 KB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 270.21 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.35 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 270.21 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 270.21 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.35 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 29 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.21 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.35 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 24 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.2 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 270 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/press/
- Performance: 81/100
- Transfer: 861.58 KB
- CO2 estimate: 0.3380 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.35 KB (33.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.11 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.24 KB savings)
- Heavy initial-load requests: 3 (481.20 KB total)
- On-demand modularization candidates:
  - [MEDIUM] Lazy-load offscreen images and media galleries (est. 38.73 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.11 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.67 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.67 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.24 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.11 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 38.73 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.11 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.24 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.67 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.11 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 38.73 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.24 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.89 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
  - Current value: 4.2 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Defer offscreen images
  - Current value: Est savings of 39 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/press/2/
- Performance: 92/100
- Transfer: 861.70 KB
- CO2 estimate: 0.3380 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.46 KB (33.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.20 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.27 KB savings)
- Heavy initial-load requests: 3 (481.19 KB total)
- On-demand modularization candidates:
  - [MEDIUM] Lazy-load offscreen images and media galleries (est. 38.73 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.20 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.27 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.20 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 38.73 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.20 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.27 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 32 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.20 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 38.73 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.27 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 39 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.1 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/press/3/
- Performance: 93/100
- Transfer: 861.05 KB
- CO2 estimate: 0.3378 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 287.88 KB (33.4% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 270.68 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.21 KB savings)
- Heavy initial-load requests: 3 (481.21 KB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 270.68 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.92 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.56 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.21 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 270.68 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 270.68 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.21 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.92 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.68 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.21 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 24 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.1 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/accessibility-statement/
- Performance: 90/100
- Transfer: 864.32 KB
- CO2 estimate: 0.3390 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.94 KB (33.4% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.11 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.83 KB savings)
- Heavy initial-load requests: 3 (481.19 KB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 271.11 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.83 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.11 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.11 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.83 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 37 small targets on mobile and 38 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.11 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.83 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 24 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.2 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 18 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/services/ditap/
- Performance: 87/100
- Transfer: 1.73 MB
- CO2 estimate: 0.6933 g
- Page host green energy status: NOT GREEN
- Redundancy score: 9/100
- Redundancy urgency: MEDIUM
- Modularization score: 45/100
- Modularization urgency: HIGH
- Dead-code score: 7/100
- Dead-code urgency: HIGH
- Non-critical resources score: 22/100
- Non-critical resources urgency: HIGH
- Form validation score: 90/100
- Form validation urgency: HIGH
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 40/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 39/100
- Compression urgency: MEDIUM
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 287.51 KB (16.3% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.14 KB savings)
  - [MEDIUM] Reduce unused css (est. 16.37 KB savings)
- Heavy initial-load requests: 5 (1.18 MB total)
- On-demand modularization candidates:
  - [HIGH] Lazy-load offscreen images and media galleries (est. 873.16 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 427.51 KB)
    - Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.52 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 16.37 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [HIGH] Lazy-load offscreen images (est. 873.16 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 16.37 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 427.51 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [HIGH] Missing associated label
    - 1 unique form control signature(s) on this page include this issue.
  - [MEDIUM] No explicit validation rule
    - 1 unique form control signature(s) on this page include this issue.
  - [MEDIUM] No error messaging hook
    - 1 unique form control signature(s) on this page include this issue.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 44 small targets on mobile and 44 on tablet.
  - [MEDIUM] Make grid layouts breakpoint-aware
    - 2 grid container(s) overflowed across tested viewports (1 on mobile, 1 on tablet). Use intrinsic tracks (minmax(), fr), wrapping, and breakpoint-aware grid templates.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [HIGH] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 695.50 KB.
- Optimization recommendations:
  - [HIGH] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 873.16 KB.
  - [HIGH] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 695.50 KB.
  - [HIGH] Right-size images for viewport
    - Avoid sending larger images than the rendered size needs. Estimated byte savings: 457.32 KB.
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 16.37 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 894.46 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 35 of 35 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.0 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 16 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Serve images in next-gen formats
  - Current value: Est savings of 695 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 873 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)

### https://civicactions.com/careers/
- Performance: 74/100
- Transfer: 3.00 MB
- CO2 estimate: 1.2031 g
- Page host green energy status: NOT GREEN
- Redundancy score: 5/100
- Redundancy urgency: MEDIUM
- Modularization score: 51/100
- Modularization urgency: HIGH
- Dead-code score: 4/100
- Dead-code urgency: HIGH
- Non-critical resources score: 17/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 40/100
- Compression urgency: MEDIUM
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 56/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 290.07 KB (9.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 270.97 KB savings)
  - [MEDIUM] Reduce unused css (est. 19.09 KB savings)
- Heavy initial-load requests: 10 (2.29 MB total)
- On-demand modularization candidates:
  - [HIGH] Lazy-load offscreen images and media galleries (est. 1.25 MB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 270.97 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy image asset from civicactions.com (est. 387.82 KB)
    - Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
  - [HIGH] Modularize heavy xhr asset from challenges.cloudflare.com (est. 295.09 KB)
    - Move this asset behind an explicit interaction, route boundary, or lazy-loading trigger.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
  - SCRIPT challenges.cloudflare.com: GREEN (Cloudflare); 1 request(s), 17.30 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 4 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 19.09 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 270.97 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [HIGH] Lazy-load offscreen images (est. 1.25 MB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 270.97 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 19.09 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy image from civicactions.com (est. 387.82 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 34 small targets on mobile and 35 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [HIGH] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 988.59 KB.
  - [HIGH] Improve image encoding quality/size
    - Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 234.30 KB.
- Optimization recommendations:
  - [HIGH] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 1.25 MB.
  - [HIGH] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 988.59 KB.
  - [HIGH] Right-size images for viewport
    - Avoid sending larger images than the rendered size needs. Estimated byte savings: 567.74 KB.
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.97 KB.
  - [HIGH] Compress oversized image assets
    - Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 234.30 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 19.09 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 201.28 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 35 of 35 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
  - Current value: 6.1 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Serve images in next-gen formats
  - Current value: Est savings of 989 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 19 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Efficiently encode images
  - Current value: Est savings of 234 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 1,276 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)

### https://civicactions.com/case-studies/
- Performance: 92/100
- Transfer: 14.81 MB
- CO2 estimate: 5.9474 g
- Page host green energy status: NOT GREEN
- Redundancy score: 1/100
- Redundancy urgency: MEDIUM
- Modularization score: 45/100
- Modularization urgency: HIGH
- Dead-code score: 1/100
- Dead-code urgency: HIGH
- Non-critical resources score: 1/100
- Non-critical resources urgency: HIGH
- Form validation score: 50/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 19/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 292.35 KB (1.9% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.14 KB savings)
  - [MEDIUM] Reduce unused css (est. 21.21 KB savings)
- Heavy initial-load requests: 6 (14.05 MB total)
- On-demand modularization candidates:
  - [HIGH] Lazy-load offscreen images and media galleries (est. 207.79 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 8.39 MB)
    - Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 21.21 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 207.79 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 21.21 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 8.39 MB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [MEDIUM] No explicit validation rule
    - 6 unique form control signature(s) on this page include this issue.
  - [MEDIUM] No error messaging hook
    - 6 unique form control signature(s) on this page include this issue.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 35 small targets on mobile and 34 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [HIGH] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 2.78 MB.
- Optimization recommendations:
  - [HIGH] Right-size images for viewport
    - Avoid sending larger images than the rendered size needs. Estimated byte savings: 13.44 MB.
  - [HIGH] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 2.78 MB.
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
  - [HIGH] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 207.79 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 21.21 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 11.37 MB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 31 of 31 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Serve images in next-gen formats
  - Current value: Est savings of 2,844 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.0 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 21 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 208 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
  - Current value: Total size was 15,161 KiB
  - WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)

### https://civicactions.com/contact/
- Performance: 92/100
- Transfer: 1.20 MB
- CO2 estimate: 0.4821 g
- Page host green energy status: NOT GREEN
- Redundancy score: 13/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 10/100
- Dead-code urgency: HIGH
- Non-critical resources score: 8/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 28/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 56/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 289.85 KB (23.6% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.06 KB savings)
  - [MEDIUM] Reduce unused css (est. 18.79 KB savings)
- Heavy initial-load requests: 4 (753.38 KB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 271.06 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy xhr asset from challenges.cloudflare.com (est. 272.17 KB)
    - Move this asset behind an explicit interaction, route boundary, or lazy-loading trigger.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.92 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.55 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
  - SCRIPT challenges.cloudflare.com: GREEN (Cloudflare); 1 request(s), 17.36 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 4 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 18.79 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.06 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.06 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 18.79 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.92 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [MEDIUM] No error messaging hook
    - 4 unique form control signature(s) on this page include this issue.
  - [MEDIUM] No explicit validation rule
    - 1 unique form control signature(s) on this page include this issue.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.06 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 18.79 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 202.52 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 15 of 15 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 24 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.2 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 19 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/contracting/
- Performance: 88/100
- Transfer: 982.52 KB
- CO2 estimate: 0.3854 g
- Page host green energy status: NOT GREEN
- Redundancy score: 17/100
- Redundancy urgency: MEDIUM
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 14/100
- Dead-code urgency: HIGH
- Non-critical resources score: 12/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 40/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 309.56 KB (31.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 270.68 KB savings)
  - [MEDIUM] Reduce unused css (est. 38.88 KB savings)
- Heavy initial-load requests: 3 (481.19 KB total)
- On-demand modularization candidates:
  - [MEDIUM] Lazy-load offscreen images and media galleries (est. 75.82 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 270.68 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 38.88 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 270.68 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 75.82 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 270.68 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 38.88 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 33 small targets on mobile and 36 on tablet.
  - [MEDIUM] Make grid layouts breakpoint-aware
    - 2 grid container(s) overflowed across tested viewports (1 on mobile, 1 on tablet). Use intrinsic tracks (minmax(), fr), wrapping, and breakpoint-aware grid templates.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.68 KB.
  - [MEDIUM] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 75.82 KB.
  - [MEDIUM] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 38.88 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.87 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 35 of 35 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 76 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.5 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 39 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/feedback/
- Performance: 90/100
- Transfer: 5.69 MB
- CO2 estimate: 2.2839 g
- Page host green energy status: NOT GREEN
- Redundancy score: 3/100
- Redundancy urgency: MEDIUM
- Modularization score: 40/100
- Modularization urgency: HIGH
- Dead-code score: 2/100
- Dead-code urgency: HIGH
- Non-critical resources score: 2/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 61/100
- Lightweight security urgency: HIGH
- Dependency maintenance score: 8/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 59/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.23 KB (5.0% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 270.98 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.25 KB savings)
- Heavy initial-load requests: 36 (4.18 MB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 270.98 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy script asset from www.gstatic.com (est. 612.99 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy font asset from fonts.gstatic.com (est. 221.11 KB)
    - Subset or defer this font so full font payloads are only fetched when needed.
- External CSS/JS hosting checks:
  - SCRIPT www.gstatic.com: GREEN (Google Cloud); 2 request(s), 652.05 KB
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - STYLESHEET www.gstatic.com: GREEN (Google Cloud); 1 request(s), 151.64 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
  - STYLESHEET fonts.googleapis.com: GREEN (Google Cloud); 3 request(s), 3.76 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 4 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.25 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 270.98 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 270.98 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.25 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from www.gstatic.com (est. 612.99 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [HIGH] Evaluate deferred loading for heavy font from fonts.gstatic.com (est. 221.11 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 30 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 4 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 4 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.98 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.25 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 232.94 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.1 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 24 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
  - Current value: Total size was 5,822 KiB
  - WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)

### https://civicactions.com/
- Performance: 75/100
- Transfer: 1.87 MB
- CO2 estimate: 0.7499 g
- Page host green energy status: NOT GREEN
- Redundancy score: 9/100
- Redundancy urgency: MEDIUM
- Modularization score: 44/100
- Modularization urgency: HIGH
- Dead-code score: 7/100
- Dead-code urgency: HIGH
- Non-critical resources score: 18/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 40/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 35/100
- Compression urgency: MEDIUM
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 49/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 305.67 KB (16.0% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.15 KB savings)
  - [MEDIUM] Reduce unused css (est. 34.52 KB savings)
- Heavy initial-load requests: 7 (1.25 MB total)
- On-demand modularization candidates:
  - [HIGH] Lazy-load offscreen images and media galleries (est. 754.78 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.15 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy image asset from civicactions.com (est. 341.79 KB)
    - Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.67 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.67 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 34.52 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.15 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [HIGH] Lazy-load offscreen images (est. 754.78 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.15 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 34.52 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy image from civicactions.com (est. 341.79 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.67 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 30 small targets on mobile and 29 on tablet.
  - [MEDIUM] Make grid layouts breakpoint-aware
    - 2 grid container(s) overflowed across tested viewports (1 on mobile, 1 on tablet). Use intrinsic tracks (minmax(), fr), wrapping, and breakpoint-aware grid templates.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [HIGH] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 664.82 KB.
- Optimization recommendations:
  - [HIGH] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 754.78 KB.
  - [HIGH] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 664.82 KB.
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.15 KB.
  - [HIGH] Right-size images for viewport
    - Avoid sending larger images than the rendered size needs. Estimated byte savings: 231.61 KB.
  - [MEDIUM] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 34.52 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 297.16 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 47 of 48 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
  - Current value: 6.1 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Serve images in next-gen formats
  - Current value: Est savings of 665 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Defer offscreen images
  - Current value: Est savings of 755 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 35 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/licensing/
- Performance: 93/100
- Transfer: 834.37 KB
- CO2 estimate: 0.3273 g
- Page host green energy status: NOT GREEN
- Redundancy score: 19/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.52 KB (34.6% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.15 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.36 KB savings)
- Heavy initial-load requests: 3 (481.19 KB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 271.15 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.93 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.36 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.15 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.15 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.36 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.93 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 29 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.15 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.36 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.87 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 24 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.1 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/privacy/
- Performance: 93/100
- Transfer: 836.65 KB
- CO2 estimate: 0.3282 g
- Page host green energy status: NOT GREEN
- Redundancy score: 19/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 12/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.84 KB (34.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.10 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.74 KB savings)
- Heavy initial-load requests: 3 (481.20 KB total)
- On-demand modularization candidates:
  - [MEDIUM] Lazy-load offscreen images and media galleries (est. 38.73 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.10 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.93 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.74 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.10 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 38.73 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.10 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.74 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.93 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 30 small targets on mobile and 29 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.10 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 38.73 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.74 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 39 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.1 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 18 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/services/
- Performance: 90/100
- Transfer: 868.53 KB
- CO2 estimate: 0.3407 g
- Page host green energy status: NOT GREEN
- Redundancy score: 19/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 12/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 292.35 KB (33.7% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.11 KB savings)
  - [MEDIUM] Reduce unused css (est. 21.25 KB savings)
- Heavy initial-load requests: 3 (481.21 KB total)
- On-demand modularization candidates:
  - [MEDIUM] Lazy-load offscreen images and media galleries (est. 44.56 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.11 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.67 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.67 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 21.25 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.11 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 44.56 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.11 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 21.25 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.67 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.11 KB.
  - [MEDIUM] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 44.56 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 21.25 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.89 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 18 of 18 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 45 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.2 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 21 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/services2/
- Performance: 93/100
- Transfer: 827.35 KB
- CO2 estimate: 0.3245 g
- Page host green energy status: NOT GREEN
- Redundancy score: 19/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.79 KB (34.9% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.15 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.64 KB savings)
- Heavy initial-load requests: 3 (481.19 KB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 271.15 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.64 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.15 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 18.22 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.15 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.64 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 28 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.15 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 18.22 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.64 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.87 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 18 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.2 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 18 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/styles/
- Performance: 93/100
- Transfer: 828.51 KB
- CO2 estimate: 0.3250 g
- Page host green energy status: NOT GREEN
- Redundancy score: 19/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.99 KB (34.9% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.14 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.85 KB savings)
- Heavy initial-load requests: 3 (481.19 KB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.85 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 18.22 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.85 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 28 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 18.22 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.85 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.87 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 18 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.2 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 18 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/sustainability/
- Performance: 91/100
- Transfer: 868.73 KB
- CO2 estimate: 0.3408 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 46/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.95 KB (33.3% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.14 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.81 KB savings)
- Heavy initial-load requests: 3 (481.20 KB total)
- On-demand modularization candidates:
  - [MEDIUM] Lazy-load offscreen images and media galleries (est. 38.73 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.81 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 38.73 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.81 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 33 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 38.73 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.81 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 13 of 14 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 39 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.1 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 18 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/team/
- Performance: 88/100
- Transfer: 1.12 MB
- CO2 estimate: 0.4504 g
- Page host green energy status: NOT GREEN
- Redundancy score: 24/100
- Redundancy urgency: MEDIUM
- Modularization score: 25/100
- Modularization urgency: MEDIUM
- Dead-code score: 14/100
- Dead-code urgency: HIGH
- Non-critical resources score: 9/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 31/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 284.51 KB (24.8% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 270.67 KB savings)
  - [MEDIUM] Reduce unused css (est. 13.84 KB savings)
  - [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 3 (481.20 KB total)
- On-demand modularization candidates:
  - [MEDIUM] Lazy-load offscreen images and media galleries (est. 49.91 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 270.67 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 13.84 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 270.67 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 49.91 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 270.67 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 13.84 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 28 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.67 KB.
  - [MEDIUM] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 49.91 KB.
  - [LOW] Right-size images for viewport
    - Avoid sending larger images than the rendered size needs. Estimated byte savings: 21.02 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 13.84 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 248 of 365 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
  - Current value: Est savings of 50 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.4 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 14 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Avoid an excessive DOM size
  - Current value: 2,213 elements
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)

### https://civicactions.com/services/ditap/register/
- Performance: 91/100
- Transfer: 5.69 MB
- CO2 estimate: 2.2854 g
- Page host green energy status: NOT GREEN
- Redundancy score: 3/100
- Redundancy urgency: MEDIUM
- Modularization score: 40/100
- Modularization urgency: HIGH
- Dead-code score: 2/100
- Dead-code urgency: HIGH
- Non-critical resources score: 2/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 61/100
- Lightweight security urgency: HIGH
- Dependency maintenance score: 8/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 59/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.38 KB (4.9% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 270.97 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.42 KB savings)
- Heavy initial-load requests: 36 (4.18 MB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 270.97 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy script asset from www.gstatic.com (est. 612.99 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy font asset from fonts.gstatic.com (est. 221.13 KB)
    - Subset or defer this font so full font payloads are only fetched when needed.
- External CSS/JS hosting checks:
  - SCRIPT www.gstatic.com: GREEN (Google Cloud); 2 request(s), 652.05 KB
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.52 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - STYLESHEET www.gstatic.com: GREEN (Google Cloud); 1 request(s), 151.64 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
  - STYLESHEET fonts.googleapis.com: GREEN (Google Cloud); 3 request(s), 3.42 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 4 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.42 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 270.97 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 270.97 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.42 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from www.gstatic.com (est. 612.99 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [HIGH] Evaluate deferred loading for heavy font from fonts.gstatic.com (est. 221.13 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 28 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 4 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 4 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.97 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.42 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 232.94 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.1 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 24 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
  - Current value: Total size was 5,826 KiB
  - WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)

### https://civicactions.com/manifest.webmanifest
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 80/100
- Metadata urgency: HIGH
- Layout adaptation score: 0/100
- Layout adaptation urgency: LOW
- Lightweight security score: 53/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 0/100
- Dependency maintenance urgency: LOW
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 0/100
- Media hints urgency: LOW
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
  - [LOW] No major third-party JavaScript risk signals
    - Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [HIGH] Add document language metadata
    - Set the html lang attribute for machine readability and localization tooling.
  - [MEDIUM] Add canonical URL metadata
    - Use rel=canonical to reduce duplicate URL ambiguity for crawlers and tooling.
  - [MEDIUM] Add meta description
    - Provide a concise description to improve machine interpretation and preview quality.
  - [MEDIUM] Complete Open Graph metadata
    - Include og:title, og:description, og:type, and og:url for robust machine-readable sharing metadata.
  - [LOW] Add twitter:card metadata
    - Include twitter card metadata to improve cross-platform machine-readable previews.
- Layout adaptation recommendations:
  - [LOW] Layout adaptation looks healthy
    - No major mobile or tablet layout issues were detected in this sample.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
- Dependency maintenance recommendations:
  - [LOW] No dependency maintenance warnings detected
    - No vulnerable dependency flags were found for this page in the current lightweight checks.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [LOW] No obvious optimization bloat signals
    - No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [HIGH] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
  - [LOW] Media hints look healthy
    - No major autoplay, dark mode, or lazy loading concerns were detected on this page.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)

### https://civicactions.com/services/ditap
- Performance: 78/100
- Transfer: 1.73 MB
- CO2 estimate: 0.6935 g
- Page host green energy status: NOT GREEN
- Redundancy score: 9/100
- Redundancy urgency: MEDIUM
- Modularization score: 45/100
- Modularization urgency: HIGH
- Dead-code score: 7/100
- Dead-code urgency: HIGH
- Non-critical resources score: 22/100
- Non-critical resources urgency: HIGH
- Form validation score: 90/100
- Form validation urgency: HIGH
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 40/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 39/100
- Compression urgency: MEDIUM
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 287.51 KB (16.3% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.14 KB savings)
  - [MEDIUM] Reduce unused css (est. 16.37 KB savings)
- Heavy initial-load requests: 5 (1.18 MB total)
- On-demand modularization candidates:
  - [HIGH] Lazy-load offscreen images and media galleries (est. 873.15 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 427.52 KB)
    - Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.55 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 16.37 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [HIGH] Lazy-load offscreen images (est. 873.15 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 16.37 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 427.52 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [HIGH] Missing associated label
    - 1 unique form control signature(s) on this page include this issue.
  - [MEDIUM] No explicit validation rule
    - 1 unique form control signature(s) on this page include this issue.
  - [MEDIUM] No error messaging hook
    - 1 unique form control signature(s) on this page include this issue.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 44 small targets on mobile and 44 on tablet.
  - [MEDIUM] Make grid layouts breakpoint-aware
    - 2 grid container(s) overflowed across tested viewports (1 on mobile, 1 on tablet). Use intrinsic tracks (minmax(), fr), wrapping, and breakpoint-aware grid templates.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [HIGH] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 695.50 KB.
- Optimization recommendations:
  - [HIGH] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 873.15 KB.
  - [HIGH] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 695.50 KB.
  - [HIGH] Right-size images for viewport
    - Avoid sending larger images than the rendered size needs. Estimated byte savings: 457.32 KB.
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 16.37 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 894.68 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 35 of 35 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
  - Current value: 4.1 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 16 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Serve images in next-gen formats
  - Current value: Est savings of 695 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 873 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)

### https://civicactions.com/services/ditap/register
- Performance: 87/100
- Transfer: 5.69 MB
- CO2 estimate: 2.2856 g
- Page host green energy status: NOT GREEN
- Redundancy score: 3/100
- Redundancy urgency: MEDIUM
- Modularization score: 40/100
- Modularization urgency: HIGH
- Dead-code score: 2/100
- Dead-code urgency: HIGH
- Non-critical resources score: 2/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 61/100
- Lightweight security urgency: HIGH
- Dependency maintenance score: 8/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 59/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.42 KB (5.0% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.01 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.41 KB savings)
- Heavy initial-load requests: 36 (4.18 MB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 271.01 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy script asset from www.gstatic.com (est. 612.99 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy font asset from fonts.gstatic.com (est. 221.13 KB)
    - Subset or defer this font so full font payloads are only fetched when needed.
- External CSS/JS hosting checks:
  - SCRIPT www.gstatic.com: GREEN (Google Cloud); 2 request(s), 652.05 KB
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.52 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
  - STYLESHEET www.gstatic.com: GREEN (Google Cloud); 1 request(s), 151.64 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
  - STYLESHEET fonts.googleapis.com: GREEN (Google Cloud); 3 request(s), 3.42 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 4 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.41 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.01 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.01 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.41 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from www.gstatic.com (est. 612.99 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [HIGH] Evaluate deferred loading for heavy font from fonts.gstatic.com (est. 221.13 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 28 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 4 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 4 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.01 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.41 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 232.93 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.3 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 24 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
  - Current value: Total size was 5,826 KiB
  - WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)

### https://civicactions.com/case-studies/nyc-metro-transit-digital-clocks%20/
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
  - [LOW] No major third-party JavaScript risk signals
    - Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [LOW] No obvious optimization bloat signals
    - No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [HIGH] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)

### https://civicactions.com/case-studies/cms-web-experience-services/fearless.tech
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
  - [LOW] No major third-party JavaScript risk signals
    - Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [LOW] No obvious optimization bloat signals
    - No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [HIGH] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)

### https://civicactions.com/feedback
- Performance: 84/100
- Transfer: 5.68 MB
- CO2 estimate: 2.2835 g
- Page host green energy status: NOT GREEN
- Redundancy score: 3/100
- Redundancy urgency: MEDIUM
- Modularization score: 40/100
- Modularization urgency: HIGH
- Dead-code score: 2/100
- Dead-code urgency: HIGH
- Non-critical resources score: 2/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 61/100
- Lightweight security urgency: HIGH
- Dependency maintenance score: 8/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 59/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.26 KB (5.0% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.01 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.25 KB savings)
- Heavy initial-load requests: 36 (4.18 MB total)
- On-demand modularization candidates:
  - [HIGH] Split JavaScript by route or interaction (est. 271.01 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy script asset from www.gstatic.com (est. 612.99 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy font asset from fonts.gstatic.com (est. 221.13 KB)
    - Subset or defer this font so full font payloads are only fetched when needed.
- External CSS/JS hosting checks:
  - SCRIPT www.gstatic.com: GREEN (Google Cloud); 2 request(s), 652.05 KB
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - STYLESHEET www.gstatic.com: GREEN (Google Cloud); 1 request(s), 151.64 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
  - STYLESHEET fonts.googleapis.com: GREEN (Google Cloud); 3 request(s), 3.38 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 4 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.25 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.01 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.01 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.25 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from www.gstatic.com (est. 612.99 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [HIGH] Evaluate deferred loading for heavy font from fonts.gstatic.com (est. 221.13 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 30 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 4 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 4 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.01 KB.
  - [LOW] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.25 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 232.94 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.3 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 24 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
  - Current value: Total size was 5,821 KiB
  - WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)

### https://civicactions.com/case-studies
- Performance: 82/100
- Transfer: 14.81 MB
- CO2 estimate: 5.9476 g
- Page host green energy status: NOT GREEN
- Redundancy score: 1/100
- Redundancy urgency: MEDIUM
- Modularization score: 45/100
- Modularization urgency: HIGH
- Dead-code score: 1/100
- Dead-code urgency: HIGH
- Non-critical resources score: 1/100
- Non-critical resources urgency: HIGH
- Form validation score: 50/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 19/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 290.80 KB (1.9% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 269.58 KB savings)
  - [MEDIUM] Reduce unused css (est. 21.21 KB savings)
- Heavy initial-load requests: 6 (14.05 MB total)
- On-demand modularization candidates:
  - [HIGH] Lazy-load offscreen images and media galleries (est. 207.79 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 269.58 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 8.39 MB)
    - Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 21.21 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 269.58 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [MEDIUM] Lazy-load offscreen images (est. 207.79 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 269.58 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 21.21 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 8.39 MB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [MEDIUM] No explicit validation rule
    - 6 unique form control signature(s) on this page include this issue.
  - [MEDIUM] No error messaging hook
    - 6 unique form control signature(s) on this page include this issue.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 35 small targets on mobile and 34 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [HIGH] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 2.78 MB.
- Optimization recommendations:
  - [HIGH] Right-size images for viewport
    - Avoid sending larger images than the rendered size needs. Estimated byte savings: 13.44 MB.
  - [HIGH] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 2.78 MB.
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 269.58 KB.
  - [HIGH] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 207.79 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 21.21 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 11.37 MB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 31 of 31 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
  - Current value: 4.3 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Serve images in next-gen formats
  - Current value: Est savings of 2,844 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 270 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 21 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 208 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
  - Current value: Total size was 15,162 KiB
  - WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)

### https://civicactions.com/case-studies/va-cms-modernization
- Performance: 66/100
- Transfer: 11.19 MB
- CO2 estimate: 4.4960 g
- Page host green energy status: NOT GREEN
- Redundancy score: 1/100
- Redundancy urgency: MEDIUM
- Modularization score: 59/100
- Modularization urgency: HIGH
- Dead-code score: 1/100
- Dead-code urgency: HIGH
- Non-critical resources score: 27/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 73/100
- Compression urgency: HIGH
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 42/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.31 KB (2.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 270.67 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.64 KB savings)
- Heavy initial-load requests: 5 (10.80 MB total)
- On-demand modularization candidates:
  - [HIGH] Lazy-load offscreen images and media galleries (est. 8.37 MB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 270.67 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 8.34 MB)
    - Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.64 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 270.67 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [HIGH] Lazy-load offscreen images (est. 8.37 MB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 270.67 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.64 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 8.34 MB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [HIGH] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 8.16 MB.
- Optimization recommendations:
  - [HIGH] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 8.37 MB.
  - [HIGH] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 8.16 MB.
  - [HIGH] Right-size images for viewport
    - Avoid sending larger images than the rendered size needs. Estimated byte savings: 1.91 MB.
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.67 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.64 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 8.46 MB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 20 of 23 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
  - Current value: 20.2 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Serve images in next-gen formats
  - Current value: Est savings of 8,356 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 18 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 8,575 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
  - Current value: Total size was 11,461 KiB
  - WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)

### https://civicactions.com/case-studies/Drupal-10/CMS.gov
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
  - [LOW] No major third-party JavaScript risk signals
    - Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [LOW] No obvious optimization bloat signals
    - No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [HIGH] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)

### https://civicactions.com/case-studies/Drupal-10/Medicare.gov
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
  - [LOW] No major third-party JavaScript risk signals
    - Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [LOW] No obvious optimization bloat signals
    - No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [HIGH] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)

### https://civicactions.com/case-studies/Drupal-10/Openpaymentsdata.cms.gov
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
  - [LOW] No major third-party JavaScript risk signals
    - Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [LOW] No obvious optimization bloat signals
    - No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [HIGH] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)

### https://civicactions.com/case-studies/Drupal-10/Data.medicaid.gov
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
  - [LOW] No major third-party JavaScript risk signals
    - Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [LOW] No obvious optimization bloat signals
    - No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [HIGH] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)

### https://civicactions.com/case-studies/Drupal-10/Data.healthcare.gov
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
  - [LOW] No major third-party JavaScript risk signals
    - Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [LOW] No obvious optimization bloat signals
    - No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [HIGH] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)

### https://civicactions.com/case-studies/Drupal-10/SDIS.medicaid.gov
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
  - [LOW] No major third-party JavaScript risk signals
    - Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [LOW] No obvious optimization bloat signals
    - No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [HIGH] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)

### https://civicactions.com/case-studies/Drupal-10/PFS.data.cms.gov
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
  - [LOW] No major third-party JavaScript risk signals
    - Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [LOW] No obvious optimization bloat signals
    - No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [HIGH] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)

### https://civicactions.com/case-studies/Drupal-10/QIC.cms.gov
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
  - [LOW] No major third-party JavaScript risk signals
    - Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [LOW] No obvious optimization bloat signals
    - No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [HIGH] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)

### https://civicactions.com/case-studies/cms-web-experience-services
- Performance: 89/100
- Transfer: 1.52 MB
- CO2 estimate: 0.6100 g
- Page host green energy status: NOT GREEN
- Redundancy score: 10/100
- Redundancy urgency: MEDIUM
- Modularization score: 46/100
- Modularization urgency: HIGH
- Dead-code score: 8/100
- Dead-code urgency: HIGH
- Non-critical resources score: 21/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 37/100
- Compression urgency: MEDIUM
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 36/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 287.69 KB (18.5% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.13 KB savings)
  - [MEDIUM] Reduce unused css (est. 16.55 KB savings)
- Heavy initial-load requests: 4 (1.12 MB total)
- On-demand modularization candidates:
  - [HIGH] Lazy-load offscreen images and media galleries (est. 697.52 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.13 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 664.96 KB)
    - Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.51 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 16.55 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.13 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [HIGH] Lazy-load offscreen images (est. 697.52 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.13 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 16.55 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 664.96 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 30 small targets on mobile and 29 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [HIGH] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 568.51 KB.
- Optimization recommendations:
  - [HIGH] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 697.52 KB.
  - [HIGH] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 568.51 KB.
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.13 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 16.55 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 732.85 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 33 of 43 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
  - Current value: 3.1 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Serve images in next-gen formats
  - Current value: Est savings of 569 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 698 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)

### https://civicactions.com/case-studies/cms-design-challenge-mvp
- Performance: 81/100
- Transfer: 1.19 MB
- CO2 estimate: 0.4768 g
- Page host green energy status: NOT GREEN
- Redundancy score: 13/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 11/100
- Dead-code urgency: HIGH
- Non-critical resources score: 15/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 12/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.56 KB (23.7% of transfer)
- Redundancy recommendations:
  - [HIGH] Reduce unused javascript (est. 271.14 KB savings)
  - [MEDIUM] Reduce unused css (est. 17.42 KB savings)
- Heavy initial-load requests: 4 (600.29 KB total)
- On-demand modularization candidates:
  - [HIGH] Lazy-load offscreen images and media galleries (est. 264.62 KB)
    - Load imagery only when it enters the viewport or when a user opens the relevant section.
  - [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
    - Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
  - [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
  - [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.93 KB)
    - Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
  - SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.52 KB
  - SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
  - SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
  - [MEDIUM] Maintain a third-party JavaScript inventory
    - Track 3 third-party script origin(s) and assign an owner plus business justification for each.
  - [HIGH] Reduce third-party script payload and requests
    - Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
  - [MEDIUM] Remove unused CSS selectors and component styles (est. 17.42 KB savings)
    - Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
  - [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
    - Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
  - [HIGH] Lazy-load offscreen images (est. 264.62 KB deferrable)
    - Load below-the-fold images only when they approach the viewport.
  - [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
    - Split bundles and load feature code on interaction or route transition.
  - [MEDIUM] Inline critical CSS and defer remainder (est. 17.42 KB deferrable)
    - Ship only above-the-fold CSS in initial render path and defer non-critical styles.
  - [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
  - [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.93 KB deferrable)
    - Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 36 small targets on mobile and 36 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [MEDIUM] Enable Strict-Transport-Security
    - Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
  - [MEDIUM] Set X-Content-Type-Options: nosniff
    - Prevent MIME type sniffing by adding the nosniff response header.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [MEDIUM] Use modern image compression formats
    - Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 142.44 KB.
- Optimization recommendations:
  - [HIGH] Remove unused JavaScript
    - Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
  - [HIGH] Lazy-load offscreen images
    - Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 264.62 KB.
  - [MEDIUM] Serve images in next-gen formats
    - Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 142.44 KB.
  - [MEDIUM] Right-size images for viewport
    - Avoid sending larger images than the rendered size needs. Estimated byte savings: 94.37 KB.
  - [LOW] Remove unused CSS
    - Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.42 KB.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [MEDIUM] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 481.82 KB).
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 16 of 16 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
  - Current value: 4.4 s
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Serve images in next-gen formats
  - Current value: Est savings of 142 KiB
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused JavaScript
  - Current value: Est savings of 271 KiB
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
  - Current value: Est savings of 17 KiB
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
  - Current value: Est savings of 265 KiB
  - WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)

### https://civicactions.com/case-studies/fearless.tech
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
  - [LOW] No major third-party JavaScript risk signals
    - Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
  - [LOW] No major form validation risks detected
    - Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
  - [LOW] Metadata structure looks healthy
    - Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
  - [HIGH] Increase touch target sizes
    - Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
  - [HIGH] Add a Content-Security-Policy header
    - Add an appropriate CSP to reduce script injection and resource loading risk.
  - [LOW] Define a Referrer-Policy
    - Set a referrer policy to reduce unnecessary URL data leakage.
  - [LOW] Define a Permissions-Policy
    - Restrict browser capabilities to only what the application needs.
  - [MEDIUM] Add SRI to external scripts
    - 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
  - [MEDIUM] Add integrity attributes for external dependencies
    - 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
  - [LOW] No obvious outdated runtime version disclosed
    - No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
  - [MEDIUM] Add beneficial discoverability and maintenance files
    - Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
  - [LOW] No major compression opportunity detected
    - Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
  - [LOW] No obvious optimization bloat signals
    - No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
  - [HIGH] Add service worker support
    - Register a service worker to support resilient caching and offline behavior for key routes.
  - [HIGH] Ensure critical routes work offline
    - Provide an offline fallback strategy for key pages and shell assets.
  - [MEDIUM] Improve web app manifest support
    - Complete manifest fields so clients can install and run an app-like experience.
  - [MEDIUM] Support offline start URL behavior
    - Ensure start URL and shell routing can load in disconnected conditions.
  - [HIGH] Strengthen static asset cache TTL
    - Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
  - [MEDIUM] Add dark mode support
    - No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
  - [HIGH] Add loading="lazy" to images
    - 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
  - WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
  - WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
  - WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
  - WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)

## Copy/Paste Issue Snippets

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 5.4 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 270 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Serve images in next-gen formats

- Lighthouse audit: modern-image-formats
- Current value: Est savings of 142 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use

### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 2.9 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused CSS

- Lighthouse audit: unused-css-rules
- Current value: Est savings of 17 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information

### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 16.8 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Serve images in next-gen formats

- Lighthouse audit: modern-image-formats
- Current value: Est savings of 1,880 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use

### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 2.9 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused CSS

- Lighthouse audit: unused-css-rules
- Current value: Est savings of 17 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information

### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 20.7 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Serve images in next-gen formats

- Lighthouse audit: modern-image-formats
- Current value: Est savings of 9,320 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use

### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 17.3 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Serve images in next-gen formats

- Lighthouse audit: modern-image-formats
- Current value: Est savings of 8,356 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use

### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 2.8 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 269 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused CSS

- Lighthouse audit: unused-css-rules
- Current value: Est savings of 19 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information

### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 11.3 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Serve images in next-gen formats

- Lighthouse audit: modern-image-formats
- Current value: Est savings of 1,775 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use

### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 7.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Serve images in next-gen formats

- Lighthouse audit: modern-image-formats
- Current value: Est savings of 465 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use

### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 2.9 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused CSS

- Lighthouse audit: unused-css-rules
- Current value: Est savings of 17 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information

### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 34.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Serve images in next-gen formats

- Lighthouse audit: modern-image-formats
- Current value: Est savings of 5,641 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use

### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 4.5 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Serve images in next-gen formats

- Lighthouse audit: modern-image-formats
- Current value: Est savings of 35 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use

### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.0 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused CSS

- Lighthouse audit: unused-css-rules
- Current value: Est savings of 17 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information

### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 39 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.7 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused CSS

- Lighthouse audit: unused-css-rules
- Current value: Est savings of 17 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information

### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 39 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 270 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 4.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 39 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 39 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.0 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused CSS

- Lighthouse audit: unused-css-rules
- Current value: Est savings of 16 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information

### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 6.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Serve images in next-gen formats

- Lighthouse audit: modern-image-formats
- Current value: Est savings of 989 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use

### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Serve images in next-gen formats

- Lighthouse audit: modern-image-formats
- Current value: Est savings of 2,844 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use

### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.0 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 76 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.5 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused CSS

- Lighthouse audit: unused-css-rules
- Current value: Est savings of 17 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information

### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 6.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Serve images in next-gen formats

- Lighthouse audit: modern-image-formats
- Current value: Est savings of 665 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use

### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 755 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 39 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 45 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 18 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 18 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 39 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Defer offscreen images

- Lighthouse audit: offscreen-images
- Current value: Est savings of 50 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components

### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.4 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused CSS

- Lighthouse audit: unused-css-rules
- Current value: Est savings of 17 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information

### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Speed Index

- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 4.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused CSS

- Lighthouse audit: unused-css-rules
- Current value: Est savings of 16 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information

### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.3 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused CSS

- Lighthouse audit: unused-css-rules
- Current value: Est savings of 17 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information

### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Speed Index

- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Speed Index

- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.3 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused CSS

- Lighthouse audit: unused-css-rules
- Current value: Est savings of 17 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information

### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 4.3 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Serve images in next-gen formats

- Lighthouse audit: modern-image-formats
- Current value: Est savings of 2,844 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use

### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 270 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 20.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Serve images in next-gen formats

- Lighthouse audit: modern-image-formats
- Current value: Est savings of 8,356 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use

### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Speed Index

- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Speed Index

- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Speed Index

- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Speed Index

- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Speed Index

- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Speed Index

- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Speed Index

- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Speed Index

- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused CSS

- Lighthouse audit: unused-css-rules
- Current value: Est savings of 17 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information

### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- Current value: 4.4 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Serve images in next-gen formats

- Lighthouse audit: modern-image-formats
- Current value: Est savings of 142 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use

### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Largest Contentful Paint

- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Speed Index

- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact

### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```

```md
## Improve Reduce unused JavaScript

- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance

### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```