# Floor It Hardwood Floors: Project Notes

## Client
Floor It Hardwood Floors
Buffalo, NY
Phone: (716) 602-1429
Email: floorithardwoods@gmail.com

## Stack
Stack B: Static HTML + vanilla JS + Python API (Resend) + Docker/nginx
This site predates the AM programmatic stack and is maintained as static per SOP.

## Dev
Port: 8096
Run: docker compose up -d
URL: http://localhost:8096

## Status (2026-05-27)
Launch Prep: in progress. SOP compliance fixes complete. Awaiting Docker smoke test and production deploy.

## Pages
- / index.html
- /about/
- /contact/
- /reviews/
- /blog/
- /services/ (floor-installation, refinishing, restoration, sanding)
- /locations/ (amherst, buffalo, clarence, east-amherst, lancaster, williamsville)

## API
Python form service at /api/. Handles contact form POST, sends via Resend.
API key in api/.env (gitignored).

## Key Decisions
- nginx: robots.txt and sitemap.xml served via exact-match location blocks before deny-all regex (2026-05-27)
- nginx: error_page 404 -> /404.html not /index.html (2026-05-27)
- nginx: _template.html files denied at the nginx layer (2026-05-27)
- Mobile nav breakpoint raised from 768px to 1023px. Header has 6 nav links + phone + CTA (2026-05-27)
- 360px ultra-narrow media query added for iPhone SE (2026-05-27)
- overflow-x: clip on html/body to prevent horizontal scroll (2026-05-27)
- residential.png converted to residential.webp via PIL. Original kept (2026-05-27)

## DNS (Cloudflare)
DMARC TXT record: v=DMARC1; p=none; rua=mailto:dev@arisingmedia.us
See DNS_DMARC_RECORD.txt for full instructions.

## Open Tasks
- Docker build + smoke test port 8096
- Production deploy: remove auth_basic from nginx.conf, update DNS
- tokens.css split from main.css (low priority)
