patx/demo

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>LaBounty Pools Inc. — Commercial Pool Chemistry, Service & Repair</title>
<meta name="description" content="LaBounty Pools Inc. provides commercial pool chemistry, maintenance, equipment repair, renovations, preventative programs, and green pool recovery from Port St. Lucie to Boynton Beach.">
<meta property="og:type" content="website">
<meta property="og:title" content="LaBounty Pools Inc. — Commercial Pool Chemistry, Service & Repair">
<meta property="og:description" content="Pool chemistry is more than just adding chlorine. Commercial pool service, repair, and water chemistry management from Port St. Lucie to Boynton Beach.">
<meta property="og:image" content="labounty-card.png">
<meta property="og:image:alt" content="LaBounty Pools Inc. commercial pool service social preview card">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="LaBounty Pools Inc. — Commercial Pool Chemistry, Service & Repair">
<meta name="twitter:description" content="Pool chemistry is more than just adding chlorine. Commercial pool service, repair, and water chemistry management from Port St. Lucie to Boynton Beach.">
<meta name="twitter:image" content="labounty-card.png">
<meta name="twitter:image:alt" content="LaBounty Pools Inc. commercial pool service social preview card">
<link href="https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:wght@300;400;500;600&family=Playfair+Display:ital,wght@1,400;1,600&display=swap" rel="stylesheet">
<link rel="preload" as="image" href="labounty-hero-clear.jpg">
<style>
  :root {
    --navy: #102a43;
    --blue: #0e5f8f;
    --aqua: #00a9d3;
    --aqua-light: #b9f3fb;
    --gold: #c97900;
    --white: #ffffff;
    --gray: #5f7385;
    --surface: #eaf8fb;
  }

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

  html { scroll-behavior: smooth; }

  body {
    background: #f8fcfe;
    color: var(--navy);
    font-family: 'DM Sans', sans-serif;
    overflow-x: hidden;
  }

  /* ── NAV ── */
  nav {
    position: fixed; top: 0; width: 100%; z-index: 100;
    display: flex; align-items: center; justify-content: space-between;
    padding: 1.1rem 5vw;
    background: rgba(248,250,252,0.92);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(10,22,40,0.12);
    box-shadow: 0 8px 24px rgba(6,17,32,0.12);
  }

  .nav-logo {
    display: flex; align-items: center; gap: 0.7rem;
    text-decoration: none;
  }

  .nav-logo-img {
    display: block;
    width: auto;
    height: 54px;
    border-radius: 4px;
  }

  .nav-links { display: flex; gap: 1.7rem; list-style: none; }
  .nav-links a {
    position: relative;
    text-decoration: none;
    font-size: 0.82rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #334155;
    transition: color 0.25s;
  }
  .nav-links a:hover,
  .nav-links a.active { color: var(--blue); }

  .nav-links a:not(.nav-cta)::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -0.45rem;
    height: 2px;
    background: var(--aqua);
    border-radius: 999px;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.25s;
  }

  .nav-links a.active:not(.nav-cta)::after { transform: scaleX(1); }

  .nav-cta {
    background: var(--aqua);
    color: var(--navy) !important;
    padding: 0.55rem 1.4rem;
    border-radius: 4px;
    font-weight: 600 !important;
    color: var(--navy) !important;
  }
  .nav-cta:hover { background: var(--aqua-light) !important; color: var(--navy) !important; }
  .nav-cta.active { background: var(--blue) !important; color: var(--white) !important; }

  .nav-menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    background: var(--white);
    border: 1px solid rgba(14,95,143,0.18);
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
  }

  .nav-menu-toggle:hover { background: #f4fcfe; border-color: rgba(0,169,211,0.35); }

  .nav-menu-toggle span {
    width: 21px;
    height: 2px;
    background: var(--navy);
    border-radius: 999px;
    transition: transform 0.22s, opacity 0.22s;
  }

  .nav-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .nav-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .mobile-sticky-cta {
    display: none;
  }

  /* ── HERO ── */
  #hero {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(0, 680px) 1fr;
    align-items: center;
    padding: 0 5vw;
    padding-top: 90px;
    position: relative;
    overflow: hidden;
  }

  .hero-bg {
    position: absolute; inset: 0; z-index: 0;
    overflow: hidden;
  }

  .hero-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
      linear-gradient(90deg, rgba(248,252,254,0.82) 0%, rgba(234,248,251,0.58) 45%, rgba(234,248,251,0.08) 100%),
      linear-gradient(0deg, rgba(255,255,255,0.22) 0%, rgba(255,255,255,0.04) 55%, rgba(255,255,255,0.22) 100%);
  }

  .hero-slide {
    position: absolute;
    inset: 0;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0;
    transform: scale(1.045);
    animation: heroZoomCycle 18s linear infinite;
    will-change: opacity, transform;
  }

  .hero-slide:nth-child(1) {
    background-image: url('labounty-hero-clear.jpg');
    animation-delay: 0s;
  }
  .hero-slide:nth-child(2) {
    background-image: url('labounty-hero2-clear.jpg');
    animation-delay: 6s;
  }
  .hero-slide:nth-child(3) {
    background-image: url('labounty-hero3-clear.jpg');
    animation-delay: 12s;
  }

  @keyframes heroZoomCycle {
    0% { opacity: 0; transform: scale(1.045); }
    4% { opacity: 1; }
    30% { opacity: 1; }
    36% { opacity: 0; transform: scale(1); }
    100% { opacity: 0; transform: scale(1); }
  }

  .hero-wave {
    position: absolute; bottom: 0; left: 0; width: 100%; z-index: 0;
  }

  .hero-content {
    position: relative;
    z-index: 2;
    max-width: 680px;
    text-shadow: 0 2px 18px rgba(255,255,255,0.75);
  }

  .hero-tag {
    display: inline-flex; align-items: center; gap: 0.5rem;
    font-size: 0.72rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--aqua);
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(0,169,211,0.35);
    padding: 0.4rem 1rem;
    border-radius: 100px;
    margin-bottom: 1.6rem;
    animation: fadeUp 0.6s ease both;
  }

  .hero-tag::before {
    content: '';
    width: 6px; height: 6px;
    background: var(--aqua);
    border-radius: 50%;
    animation: pulse 1.6s infinite;
  }

  @keyframes pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.4); }
  }

  .hero-h1 {
    font-family: 'Bebas Neue', sans-serif;
    font-size: clamp(3.2rem, 6vw, 6rem);
    line-height: 0.95;
    letter-spacing: 0.02em;
    margin-bottom: 1rem;
    animation: fadeUp 0.7s 0.1s ease both;
  }

  .hero-h1 em {
    font-family: 'Playfair Display', serif;
    font-style: italic;
    color: var(--aqua);
    display: block;
    font-size: 0.72em;
    letter-spacing: 0.01em;
  }

  .hero-sub {
    font-size: 1.05rem;
    color: #335f76;
    max-width: 480px;
    line-height: 1.7;
    margin-bottom: 2.2rem;
    animation: fadeUp 0.7s 0.2s ease both;
  }

  .hero-actions {
    display: flex; gap: 1rem; align-items: center;
    animation: fadeUp 0.7s 0.3s ease both;
    flex-wrap: wrap;
  }

  .btn-primary {
    display: inline-flex; align-items: center; gap: 0.5rem;
    background: var(--aqua);
    color: var(--navy);
    padding: 0.9rem 2rem;
    border-radius: 5px;
    font-weight: 700;
    font-size: 0.95rem;
    text-decoration: none;
    letter-spacing: 0.04em;
    transition: all 0.25s;
    box-shadow: 0 0 24px rgba(0,180,216,0.3);
  }

  .btn-primary:hover {
    background: var(--aqua-light);
    transform: translateY(-2px);
    box-shadow: 0 0 40px rgba(0,180,216,0.45);
  }

  .btn-secondary {
    display: inline-flex; align-items: center; gap: 0.5rem;
    color: var(--navy);
    font-size: 0.95rem;
    font-weight: 500;
    text-decoration: none;
    opacity: 0.75;
    transition: opacity 0.2s;
  }
  .btn-secondary:hover { opacity: 1; }

  .hero-phone {
    margin-top: 3rem;
    display: flex; align-items: center; gap: 1rem;
    animation: fadeUp 0.7s 0.4s ease both;
  }
  .hero-phone-icon {
    width: 48px; height: 48px;
    background: rgba(255,255,255,0.68);
    border: 1.5px solid rgba(0,169,211,0.4);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.2rem;
  }
  .hero-phone-text span:first-child {
    display: block; font-size: 0.7rem; color: var(--aqua);
    text-transform: uppercase; letter-spacing: 0.15em;
  }
  .hero-phone-text a {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1.7rem;
    color: var(--navy);
    text-decoration: none;
    letter-spacing: 0.06em;
  }

  /* ── STATS STRIP ── */
  .stats-strip {
    background: var(--surface);
    border-top: 1px solid rgba(14,95,143,0.12);
    border-bottom: 1px solid rgba(14,95,143,0.12);
    padding: 2.5rem 5vw;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    text-align: center;
  }

  .stat-item {}
  .stat-num {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 3rem;
    color: var(--aqua);
    line-height: 1;
    letter-spacing: 0.04em;
  }
  .stat-label {
    font-size: 0.78rem;
    color: var(--gray);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-top: 0.3rem;
  }

  /* ── SECTION BASICS ── */
  section { padding: 6rem 5vw; scroll-margin-top: 96px; }

  .section-tag {
    font-size: 0.72rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--blue);
    margin-bottom: 0.8rem;
  }

  .section-h2 {
    font-family: 'Bebas Neue', sans-serif;
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    line-height: 1;
    letter-spacing: 0.03em;
    margin-bottom: 1.2rem;
  }

  .section-lead {
    color: #536f82;
    max-width: 540px;
    line-height: 1.75;
    font-size: 1rem;
  }

  /* ── SERVICES ── */
  #services { background: var(--surface); }

  .services-head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
  }

  .services-head .section-lead { margin: 0 auto; }

  .services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.2rem;
    margin-top: 3rem;
  }

  .service-card {
    background: var(--white);
    border: 1px solid rgba(14,95,143,0.12);
    border-radius: 8px;
    padding: 1.6rem;
    box-shadow: 0 12px 30px rgba(16,42,67,0.08);
    transition: border-color 0.25s, transform 0.25s, box-shadow 0.25s;
  }

  .service-card:hover {
    border-color: rgba(0,169,211,0.32);
    transform: translateY(-4px);
    box-shadow: 0 18px 38px rgba(16,42,67,0.12);
  }

  .service-icon {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background: rgba(0,169,211,0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    margin-bottom: 1rem;
  }

  .service-card h3 {
    font-size: 1rem;
    color: var(--navy);
    margin-bottom: 0.55rem;
  }

  .service-card p {
    font-size: 0.88rem;
    line-height: 1.65;
    color: var(--gray);
  }

  /* ── WHY MATTERS ── */
  #why {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: center;
  }

  .why-cards { display: flex; flex-direction: column; gap: 1.2rem; }

  .why-card {
    display: flex; gap: 1.2rem; align-items: flex-start;
    background: var(--white);
    border: 1px solid rgba(14,95,143,0.12);
    padding: 1.4rem 1.6rem;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(16,42,67,0.08);
    transition: all 0.3s;
    cursor: default;
  }

  .why-card:hover {
    background: #f4fcfe;
    border-color: rgba(0,169,211,0.3);
    transform: translateX(6px);
  }

  .why-icon {
    width: 46px; height: 46px; flex-shrink: 0;
    border-radius: 10px;
    background: rgba(0,169,211,0.12);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.3rem;
  }

  .why-card h3 {
    font-size: 0.95rem; font-weight: 600;
    margin-bottom: 0.35rem;
    color: var(--navy);
  }

  .why-card p {
    font-size: 0.85rem;
    color: var(--gray);
    line-height: 1.6;
  }

  /* ── NEGLECT ── */
  #neglect { background: var(--surface); }

  .neglect-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.4rem;
    margin-top: 3rem;
  }

  .neglect-card {
    padding: 1.8rem;
    border-radius: 14px;
    border: 1px solid rgba(14,95,143,0.12);
    background: var(--white);
    position: relative;
    overflow: hidden;
    transition: all 0.3s;
  }

  .neglect-card::before {
    content: '';
    position: absolute; top: 0; left: 0;
    width: 3px; height: 100%;
    background: var(--aqua);
    opacity: 0;
    transition: opacity 0.3s;
  }

  .neglect-card:hover { border-color: rgba(0,180,216,0.2); }
  .neglect-card:hover::before { opacity: 1; }

  .neglect-card-icon { font-size: 2rem; margin-bottom: 0.8rem; }
  .neglect-card h3 {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1.2rem;
    letter-spacing: 0.06em;
    color: var(--gold);
    margin-bottom: 0.5rem;
  }
  .neglect-card p { font-size: 0.85rem; color: var(--gray); line-height: 1.65; }

  .neglect-cta-box {
    grid-column: 1 / -1;
    padding: 2rem 2.2rem;
    background: linear-gradient(135deg, rgba(185,243,251,0.65) 0%, rgba(255,255,255,0.9) 100%);
    border: 1px solid rgba(14,95,143,0.16);
    border-radius: 14px;
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 1rem;
  }

  .neglect-cta-box p {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1.5rem;
    letter-spacing: 0.04em;
    max-width: 520px;
  }
  .neglect-cta-box p span { color: var(--blue); }

  /* ── CHECKLIST ── */
  #checklist { }

  .checklist-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.2rem;
    margin-top: 3rem;
  }

  .check-item {
    background: var(--white);
    border: 1px solid rgba(14,95,143,0.1);
    border-radius: 12px;
    padding: 1.6rem 1.4rem;
    display: flex; flex-direction: column; align-items: center;
    text-align: center;
    gap: 0.9rem;
    transition: all 0.3s;
    box-shadow: 0 12px 28px rgba(16,42,67,0.07);
  }

  .check-item:hover {
    background: #f4fcfe;
    border-color: rgba(0,169,211,0.3);
    transform: translateY(-4px);
  }

  .check-icon {
    width: 58px; height: 58px;
    background: rgba(0,169,211,0.12);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.6rem;
    position: relative;
  }

  .check-tick {
    position: absolute; top: -2px; right: -2px;
    width: 18px; height: 18px;
    background: var(--aqua);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 0.6rem; color: var(--navy); font-weight: 900;
  }

  .check-item h3 {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--navy);
    line-height: 1.3;
  }

  .check-item p {
    font-size: 0.8rem;
    color: var(--gray);
    line-height: 1.55;
  }

  /* ── TRUST ── */
  #trust { background: var(--surface); text-align: center; }

  .trust-badges {
    display: flex; justify-content: center; gap: 2.5rem;
    flex-wrap: wrap;
    margin-top: 3rem;
  }

  .trust-badge {
    display: flex; flex-direction: column; align-items: center; gap: 0.7rem;
    padding: 1.8rem 2.2rem;
    background: var(--white);
    border: 1px solid rgba(14,95,143,0.12);
    border-radius: 16px;
    min-width: 150px;
    transition: all 0.3s;
    box-shadow: 0 12px 28px rgba(16,42,67,0.07);
  }
  .trust-badge:hover { border-color: rgba(0,180,216,0.35); }
  .trust-badge-icon { font-size: 2.2rem; }
  .trust-badge-label {
    font-size: 0.78rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.1em;
    color: var(--blue);
  }

  /* ── CONTACT ── */
  #contact {
    background: linear-gradient(135deg, #ffffff 0%, #e7f8fc 52%, #d6f2f8 100%);
    text-align: center;
    position: relative;
    overflow: hidden;
  }

  #contact::before {
    content: '';
    position: absolute; inset: 0;
    background: radial-gradient(ellipse 60% 60% at 50% 50%, rgba(0,169,211,0.14) 0%, transparent 70%);
  }

  .contact-inner { position: relative; z-index: 1; }

  .contact-layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr);
    gap: 4rem;
    align-items: start;
    text-align: left;
  }

  .contact-info .section-lead { margin-bottom: 2rem; }

  .contact-methods {
    display: grid;
    gap: 1.1rem;
    margin-top: 2rem;
  }

  .contact-method {
    display: grid;
    grid-template-columns: 56px 1fr;
    align-items: center;
    gap: 0.9rem;
    text-decoration: none;
    color: inherit;
    transition: transform 0.25s;
  }
  .contact-method:hover { transform: translateY(-4px); }

  .contact-method-icon {
    width: 64px; height: 64px;
    border-radius: 50%;
    background: rgba(255,255,255,0.78);
    border: 1.5px solid rgba(0,169,211,0.3);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.6rem;
    transition: background 0.25s;
  }
  .contact-method:hover .contact-method-icon {
    background: rgba(185,243,251,0.6);
  }

  .contact-method-label {
    font-size: 0.7rem;
    color: var(--blue);
    text-transform: uppercase;
    letter-spacing: 0.15em;
  }

  .contact-method-value {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1.5rem;
    letter-spacing: 0.08em;
    color: var(--navy);
    overflow-wrap: anywhere;
  }

  .contact-method-sub {
    font-size: 0.78rem;
    color: var(--gray);
  }

  .contact-form {
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
    background: rgba(255,255,255,0.9);
    border: 1px solid rgba(14,95,143,0.14);
    border-radius: 8px;
    padding: 2rem;
    box-shadow: 0 18px 42px rgba(16,42,67,0.12);
  }

  .contact-form.is-submitted > :not(.form-success) { display: none; }

  .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }

  .form-group {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }

  .form-label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--blue);
  }

  .form-input,
  .form-select {
    width: 100%;
    border: 1px solid rgba(14,95,143,0.18);
    border-radius: 6px;
    background: var(--white);
    color: var(--navy);
    font: inherit;
    font-size: 0.95rem;
    padding: 0.9rem 1rem;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
  }

  .form-input:focus,
  .form-select:focus {
    border-color: var(--aqua);
    box-shadow: 0 0 0 3px rgba(0,169,211,0.16);
  }

  .form-input::placeholder { color: #8aa0af; }

  .form-select {
    cursor: pointer;
    appearance: none;
  }

  textarea.form-input {
    min-height: 120px;
    resize: vertical;
  }

  .contact-form .btn-primary {
    border: 0;
    cursor: pointer;
    justify-content: center;
    width: 100%;
  }

  .form-success {
    display: none;
    text-align: center;
    padding: 1rem;
    color: var(--blue);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  /* ── FOOTER ── */
  footer {
    background: #f8fcfe;
    padding: 1.8rem 5vw;
    display: flex; align-items: center; justify-content: space-between;
    border-top: 1px solid rgba(14,95,143,0.12);
    flex-wrap: wrap; gap: 1rem;
  }

  footer p { font-size: 0.78rem; color: var(--gray); }
  footer a { color: var(--aqua); text-decoration: none; }

  /* ── ANIMATIONS ── */
  @keyframes fadeUp {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
  }

  .reveal {
    opacity: 0; transform: translateY(30px);
    transition: opacity 0.7s ease, transform 0.7s ease;
  }
  .reveal.visible { opacity: 1; transform: translateY(0); }

  /* ── RESPONSIVE ── */
  @media (max-width: 900px) {
    body { padding-bottom: calc(82px + env(safe-area-inset-bottom)); }
    nav { padding: 0.8rem 5vw; }
    #hero { grid-template-columns: 1fr; text-align: center; padding-top: 110px; padding-bottom: 4rem; }
    .hero-bg::after {
      background:
        linear-gradient(180deg, rgba(248,252,254,0.78) 0%, rgba(234,248,251,0.48) 48%, rgba(248,252,254,0.76) 100%);
    }
    .hero-actions { justify-content: center; }
    .hero-phone { justify-content: center; }
    .services-grid { grid-template-columns: repeat(2, 1fr); }
    .contact-layout {
      grid-template-columns: 1fr;
      gap: 2.5rem;
      text-align: center;
    }
    .contact-info .section-lead { margin-left: auto; margin-right: auto; }
    .contact-method { text-align: left; }
    #why { grid-template-columns: 1fr; gap: 3rem; }
    .neglect-grid { grid-template-columns: 1fr; }
    .checklist-grid { grid-template-columns: repeat(2, 1fr); }
    .stats-strip { grid-template-columns: repeat(2, 1fr); }
    .nav-menu-toggle { display: inline-flex; }
    .nav-links {
      position: absolute;
      top: calc(100% + 1px);
      left: 5vw;
      right: 5vw;
      display: flex;
      flex-direction: column;
      gap: 0.15rem;
      padding: 0.65rem;
      background: rgba(255,255,255,0.98);
      border: 1px solid rgba(14,95,143,0.14);
      border-radius: 8px;
      box-shadow: 0 18px 36px rgba(16,42,67,0.16);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transform: translateY(-8px);
      transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
    }
    .nav-links.is-open {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translateY(0);
    }
    .nav-links a {
      display: block;
      padding: 0.9rem 0.95rem;
      border-radius: 6px;
    }
    .nav-links a.active:not(.nav-cta) {
      background: #eaf8fb;
    }
    .nav-links a:not(.nav-cta)::after { display: none; }
    .nav-cta {
      display: block;
      text-align: center;
      margin-top: 0.25rem;
    }
    .mobile-sticky-cta {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 120;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      padding: 0.85rem 5vw calc(0.85rem + env(safe-area-inset-bottom));
      background: rgba(255,255,255,0.96);
      border-top: 1px solid rgba(14,95,143,0.14);
      box-shadow: 0 -14px 34px rgba(16,42,67,0.14);
      text-decoration: none;
      color: var(--navy);
      backdrop-filter: blur(14px);
    }
    .mobile-sticky-cta span:first-child {
      display: block;
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--blue);
    }
    .mobile-sticky-cta span:last-child {
      display: block;
      margin-top: 0.08rem;
      font-family: 'Bebas Neue', sans-serif;
      font-size: 1.55rem;
      line-height: 1;
      letter-spacing: 0.06em;
      color: var(--navy);
    }
    .mobile-sticky-cta::after {
      content: 'Call';
      flex: 0 0 auto;
      background: var(--aqua);
      color: var(--navy);
      padding: 0.7rem 1.1rem;
      border-radius: 5px;
      font-size: 0.82rem;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }
  }

  @media (max-width: 520px) {
    nav { padding: 0.75rem 5vw; }
    .nav-logo-img { height: 44px; }
    .services-grid { grid-template-columns: 1fr; }
    .checklist-grid { grid-template-columns: 1fr; }
    .contact-form { padding: 1.35rem; }
    .form-row { grid-template-columns: 1fr; }
    .contact-methods { gap: 2rem; }
    .stats-strip { grid-template-columns: repeat(2, 1fr); }
  }

  @media (prefers-reduced-motion: reduce) {
    .hero-slide { animation: none; opacity: 0; transform: scale(1); }
    .hero-slide:first-child { opacity: 1; }
  }

  /* Floating water particles */
  .particles { position: absolute; inset: 0; z-index: 1; overflow: hidden; pointer-events: none; }
  .particle {
    position: absolute;
    width: 4px; height: 4px;
    border-radius: 50%;
    background: rgba(0,180,216,0.4);
    animation: float linear infinite;
  }
  @keyframes float {
    0% { transform: translateY(100vh) translateX(0); opacity: 0; }
    10% { opacity: 1; }
    90% { opacity: 0.5; }
    100% { transform: translateY(-10vh) translateX(30px); opacity: 0; }
  }
</style>
</head>
<body>

<!-- NAV -->
<nav>
  <a href="#" class="nav-logo">
    <img src="labounty_pools_logo.png" alt="LaBounty Pools Inc." class="nav-logo-img">
  </a>
  <button class="nav-menu-toggle" type="button" aria-label="Open menu" aria-controls="primary-nav" aria-expanded="false">
    <span aria-hidden="true"></span>
    <span aria-hidden="true"></span>
    <span aria-hidden="true"></span>
  </button>
  <ul class="nav-links" id="primary-nav">
    <li><a href="#services">Services</a></li>
    <li><a href="#why">Why It Matters</a></li>
    <li><a href="#neglect">Neglect Risks</a></li>
    <li><a href="#checklist">Our Checklist</a></li>
    <li><a href="#contact" class="nav-cta">Get Service</a></li>
  </ul>
</nav>

<!-- HERO -->
<section id="hero">
  <div class="hero-bg" aria-hidden="true">
    <div class="hero-slide"></div>
    <div class="hero-slide"></div>
    <div class="hero-slide"></div>
  </div>
  <div class="particles" id="particles"></div>

  <div class="hero-content">
    <div class="hero-tag">South Florida's Commercial Pool Experts</div>
    <h1 class="hero-h1">
      A Well-Maintained Pool<br>Is More Than Clean.
      <em>It's Professional.</em>
    </h1>
    <p class="hero-sub">
      High bather loads, extended hours, and strict health codes mean your pool system works harder every day. Proactive care protects your investment, your reputation, and the people who count on your pool.
    </p>
    <div class="hero-actions">
      <a href="#contact" class="btn-primary">📞 Schedule Service</a>
      <a href="#checklist" class="btn-secondary">See Our Checklist →</a>
    </div>
    <div class="hero-phone">
      <div class="hero-phone-icon">📱</div>
      <div class="hero-phone-text">
        <span>Call or Text Today</span>
        <a href="tel:5613294335">561-329-4335</a>
      </div>
    </div>
  </div>

  <svg class="hero-wave" viewBox="0 0 1440 80" fill="none" preserveAspectRatio="none" style="height:60px">
    <path d="M0,40 C360,80 1080,0 1440,40 L1440,80 L0,80 Z" fill="#eaf8fb" opacity="0.9"/>
  </svg>
</section>

<!-- STATS -->
<div class="stats-strip reveal">
  <div class="stat-item">
    <div class="stat-num">20+</div>
    <div class="stat-label">Years of Experience</div>
  </div>
  <div class="stat-item">
    <div class="stat-num">CPC</div>
    <div class="stat-label">Certified CPC-1459195</div>
  </div>
  <div class="stat-item">
    <div class="stat-num">Jandy</div>
    <div class="stat-label">C-Station Authorized</div>
  </div>
  <div class="stat-item">
    <div class="stat-num">7</div>
    <div class="stat-label">Point Chemistry Checklist</div>
  </div>
</div>

<!-- SERVICES -->
<section id="services">
  <div class="services-head reveal">
    <p class="section-tag">Services</p>
    <h2 class="section-h2">We Specialize In<br>Commercial Pool Care</h2>
    <p class="section-lead">Perfect water does not happen by accident. It happens by experience, precise testing, and preventative service programs that protect your pool system.</p>
  </div>
  <div class="services-grid">
    <div class="service-card reveal">
      <div class="service-icon">🧪</div>
      <h3>Commercial Pool Maintenance</h3>
      <p>Routine service programs designed for high-use commercial pools, consistent water quality, and dependable operation.</p>
    </div>
    <div class="service-card reveal">
      <div class="service-icon">⚙️</div>
      <h3>Water Chemistry Management</h3>
      <p>Expert testing and precise balance for chlorine, pH, alkalinity, calcium hardness, cyanuric acid, phosphates, and water temperature.</p>
    </div>
    <div class="service-card reveal">
      <div class="service-icon">🧹</div>
      <h3>Equipment Repairs &amp; Renovations</h3>
      <p>Repairs and renovation support for heaters, pumps, filtration, plumbing, equipment replacement, and Jandy equipment service.</p>
    </div>
    <div class="service-card reveal">
      <div class="service-icon">📋</div>
      <h3>Preventative Maintenance Programs</h3>
      <p>Planned maintenance that helps prevent algae blooms, bacteria growth, surface stains, equipment damage, and costly repairs.</p>
    </div>
    <div class="service-card reveal">
      <div class="service-icon">🌊</div>
      <h3>Green Pool Recovery</h3>
      <p>Recovery service for neglected chemistry, green water, and unsafe conditions so the pool can return to clear, sparkling water.</p>
    </div>
    <div class="service-card reveal">
      <div class="service-icon">⚡</div>
      <h3>Pool Renovation &amp; Resurfacing</h3>
      <p>Pool resurfacing, spa resurfacing, tile and coping upgrades, and equipment upgrades for smooth, beautiful, like-new results.</p>
    </div>
  </div>
</section>

<!-- WHY IT MATTERS -->
<section id="why">
  <div class="why-left reveal">
    <p class="section-tag">Balanced Water. Better Pools.</p>
    <h2 class="section-h2">Proper Chemistry<br>Protects Everything</h2>
    <p class="section-lead">Proper water chemistry is not just about clear water — it is about protecting health, equipment, comfort, and your investment.</p>
  </div>
  <div class="why-cards reveal">
    <div class="why-card">
      <div class="why-icon">🛡️</div>
      <div>
        <h3>Safety</h3>
        <p>Balanced water helps prevent skin, eye, and respiratory irritation while supporting safe swimming conditions.</p>
      </div>
    </div>
    <div class="why-card">
      <div class="why-icon">🌊</div>
      <div>
        <h3>Comfort</h3>
        <p>Proper chemistry means clear, sparkling water that looks clean and feels great for swimmers.</p>
      </div>
    </div>
    <div class="why-card">
      <div class="why-icon">⚙️</div>
      <div>
        <h3>Equipment Protection</h3>
        <p>Balanced water helps prevent scale, corrosion, and premature wear on expensive pool equipment.</p>
      </div>
    </div>
    <div class="why-card">
      <div class="why-icon">💰</div>
      <div>
        <h3>Cost Savings</h3>
        <p>Good chemistry reduces repairs, extends equipment life, and saves money over time.</p>
      </div>
    </div>
  </div>
</section>

<!-- HIDDEN IMPACT OF NEGLECT -->
<section id="neglect">
  <div style="text-align:center" class="reveal">
    <p class="section-tag">Before &amp; After</p>
    <h2 class="section-h2">Blue Water Is Not<br>Always Safe</h2>
    <p class="section-lead" style="margin:0 auto">Unbalanced water creates hidden risk. Balanced water creates crystal-clear results, healthy swimming conditions, protected equipment, and a longer pool lifespan.</p>
  </div>
  <div class="neglect-grid">
    <div class="neglect-card reveal">
      <div class="neglect-card-icon">✕</div>
      <h3>Neglected Chemistry</h3>
      <p>Algae blooms, bacteria growth, surface stains, equipment damage, and costly repairs.</p>
    </div>
    <div class="neglect-card reveal">
      <div class="neglect-card-icon">✓</div>
      <h3>Proper Chemistry</h3>
      <p>Safe swimmers, clear sparkling water, protected equipment, longer lifespan, and lower costs.</p>
    </div>
    <div class="neglect-card reveal">
      <div class="neglect-card-icon">◐</div>
      <h3>Before Resurfacing</h3>
      <p>Faded, rough, and outdated surfaces can make a pool look neglected even when the water is improving.</p>
    </div>
    <div class="neglect-card reveal">
      <div class="neglect-card-icon">✓</div>
      <h3>After Resurfacing</h3>
      <p>Smooth, beautiful, like-new finishes with pool resurfacing, spa resurfacing, tile, coping, and equipment upgrades.</p>
    </div>
    <div class="neglect-cta-box reveal">
      <p>Perfect Water Doesn't Happen by Accident. <span>It Happens by Experience.</span><br>Let LaBounty Pools keep your water balanced — and your pool perfect.</p>
      <a href="#contact" class="btn-primary">Book Service Now</a>
    </div>
  </div>
</section>

<!-- MAINTENANCE CHECKLIST -->
<section id="checklist">
  <div style="text-align:center" class="reveal">
    <p class="section-tag">Our Process</p>
    <h2 class="section-h2">Commercial Maintenance<br>Checklist</h2>
    <p class="section-lead" style="margin:0 auto">Every visit combines the practical maintenance your pool needs with precise chemistry checks. Chlorine is only one part of keeping commercial water safe, clear, and equipment-friendly.</p>
  </div>
  <div class="checklist-grid">
    <div class="check-item reveal">
      <div class="check-icon">🧪<span class="check-tick">✓</span></div>
      <h3>Water Chemistry Testing &amp; Balancing</h3>
      <p>We test chlorine, pH, alkalinity, calcium hardness, cyanuric acid, phosphates, and water temperature so the whole system stays balanced.</p>
    </div>
    <div class="check-item reveal">
      <div class="check-icon">🧹<span class="check-tick">✓</span></div>
      <h3>Filter Cleaning &amp; Inspection</h3>
      <p>Clean filters support clear water and reduce equipment strain, especially when bather loads and chemical demand are high.</p>
    </div>
    <div class="check-item reveal">
      <div class="check-icon">⚙️<span class="check-tick">✓</span></div>
      <h3>Pump, Motor &amp; Equipment Review</h3>
      <p>We look for performance issues, leaks, corrosion, scale, and wear that can come from poor balance or deferred maintenance.</p>
    </div>
    <div class="check-item reveal">
      <div class="check-icon">🔲<span class="check-tick">✓</span></div>
      <h3>Drain Cover &amp; Safety Checks</h3>
      <p>Commercial pools need safety-minded inspections that help protect swimmers and support health-code readiness.</p>
    </div>
    <div class="check-item reveal">
      <div class="check-icon">🪟<span class="check-tick">✓</span></div>
      <h3>Tile, Surface &amp; Finish Inspection</h3>
      <p>Balanced water helps prevent stains, scale, corrosion, and rough surfaces. We check visible surfaces before issues spread.</p>
    </div>
    <div class="check-item reveal">
      <div class="check-icon">🌀<span class="check-tick">✓</span></div>
      <h3>Skimmer, Vacuum &amp; Circulation Checks</h3>
      <p>Good circulation helps chemicals work properly, keeps debris moving, and helps prevent cloudy water and algae growth.</p>
    </div>
    <div class="check-item reveal">
      <div class="check-icon">📋<span class="check-tick">✓</span></div>
      <h3>Preventative Maintenance Notes</h3>
      <p>We flag chemistry trends, equipment concerns, and recovery needs early so small problems do not become costly repairs.</p>
    </div>
  </div>
</section>

<!-- TRUST -->
<section id="trust">
  <p class="section-tag reveal">Why Choose LaBounty</p>
  <h2 class="section-h2 reveal">Test. Balance.<br>Enjoy.</h2>
  <p class="section-lead reveal" style="margin:0 auto 0">Certified technicians use over 20 years of experience to diagnose problems and restore perfect water quality.</p>
  <div class="trust-badges">
    <div class="trust-badge reveal">
      <div class="trust-badge-icon">🛡️</div>
      <div class="trust-badge-label">Fully Licensed &amp; Insured</div>
    </div>
    <div class="trust-badge reveal">
      <div class="trust-badge-icon">📋</div>
      <div class="trust-badge-label">CPC-1459195</div>
    </div>
    <div class="trust-badge reveal">
      <div class="trust-badge-icon">C</div>
      <div class="trust-badge-label">Jandy Authorized C-Station</div>
    </div>
    <div class="trust-badge reveal">
      <div class="trust-badge-icon">✅</div>
      <div class="trust-badge-label">State Authorized &amp; Inspected</div>
    </div>
    <div class="trust-badge reveal">
      <div class="trust-badge-icon">🤝</div>
      <div class="trust-badge-label">Trained &amp; Knowledgeable Staff</div>
    </div>
    <div class="trust-badge reveal">
      <div class="trust-badge-icon">🏢</div>
      <div class="trust-badge-label">Commercial Specialists</div>
    </div>
    <div class="trust-badge reveal">
      <div class="trust-badge-icon">🧰</div>
      <div class="trust-badge-label">Professional Service &amp; Support</div>
    </div>
    <div class="trust-badge reveal">
      <div class="trust-badge-icon">⭐</div>
      <div class="trust-badge-label">Quality Products You Can Trust</div>
    </div>
  </div>
</section>

<!-- CONTACT -->
<section id="contact">
  <div class="contact-inner">
    <div class="contact-layout">
      <div class="contact-info reveal">
        <p class="section-tag">Get In Touch</p>
        <h2 class="section-h2">Call Now For<br>Balanced Water</h2>
        <p class="section-lead">We are fully commercial. Our certified technicians handle jobs from new pools to full renovations, equipment replacement, Jandy service, chemistry management, and resurfacing.</p>
        <div class="contact-methods">
          <a href="tel:5613294335" class="contact-method">
            <div class="contact-method-icon">📞</div>
            <div>
              <div class="contact-method-label">Call or Text</div>
              <div class="contact-method-value">561-329-4335</div>
              <div class="contact-method-sub">Available 7 days a week</div>
            </div>
          </a>
          <a href="mailto:[email protected]" class="contact-method">
            <div class="contact-method-icon">✉️</div>
            <div>
              <div class="contact-method-label">Email Us</div>
              <div class="contact-method-value" style="font-size:1.1rem;font-family:'DM Sans',sans-serif;font-weight:500">[email protected]</div>
              <div class="contact-method-sub">We respond within 24 hours</div>
            </div>
          </a>
          <a href="https://labountypools.com" class="contact-method">
            <div class="contact-method-icon">🌐</div>
            <div>
              <div class="contact-method-label">Website</div>
              <div class="contact-method-value" style="font-size:1.1rem;font-family:'DM Sans',sans-serif;font-weight:500">Labountypools.com</div>
              <div class="contact-method-sub">Commercial service, repair, and renovation</div>
            </div>
          </a>
          <div class="contact-method" style="cursor:default">
            <div class="contact-method-icon">📍</div>
            <div>
              <div class="contact-method-label">Service Area</div>
              <div class="contact-method-value" style="font-size:1.1rem;font-family:'DM Sans',sans-serif;font-weight:500">Port St. Lucie to Boynton Beach</div>
              <div class="contact-method-sub">Serving Florida, Palm Beach County &amp; beyond</div>
            </div>
          </div>
        </div>
      </div>
      <form class="contact-form reveal" onsubmit="handleSubmit(event)">
        <div class="form-row">
          <div class="form-group">
            <label class="form-label" for="first-name">First Name</label>
            <input class="form-input" id="first-name" name="first-name" type="text" placeholder="John" required>
          </div>
          <div class="form-group">
            <label class="form-label" for="last-name">Last Name</label>
            <input class="form-input" id="last-name" name="last-name" type="text" placeholder="Smith" required>
          </div>
        </div>
        <div class="form-row">
          <div class="form-group">
            <label class="form-label" for="email">Email Address</label>
            <input class="form-input" id="email" name="email" type="email" placeholder="[email protected]" required>
          </div>
          <div class="form-group">
            <label class="form-label" for="phone">Phone Number</label>
            <input class="form-input" id="phone" name="phone" type="tel" placeholder="561-329-4335">
          </div>
        </div>
        <div class="form-group">
          <label class="form-label" for="service-needed">Service Needed</label>
          <select class="form-select" id="service-needed" name="service-needed" required>
            <option value="">Select a service...</option>
            <option>Routine Commercial Maintenance</option>
            <option>Water Chemistry Management</option>
            <option>Equipment Repairs &amp; Renovations</option>
            <option>Preventative Maintenance Program</option>
            <option>Green Pool Recovery</option>
            <option>Pool Resurfacing</option>
            <option>Spa Resurfacing</option>
            <option>Tile &amp; Coping Upgrades</option>
            <option>Equipment Upgrades</option>
            <option>Jandy Equipment Service</option>
            <option>Other / Not Sure</option>
          </select>
        </div>
        <div class="form-group">
          <label class="form-label" for="message">Tell Us About Your Commercial Pool</label>
          <textarea class="form-input" id="message" name="message" placeholder="Property type, pool size, chemistry issue, resurfacing needs, equipment issue, location, and ideal service timing..."></textarea>
        </div>
        <button type="submit" class="btn-primary">Send Request</button>
        <div id="contact-form-success" class="form-success">Request sent — we will be in touch shortly</div>
      </form>
    </div>
  </div>
</section>

<!-- FOOTER -->
<footer>
  <p>© 2025 LaBounty Pools Inc. · Fully Licensed &amp; Insured · CPC-1459195 · Jandy Authorized C-Station</p>
  <p>
    <a href="tel:5613294335">561-329-4335</a> ·
    <a href="mailto:[email protected]">[email protected]</a> ·
    <a href="https://labountypools.com">Labountypools.com</a>
  </p>
</footer>

<a href="tel:5613294335" class="mobile-sticky-cta">
  <span>Call Us Today</span>
  <span>561-329-4335</span>
</a>

<script>
  // Scroll reveal
  const reveals = document.querySelectorAll('.reveal');
  const observer = new IntersectionObserver((entries) => {
    entries.forEach((entry, i) => {
      if (entry.isIntersecting) {
        setTimeout(() => entry.target.classList.add('visible'), i * 80);
        observer.unobserve(entry.target);
      }
    });
  }, { threshold: 0.1 });
  reveals.forEach(el => observer.observe(el));

  // Floating particles
  const container = document.getElementById('particles');
  if (container) {
    for (let i = 0; i < 18; i++) {
      const p = document.createElement('div');
      p.className = 'particle';
      p.style.left = Math.random() * 100 + '%';
      p.style.animationDuration = (8 + Math.random() * 12) + 's';
      p.style.animationDelay = (Math.random() * 10) + 's';
      p.style.width = p.style.height = (2 + Math.random() * 4) + 'px';
      p.style.opacity = (0.2 + Math.random() * 0.5).toString();
      container.appendChild(p);
    }
  }

  function handleSubmit(event) {
    event.preventDefault();
    const form = event.target;
    const successMessage = document.getElementById('contact-form-success');

    form.reset();
    form.classList.add('is-submitted');
    form.querySelectorAll('input, select, textarea, button[type="submit"]').forEach(control => {
      control.disabled = true;
    });

    if (successMessage) {
      successMessage.style.display = 'block';
      successMessage.setAttribute('tabindex', '-1');
      successMessage.focus();
    }
  }

  // Mobile nav + active section state
  const nav = document.querySelector('nav');
  const navToggle = document.querySelector('.nav-menu-toggle');
  const navLinks = document.querySelector('.nav-links');
  const navAnchors = Array.from(document.querySelectorAll('.nav-links a[href^="#"]'));
  const navSections = navAnchors
    .map(link => document.querySelector(link.getAttribute('href')))
    .filter(Boolean);

  function setMenuOpen(isOpen) {
    if (!navToggle || !navLinks) return;
    navToggle.setAttribute('aria-expanded', isOpen.toString());
    navToggle.setAttribute('aria-label', isOpen ? 'Close menu' : 'Open menu');
    navLinks.classList.toggle('is-open', isOpen);
  }

  if (navToggle && navLinks) {
    navToggle.addEventListener('click', () => {
      setMenuOpen(navToggle.getAttribute('aria-expanded') !== 'true');
    });

    navAnchors.forEach(link => {
      link.addEventListener('click', () => setMenuOpen(false));
    });

    document.addEventListener('click', event => {
      if (nav && !nav.contains(event.target)) setMenuOpen(false);
    });

    document.addEventListener('keydown', event => {
      if (event.key === 'Escape') setMenuOpen(false);
    });

    window.addEventListener('resize', () => {
      if (window.innerWidth > 900) setMenuOpen(false);
    });
  }

  function setActiveNavLink() {
    const anchorY = (nav ? nav.offsetHeight : 88) + Math.min(window.innerHeight * 0.25, 180);
    const activeSection = navSections.find(section => {
      const rect = section.getBoundingClientRect();
      return rect.top <= anchorY && rect.bottom > anchorY;
    });
    let activeId = activeSection ? activeSection.id : '';

    if (window.innerHeight + window.scrollY >= document.documentElement.scrollHeight - 4) {
      activeId = navSections[navSections.length - 1]?.id || activeId;
    }

    navAnchors.forEach(link => {
      const isActive = link.getAttribute('href') === `#${activeId}`;
      link.classList.toggle('active', isActive);
      if (isActive) {
        link.setAttribute('aria-current', 'true');
      } else {
        link.removeAttribute('aria-current');
      }
    });
  }

  setActiveNavLink();
  window.addEventListener('scroll', setActiveNavLink, { passive: true });
  window.addEventListener('resize', setActiveNavLink);
</script>
</body>
</html>