# Istilo Salon — Website Deployment (cPanel)

Production-ready static build of the Istilo Salon homepage. Everything here is
plain HTML/CSS/JS + media — no build step, no server code. Upload and go.

---

## What's in this folder

```
istilo-cpanel/
├── index.html              ← the website (open this locally to preview)
├── support.js              ← runtime that renders the page (required)
├── istilo-difference.mp4   ← "Istilo difference" section video
├── assets/                 ← logo, hero video, botanicals, review photos
├── .htaccess               ← HTTPS + www redirect, compression, caching
├── robots.txt              ← search-engine directives
└── sitemap.xml             ← single-page sitemap
```

Keep this exact folder structure — all paths are relative.

---

## Deploy in 5 steps

1. **Log in to cPanel** → open **File Manager**.
2. Go to **`public_html`** (the web root for your primary domain).
   *If deploying to a subdomain/add-on domain, use that domain's document root instead.*
3. **Upload** everything inside `istilo-cpanel/` into `public_html`
   — i.e. `index.html`, `support.js`, `istilo-difference.mp4`, the `assets/`
   folder, `.htaccess`, `robots.txt`, `sitemap.xml`.
   (Zip the folder, upload the zip, then **Extract** — fastest. Make sure the
   files land *directly* in `public_html`, not in a nested `istilo-cpanel/`
   subfolder.)
4. **Show hidden files** in File Manager (Settings → "Show Hidden Files") to
   confirm **`.htaccess`** uploaded — it starts with a dot and is easy to miss.
5. Visit **https://www.istilosalon.com** — done.

---

## SSL / HTTPS

The `.htaccess` forces HTTPS and the `www.` host. Before it can do that you need
an SSL certificate active for the domain:

- cPanel → **SSL/TLS Status** → select the domain → **Run AutoSSL**
  (free Let's Encrypt cert, issued in a minute or two).

Until the cert is live, browsers may warn on `https://` — that clears the moment
AutoSSL finishes.

---

## What loads from the internet (by design)

The page is fully functional but pulls a few live services from their own CDNs —
this is normal and keeps them always-current:

- **Google Fonts** — Cormorant Garamond, Jost, Caveat.
- **React runtime** (unpkg.com) — renders the page. Loaded with Subresource
  Integrity hashes.
- **Booking widget** — `istilo-luxury-design.emergent.host` (opens in the Book
  popup). If it's ever slow/unreachable, the popup now shows a graceful fallback
  with **Retry**, **Open booking page**, and **Call** buttons — it never goes blank.
- **Instagram feed** — Elfsight (`elfsightcdn.com`).

No action needed for any of these; they work as soon as the site is live.

---

## Updating content later

- **Text, phone, address, hours:** edit `index.html` in cPanel's File Manager
  (or re-upload a new version from your designer). Search for the text you want
  to change.
- **Photos/videos:** replace the matching file in `assets/` keeping the same
  filename, and it updates everywhere.
- **Booking system:** managed in the Emergent booking dashboard — no website
  change needed.

---

## Quick local preview

Double-clicking `index.html` may block the runtime (browsers restrict local
file scripts). To preview locally, from this folder run:

```bash
python3 -m http.server 8000
```

then open **http://localhost:8000**. On the live server it just works.
