<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Glossy Glimpse Car Grooming | Nelson</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content="Premium car grooming and detailing in Nelson. Fast, clean, and modern service with easy online booking." />
<meta name="keywords" content="car grooming Nelson, car detailing Nelson, car wash Nelson, paint protection, headlight restoration" />
<meta name="robots" content="index,follow" />

<!-- Open Graph -->
<meta property="og:title" content="Nelson Car Grooming | Glossy Glimpse" />
<meta property="og:description" content="Premium car grooming and detailing in Nelson with easy online booking and stunning results." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://glossyglimpse.co.nz/" />
<meta property="og:image" content="https://glossyglimpse.co.nz/og-image.jpg" />

<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Glossy Glimpse in Nelson | Car Grooming" />
<meta name="twitter:description" content="Premium car grooming and detailing in Nelson with easy online booking and stunning results." />
<meta name="twitter:image" content="https://glossyglimpse.co.nz/tw-image.jpg" />

<!-- LocalBusiness Schema -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "AutoDetailing",
  "name": "Glossy Glimpse Car Grooming",
  "image": "https://glossyglimpse.co.nz/logo.png",
  "@id": "https://glossyglimpse.co.nz/",
  "url": "https://glossyglimpse.co.nz/",
  "telephone": "+64 3 123 4567",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Sparkle Street",
    "addressLocality": "Nelson",
    "addressRegion": "Nelson",
    "postalCode": "7010",
    "addressCountry": "NZ"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": -41.2706,
    "longitude": 173.2840
  },
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"
    ],
    "opens": "08:30",
    "closes": "17:30"
  }],
  "sameAs": [
    "https://instagram.com/oldschoolonline"
  ]
}
</script>

<style>
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap');

:root {
  --bg1: #000814;
  --bg2: #001428;
  --bg3: #001F3F;
  --white: #ffffff;
  --navy: #001F3F;
  --red: #D6001C;
  --grey: #E5E5E5;
  --glass: rgba(255,255,255,0.08);
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Poppins', sans-serif;
  background: linear-gradient(135deg, var(--bg1), var(--bg2), var(--bg3));
  color: var(--white);
  overflow-x: hidden;
  padding-bottom: 4rem;
}

/* NAV */
nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(0,0,0,0.75);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

nav .nav-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0.8rem 1.5rem;
  display: flex;
  justify-content: flex-end;
  gap: 1.5rem;
}

nav a {
  color: var(--white);
  text-decoration: none;
  font-weight: 600;
  padding: 0.45rem 1rem;
  border-radius: 6px;
  position: relative;
  transition: color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

nav a::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  opacity: 0;
  box-shadow: 0 0 10px rgba(255,255,255,0.35);
  transition: opacity 0.25s ease;
}

nav a:hover::after,
nav a:focus-visible::after {
  opacity: 1;
}

nav a.book-now {
  background: var(--white);
  color: var(--navy);
  border-radius: 999px;
  font-weight: 700;
  box-shadow: 0 0 0 rgba(0,31,63,0.0);
}

nav a.book-now::after {
  box-shadow: 0 0 12px rgba(0,31,63,0.55);
}

/* HERO */
header.hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 3.5rem 1.5rem 3rem;
  text-align: left;
  position: relative;
  z-index: 1;
}

.hero h1 {
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.hero p {
  margin-top: 0.8rem;
  font-size: 1.2rem;
  opacity: 0.9;
  max-width: 520px;
}

/* subtle parallax overlay */
.hero-bg {
  position: absolute;
  inset: -40%;
  background: radial-gradient(circle at top right, rgba(255,255,255,0.12), transparent 55%);
  transform: translate3d(0,0,0);
  pointer-events: none;
}

/* MAIN GRID */
main {
  max-width: 1200px;
  margin: 2rem auto;
  padding: 0 1.5rem;
}

.main-flex {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

/* fade-in on scroll */
.fade-section {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.fade-section.visible {
  opacity: 1;
  transform: translateY(0);
}

/* SERVICES */
.services-box,
.booking-box {
  background: var(--glass);
  padding: 1.5rem;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 18px 40px rgba(0,0,0,0.45);
}

.services-box h2,
.booking-box h2 {
  text-align: center;
  margin-bottom: 1rem;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.service-card {
  background: var(--white);
  color: #000;
  padding: 1rem;
  border-radius: 12px;
  margin-bottom: 1rem;
  cursor: pointer;
  border: 1px solid var(--grey);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  position: relative;
  overflow: hidden;
}

.service-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  opacity: 0;
  box-shadow: 0 0 12px rgba(0,31,63,0.45);
  transition: opacity 0.25s ease;
}

.service-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px rgba(0,0,0,0.4);
  border-color: var(--navy);
}
.service-card:hover::after {
  opacity: 1;
}

.service-header {
  font-weight: 700;
  font-size: 1.05rem;
}

.service-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease-in-out, opacity 0.35s ease-in-out;
  margin-top: 0.6rem;
  opacity: 0;
}

.service-card.active .service-body {
  max-height: 220px;
  opacity: 1;
}

.price {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.4rem;
  color: var(--red);
}

.mini-book {
  background: var(--red);
  color: var(--white);
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 999px;
  font-weight: 700;
  cursor: pointer;
  margin-top: 0.6rem;
  position: relative;
  overflow: hidden;
}

/* ripple */
.mini-book::after,
.book-btn::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255,255,255,0.35);
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.mini-book:active::after,
.book-btn:active::after {
  width: 220%;
  height: 220%;
  transition: width 0.4s ease-out, height 0.4s ease-out;
}

/* BOOKING */
.booking-box label {
  display: block;
  margin-top: 0.6rem;
  margin-bottom: 0.2rem;
  font-weight: 600;
}

.booking-box input,
.booking-box select {
  width: 100%;
  padding: 0.6rem;
  border-radius: 10px;
  border: 1px solid var(--grey);
  margin-bottom: 0.4rem;
  background: var(--white);
  color: #000;
}

.booking-box input:focus,
.booking-box select:focus {
  outline: 2px solid var(--navy);
}

.book-btn {
  width: 100%;
  background: var(--red);
  color: var(--white);
  padding: 0.8rem;
  border-radius: 999px;
  border: none;
  font-weight: 700;
  margin-top: 0.8rem;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: background 0.25s ease, box-shadow 0.25s ease;
}
.book-btn:hover {
  background: #b30017;
  box-shadow: 0 0 12px rgba(214,0,28,0.6);
}

/* SPLIT PANELS */
.split-panels {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin-top: 2.5rem;
}

.panel {
  background: var(--glass);
  padding: 1.5rem;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 18px 40px rgba(0,0,0,0.45);
}

.panel h3 {
  text-align: center;
  margin-bottom: 1rem;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* GALLERY */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 1rem;
}

.gallery-grid img {
  width: 100%;
  border-radius: 12px;
  border: 1px solid var(--grey);
  cursor: pointer;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 10px 20px rgba(0,0,0,0.5);
}

.gallery-grid img:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 30px rgba(0,0,0,0.7);
}

.gallery-instagram {
  position: relative;
}
.gallery-instagram::after {
  content: "Instagram";
  position: absolute;
  bottom: 8px;
  right: 10px;
  background: rgba(0,0,0,0.7);
  color: var(--white);
  font-size: 0.75rem;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
}

/* MODAL */
.modal {
  position: fixed;
  inset: 0;
  background: rgba(0,8,20,0.9);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 100;
}
.modal.open {
  opacity: 1;
  pointer-events: auto;
}
.modal img {
  max-width: 90%;
  max-height: 90%;
  border-radius: 12px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.8);
}

/* REVIEWS */
.review-card {
  background: rgba(255,255,255,0.06);
  padding: 1rem;
  border-radius: 12px;
  margin-bottom: 1rem;
  font-style: italic;
  border: 1px solid rgba(255,255,255,0.12);
}

.review-author {
  margin-top: 0.4rem;
  font-weight: 700;
  color: var(--red);
}

/* ABOUT SECTION */
.about-section {
  margin-top: 2.5rem;
  background: var(--glass);
  padding: 1.5rem;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 18px 40px rgba(0,0,0,0.45);
}
.about-section h2 {
  text-align: center;
  margin-bottom: 1rem;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: 1px;
}
.about-section p {
  line-height: 1.6;
  opacity: 0.9;
}

/* FOOTER */
footer {
  margin-top: 3rem;
  padding: 2rem 1.5rem;
  text-align: center;
  background: rgba(0,0,0,0.75);
  border-top: 1px solid rgba(255,255,255,0.12);
}

footer a {
  color: var(--red);
  text-decoration: none;
  font-weight: 600;
}
footer a:hover {
  text-decoration: underline;
}

.socials {
  margin-top: 1rem;
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  font-size: 1rem;
}

/* MOBILE */
@media (max-width: 900px) {
  .main-flex,
  .split-panels {
    grid-template-columns: 1fr;
  }
  nav .nav-inner {
    justify-content: center;
    flex-wrap: wrap;
  }
  .hero-inner {
    text-align: center;
  }
  .hero p {
    margin-left: auto;
    margin-right: auto;
  }
}
</style>
</head>

<body>

<nav>
  <div class="nav-inner">
    <a href="#services">SERVICES</a>
    <a href="#booking" class="book-now">BOOK NOW</a>
    <a href="#about">ABOUT</a>
    <a href="#contact">CONTACT US</a>
  </div>
</nav>

<header class="hero">
  <div class="hero-bg" id="hero-bg"></div>
  <div class="hero-inner">
    <h1>Glossy Glimpse Car Grooming</h1>
    <p>Premium car grooming and detailing in Nelson. Clean lines, modern feel, and a finish that looks as sharp as it drives.</p>
  </div>
</header>

<main>
  <div class="main-flex fade-section" id="top-main">
    <!-- SERVICES -->
    <div class="services-box" id="services">
      <h2>Our Services</h2>

      <div class="service-card">
        <div class="service-header">Exterior Wash &amp; Wax</div>
        <div class="service-body">
          <p class="price">$89</p>
          <p>Full exterior clean, foam wash, hand‑dry, and protective wax for a crisp, reflective finish.</p>
          <button class="mini-book">Book Exterior Wash &amp; Wax</button>
        </div>
      </div>

      <div class="service-card">
        <div class="service-header">Interior Deep Cleaning</div>
        <div class="service-body">
          <p class="price">$129</p>
          <p>Seats, carpets, plastics, vacuum, shampoo, and deodorise for a fresh, showroom‑ready cabin.</p>
          <button class="mini-book">Book Interior Deep Clean</button>
        </div>
      </div>

      <div class="service-card">
        <div class="service-header">Engine Bay Cleaning</div>
        <div class="service-body">
          <p class="price">$59</p>
          <p>Degrease, rinse, and detail—safe for modern engines and perfect for a tidy under‑bonnet look.</p>
          <button class="mini-book">Book Engine Bay Clean</button>
        </div>
      </div>

      <div class="service-card">
        <div class="service-header">Paint Protection &amp; Polishing</div>
        <div class="service-body">
          <p class="price">$199</p>
          <p>Machine polish plus ceramic sealant for long‑lasting gloss and protection from the elements.</p>
          <button class="mini-book">Book Paint Protection</button>
        </div>
      </div>

      <div class="service-card">
        <div class="service-header">Headlight Restoration</div>
        <div class="service-body">
          <p class="price">$49</p>
          <p>Sand, polish, and UV‑seal to restore clarity and improve night‑time visibility.</p>
          <button class="mini-book">Book Headlight Restoration</button>
        </div>
      </div>

      <div class="service-card">
        <div class="service-header">Custom Detailing Package</div>
        <div class="service-body">
          <p class="price">Varies</p>
          <p>Build your own combination of services for maximum value and a tailored finish.</p>
          <button class="mini-book">Book Custom Package</button>
        </div>
      </div>
    </div>

    <!-- BOOKING -->
    <div class="booking-box" id="booking">
      <h2>Quick Booking</h2>

      <label for="name">Name</label>
      <input id="name" type="text" placeholder="Your full name" />

      <label for="email">Email</label>
      <input id="email" type="email" placeholder="you@example.com" />

      <label for="phone">Phone</label>
      <input id="phone" type="tel" placeholder="+64..." />

      <label for="service-select">Service</label>
      <select id="service-select">
        <option>-- Choose a service --</option>
        <option>Exterior Wash &amp; Wax</option>
        <option>Interior Deep Cleaning</option>
        <option>Engine Bay Cleaning</option>
        <option>Paint Protection &amp; Polishing</option>
        <option>Headlight Restoration</option>
        <option>Custom Detailing Package</option>
      </select>

      <label for="date">Preferred Date</label>
      <input id="date" type="date" />

      <button class="book-btn">Request Booking</button>
    </div>
  </div>

  <!-- ABOUT -->
  <section class="about-section fade-section" id="about">
    <h2>About Glossy &amp; Glimpse</h2>
    <p>
      Glossy &amp; Glimpse Car Grooming is built around a simple idea: clean should feel modern.
      From the moment you land on our site to the moment you drive away, every detail is designed
      to feel sharp, efficient, and considered. We focus on quality products, consistent results,
      and a booking experience that fits the way you actually live.
    </p>
  </section>

  <!-- GALLERY + REVIEWS -->
  <section class="split-panels fade-section" id="gallery-reviews">
    <div class="panel" id="gallery">
      <h3>Gallery</h3>
 <div class="gallery-grid">
  <img src="gloss-assets/img/1.jpg" alt="Gallery image 1" class="gallery-img" />
  <img src="gloss-assets/img/2.jpg" alt="Gallery image 2" class="gallery-img" />
  <img src="gloss-assets/img/3.jpg" alt="Gallery image 3" class="gallery-img" />
  <img src="gloss-assets/img/4.jpg" alt="Gallery image 4" class="gallery-img" />
  <img src="gloss-assets/img/5.jpg" alt="Gallery image 5" class="gallery-img" />
  <img src="gloss-assets/img/6.jpg" alt="Gallery image 6" class="gallery-img" />
  <img src="gloss-assets/img/7.jpg" alt="Gallery image 7" class="gallery-img" />
  <img src="gloss-assets/img/8.jpg" alt="Gallery image 8" class="gallery-img" />

  <!-- 9th image goes to Instagram -->
  <img src="gloss-assets/img/9.jpg"
       alt="See more on Instagram"
       class="gallery-instagram" />
</div>
    </div>

    <div class="panel" id="reviews">
      <h3>Customer Reviews</h3>

      <div class="review-card">
        “Best car grooming experience ever! My car looks brand new and the whole process felt effortless.”
        <div class="review-author">— Jamie L.</div>
      </div>

      <div class="review-card">
        “Friendly staff, amazing results, and the online booking made it so easy to schedule around my day.”
        <div class="review-author">— Priya S.</div>
      </div>

      <div class="review-card">
        “Highly recommend Shine &amp; Sparkle for anyone in Nelson looking for top‑notch car care and a modern feel.”
        <div class="review-author">— Marcus T.</div>
      </div>
    </div>
  </section>
</main>

<!-- MODAL -->
<div class="modal" id="modal">
  <img id="modal-img" alt="Expanded gallery image" />
</div>

<footer id="contact">
  <p>Contact us: <a href="mailto:info@shineandsparkle.co.nz">info@shineandsparkle.co.nz</a> | <a href="tel:+6431234567">+64 3 123 4567</a></p>
  <p>123 Sparkle Street, Nelson, New Zealand</p>

  <div class="socials">
    <a href="https://instagram.com/oldschoolonline" target="_blank" rel="noopener noreferrer">Instagram</a>
    <a href="#">Facebook</a>
    <a href="#">TikTok</a>
  </div>

  <p style="margin-top:1rem; opacity:0.7;">© 2026 Shine &amp; Sparkle Car Grooming</p>
</footer>

<script>
// service accordion
const cards = document.querySelectorAll('.service-card');
cards.forEach(card => {
  card.addEventListener('click', () => {
    cards.forEach(c => { if (c !== card) c.classList.remove('active'); });
    card.classList.toggle('active');
    if (window.innerWidth < 900 && card.classList.contains('active')) {
      card.scrollIntoView({ behavior: 'smooth', block: 'center' });
    }
  });
});

// gallery modal + instagram
const modal = document.getElementById('modal');
const modalImg = document.getElementById('modal-img');
document.querySelectorAll('.gallery-img').forEach(img => {
  img.addEventListener('click', () => {
    modalImg.src = img.src;
    modal.classList.add('open');
  });
});
modal.addEventListener('click', () => {
  modal.classList.remove('open');
});
const instaTile = document.querySelector('.gallery-instagram');
if (instaTile) {
  instaTile.addEventListener('click', () => {
    window.open('https://instagram.com/oldschoolonline', '_blank');
  });
}

// fade-in on scroll
const fadeSections = document.querySelectorAll('.fade-section');
const observer = new IntersectionObserver(entries => {
  entries.forEach(entry => {
    if (entry.isIntersecting) {
      entry.target.classList.add('visible');
      observer.unobserve(entry.target);
    }
  });
}, { threshold: 0.15 });
fadeSections.forEach(sec => observer.observe(sec));

// hero parallax
const heroBg = document.getElementById('hero-bg');
window.addEventListener('scroll', () => {
  const offset = window.scrollY * 0.15;
  heroBg.style.transform = `translate3d(0, ${offset}px, 0)`;
});

// ripple effect
function addRipple(e) {
  const rect = e.currentTarget.getBoundingClientRect();
  const x = e.clientX - rect.left;
  const y = e.clientY - rect.top;
  const ripple = e.currentTarget;
  ripple.style.setProperty('--ripple-x', `${x}px`);
  ripple.style.setProperty('--ripple-y', `${y}px`);
}
document.querySelectorAll('.mini-book, .book-btn').forEach(btn => {
  btn.addEventListener('mousedown', addRipple);
});
</script>

</body>
</html>