# 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
```

