feat: update Harbor Smith website content and layout
All checks were successful
build-website / build (push) Successful in 1m42s

- Update hero tagline to "Reliable Care Above and Below the Waterline"
- Remove 5-star rating badge from hero section
- Change "Mobile Service" to "Tailored Service" with wrench icon
- Update section title from "Our Premium Services" to "Our Services"
- Merge Hull Cleaning and Anode Change services into single card
- Rename "Exterior Wash & Wax" to "Exterior Cleaning"
- Update trust indicators to show 3 badges: Years Experience, Customizable Service, Certified Experts
- Remove "Schedule Service" button from booking section
- Fix service card alignment with consistent heights and flexbox layout
- Add responsive layout for trust indicators on mobile (2+1 grid)

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-09-21 12:45:17 +02:00
parent ed5bb6cc3f
commit 8d829046d6
6 changed files with 64 additions and 84 deletions

View File

@@ -7,16 +7,7 @@
Join hundreds of boat owners who trust Harbor Smith for professional maintenance Join hundreds of boat owners who trust Harbor Smith for professional maintenance
</p> </p>
<div class="booking-options"> <div class="booking-options" style="justify-content: center; gap: 3rem;">
<div class="booking-card">
<span class="booking-icon">
<LucideCalendar />
</span>
<h3>Schedule Service</h3>
<p>Book your maintenance appointment</p>
<button class="btn-booking" @click="handleBookNow">Book Now</button>
</div>
<div class="booking-card featured"> <div class="booking-card featured">
<span class="booking-icon"> <span class="booking-icon">
<LucidePhone /> <LucidePhone />

View File

@@ -35,24 +35,12 @@
<img src="/HARBOR-SMITH-white.png" alt="Harbor Smith" width="400" height="250"> <img src="/HARBOR-SMITH-white.png" alt="Harbor Smith" width="400" height="250">
</div> </div>
<div class="trust-badge animate-fade-in">
<div class="stars">
<span class="stars-icons">
<LucideStar class="star-filled" />
<LucideStar class="star-filled" />
<LucideStar class="star-filled" />
<LucideStar class="star-filled" />
<LucideStar class="star-filled" />
</span>
</div>
<span>Trusted by {{ animatedCount }}+ seafarers</span>
</div>
<p class="hero-subtext animate-fade-up-delay"> <p class="hero-subtext animate-fade-up-delay">
<span style="font-size: 1.5rem; font-weight: 500; text-transform: none; letter-spacing: normal; margin-bottom: 10px; display: block;"> <span style="font-size: 1.5rem; font-weight: 500; text-transform: none; letter-spacing: normal; margin-bottom: 10px; display: block;">
Personalized Service Maintenance for Your Boat Personalized Service Maintenance for Your Boat
</span> </span>
Keep your vessel pristine with San Francisco Bay's premier mobile boat maintenance service. Reliable Care Above and Below the Waterline. Servicing the Bay Area and Beyond!
</p> </p>
<div class="hero-actions animate-fade-up-delay-2"> <div class="hero-actions animate-fade-up-delay-2">

View File

@@ -2,80 +2,65 @@
<section class="fleet-showcase" id="services"> <section class="fleet-showcase" id="services">
<div class="container"> <div class="container">
<div class="section-header"> <div class="section-header">
<h2 class="section-title">Our Premium Services</h2> <h2 class="section-title">Our Services</h2>
<p class="section-subtitle">Professional boat maintenance tailored to your needs</p> <p class="section-subtitle">Professional boat maintenance tailored to your needs</p>
</div> </div>
<div class="services-grid" style="display: flex; flex-wrap: wrap; gap: 30px; max-width: 1200px; margin: 0 auto; justify-content: center;"> <div class="services-grid" style="display: flex; flex-wrap: wrap; gap: 30px; max-width: 1200px; margin: 0 auto; justify-content: center; align-items: stretch;">
<div class="service-card" style="background: white; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.1); padding: 0; overflow: hidden; text-align: center; flex: 0 1 350px; min-width: 280px;"> <div class="service-card" style="background: white; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.1); padding: 0; overflow: hidden; text-align: center; flex: 0 1 350px; min-width: 280px; display: flex; flex-direction: column;">
<div style="width: 100%; height: 200px; overflow: hidden;"> <div style="width: 100%; height: 200px; overflow: hidden;">
<img src="/diver_cleaning.jpg" alt="Professional hull cleaning service" style="width: 100%; height: 100%; object-fit: cover;" width="500" height="333" loading="lazy"> <img src="/diver_cleaning.jpg" alt="Professional hull cleaning and anode replacement service" style="width: 100%; height: 100%; object-fit: cover;" width="500" height="333" loading="lazy">
</div> </div>
<div style="padding: 30px;"> <div style="padding: 30px; display: flex; flex-direction: column; flex: 1;">
<h3 style="font-size: 24px; margin-bottom: 15px; color: #1e3a5f;">Hull Cleaning</h3> <h3 style="font-size: 24px; margin-bottom: 15px; color: #1e3a5f; min-height: 65px; display: flex; align-items: flex-start; justify-content: center; text-align: center;">Hull Cleaning &amp; Anode Change</h3>
<p style="color: #666; margin-bottom: 20px;"> <p style="color: #666; margin-bottom: 20px; min-height: 80px;">
Professional underwater hull cleaning to maintain your boat's performance and fuel efficiency. Professional underwater hull cleaning and zinc anode maintenance for optimal performance and corrosion protection.
</p> </p>
<ul style="list-style: none; padding: 0; margin: 20px 0; text-align: left;"> <ul style="list-style: none; padding: 0; margin: 20px 0; text-align: left; flex: 1;">
<li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Removes marine growth</li> <li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Removes marine growth</li>
<li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Improves fuel efficiency</li> <li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Improves fuel efficiency</li>
<li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Extends hull life</li> <li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Prevents corrosion</li>
<li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Marine-grade anodes</li>
</ul> </ul>
<button class="btn-primary-warm" style="width: 100%;" @click="handleQuote">Get Quote</button> <button class="btn-primary-warm" style="width: 100%; margin-top: auto;" @click="handleQuote">Get Quote</button>
</div> </div>
</div> </div>
<div class="service-card" style="background: white; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.1); padding: 0; overflow: hidden; text-align: center; flex: 0 1 350px; min-width: 280px;"> <div class="service-card" style="background: white; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.1); padding: 0; overflow: hidden; text-align: center; flex: 0 1 350px; min-width: 280px; display: flex; flex-direction: column;">
<div style="width: 100%; height: 200px; overflow: hidden;"> <div style="width: 100%; height: 200px; overflow: hidden;">
<img src="/Washdown.jpg" alt="Professional boat wash and wax service" style="width: 100%; height: 100%; object-fit: cover;" width="500" height="333" loading="lazy"> <img src="/Washdown.jpg" alt="Professional boat exterior cleaning service" style="width: 100%; height: 100%; object-fit: cover;" width="500" height="333" loading="lazy">
</div> </div>
<div style="padding: 30px;"> <div style="padding: 30px; display: flex; flex-direction: column; flex: 1;">
<h3 style="font-size: 24px; margin-bottom: 15px; color: #1e3a5f;">Exterior Wash &amp; Wax</h3> <h3 style="font-size: 24px; margin-bottom: 15px; color: #1e3a5f; min-height: 65px; display: flex; align-items: flex-start; justify-content: center; text-align: center;">Exterior Cleaning</h3>
<p style="color: #666; margin-bottom: 20px;"> <p style="color: #666; margin-bottom: 20px; min-height: 80px; padding-top: 27px;">
Complete exterior detailing to keep your boat looking pristine and protected. Complete exterior detailing to keep your boat looking pristine and protected.
</p> </p>
<ul style="list-style: none; padding: 0; margin: 20px 0; text-align: left;"> <ul style="list-style: none; padding: 0; margin: 20px 0; text-align: left; flex: 1;">
<li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Deep cleaning wash</li> <li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Deep cleaning wash</li>
<li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> UV protection wax</li> <li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Protective wax application</li>
<li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> UV protection</li>
<li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Gel coat restoration</li> <li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Gel coat restoration</li>
</ul> </ul>
<button class="btn-primary-warm" style="width: 100%;" @click="handleQuote">Get Quote</button> <button class="btn-primary-warm" style="width: 100%; margin-top: auto;" @click="handleQuote">Get Quote</button>
</div> </div>
</div> </div>
<div class="service-card" style="background: white; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.1); padding: 0; overflow: hidden; text-align: center; flex: 0 1 350px; min-width: 280px;"> <div class="service-card" style="background: white; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.1); padding: 0; overflow: hidden; text-align: center; flex: 0 1 350px; min-width: 280px; display: flex; flex-direction: column;">
<div style="width: 100%; height: 200px; overflow: hidden;">
<img src="/Anodes.jpg" alt="Zinc anode replacement service" style="width: 100%; height: 100%; object-fit: cover;" width="500" height="333" loading="lazy">
</div>
<div style="padding: 30px;">
<h3 style="font-size: 24px; margin-bottom: 15px; color: #1e3a5f;">Anode Changes</h3>
<p style="color: #666; margin-bottom: 20px;">
Essential corrosion protection with regular zinc anode inspection and replacement.
</p>
<ul style="list-style: none; padding: 0; margin: 20px 0; text-align: left;">
<li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Prevents corrosion</li>
<li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Regular inspection</li>
<li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Marine-grade materials</li>
</ul>
<button class="btn-primary-warm" style="width: 100%;" @click="handleQuote">Get Quote</button>
</div>
</div>
<div class="service-card" style="background: white; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.1); padding: 0; overflow: hidden; text-align: center; flex: 0 1 350px; min-width: 280px;">
<div style="width: 100%; height: 200px; overflow: hidden;"> <div style="width: 100%; height: 200px; overflow: hidden;">
<img src="/Interior.jpg" alt="Professional interior detailing service" style="width: 100%; height: 100%; object-fit: cover;" width="500" height="333" loading="lazy"> <img src="/Interior.jpg" alt="Professional interior detailing service" style="width: 100%; height: 100%; object-fit: cover;" width="500" height="333" loading="lazy">
</div> </div>
<div style="padding: 30px;"> <div style="padding: 30px; display: flex; flex-direction: column; flex: 1;">
<h3 style="font-size: 24px; margin-bottom: 15px; color: #1e3a5f;">Interior Detailing</h3> <h3 style="font-size: 24px; margin-bottom: 15px; color: #1e3a5f; min-height: 65px; display: flex; align-items: flex-start; justify-content: center; text-align: center;">Interior Detailing</h3>
<p style="color: #666; margin-bottom: 20px;"> <p style="color: #666; margin-bottom: 20px; min-height: 80px;">
Thorough interior cleaning and conditioning for a fresh, comfortable cabin. Thorough interior cleaning and conditioning for a fresh, comfortable cabin.
</p> </p>
<ul style="list-style: none; padding: 0; margin: 20px 0; text-align: left;"> <ul style="list-style: none; padding: 0; margin: 20px 0; text-align: left; flex: 1;">
<li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Upholstery cleaning</li> <li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Upholstery cleaning</li>
<li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Mold &amp; mildew treatment</li> <li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Mold &amp; mildew treatment</li>
<li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Surface conditioning</li> <li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Surface conditioning</li>
<li style="padding: 8px 0;"><LucideCheck class="spec-icon" /> Odor elimination</li>
</ul> </ul>
<button class="btn-primary-warm" style="width: 100%;" @click="handleQuote">Get Quote</button> <button class="btn-primary-warm" style="width: 100%; margin-top: auto;" @click="handleQuote">Get Quote</button>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -1,26 +1,21 @@
<template> <template>
<section class="services-section"> <section class="services-section">
<div class="container"> <div class="container">
<div class="service-stats"> <div class="service-stats trust-indicators-grid">
<div class="stat-item">
<LucideShip class="stat-icon" />
<span class="stat-number">200+</span>
<span class="stat-label">Vessels Maintained</span>
</div>
<div class="stat-item"> <div class="stat-item">
<LucideAward class="stat-icon" /> <LucideAward class="stat-icon" />
<span class="stat-number">10+</span> <span class="stat-number">20+</span>
<span class="stat-label">Years Experience</span> <span class="stat-label">Years Experience</span>
</div> </div>
<div class="stat-item"> <div class="stat-item">
<LucideUsers class="stat-icon" /> <LucideWrench class="stat-icon" />
<span class="stat-number">500+</span> <span class="stat-number">100%</span>
<span class="stat-label">Happy Clients</span> <span class="stat-label">Customizable Service</span>
</div> </div>
<div class="stat-item"> <div class="stat-item stat-item-last">
<LucideShieldCheck class="stat-icon" /> <LucideShieldCheck class="stat-icon" />
<span class="stat-number">100%</span> <span class="stat-number">100%</span>
<span class="stat-label">Mobile Service</span> <span class="stat-label">Certified Experts</span>
</div> </div>
</div> </div>
</div> </div>
@@ -33,4 +28,25 @@
<style scoped> <style scoped>
/* Styling sourced from voyage-layout.css */ /* Styling sourced from voyage-layout.css */
.trust-indicators-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 40px;
max-width: 900px;
margin: 0 auto;
}
@media (max-width: 768px) {
.trust-indicators-grid {
grid-template-columns: repeat(2, 1fr);
gap: 30px;
padding: 0 20px;
}
.stat-item-last {
grid-column: 1 / -1;
justify-self: center;
max-width: 200px;
}
}
</style> </style>

View File

@@ -6,16 +6,16 @@
<h2 class="section-title warm">Why Choose Harbor Smith?</h2> <h2 class="section-title warm">Why Choose Harbor Smith?</h2>
<p class="lead-text"> <p class="lead-text">
We're the San Francisco Bay Area's premier mobile boat maintenance service. We're the San Francisco Bay Area's premier mobile boat maintenance service.
Our professional team brings expert care directly to your dock, ensuring your vessel stays in pristine condition year-round. Our professional team provides expert care, ensuring your vessel stays in pristine condition year-round.
</p> </p>
<div class="feature-list"> <div class="feature-list">
<div class="feature-item"> <div class="feature-item">
<span class="feature-icon"> <span class="feature-icon">
<LucideTruck /> <LucideWrench />
</span> </span>
<div> <div>
<h4>Mobile Service</h4> <h4>Tailored Service</h4>
<p>We come to you - convenient service at your dock or marina</p> <p>We provide highly customized service that fits your needs.</p>
</div> </div>
</div> </div>
<div class="feature-item"> <div class="feature-item">

View File

@@ -30,7 +30,7 @@ useHead({
meta: [ meta: [
{ {
name: 'description', name: 'description',
content: 'Keep your vessel pristine with San Francisco Bay\'s premier mobile boat maintenance service.' content: 'Reliable Care Above and Below the Waterline. Servicing the Bay Area and Beyond!'
}, },
{ {
property: 'og:title', property: 'og:title',
@@ -38,7 +38,7 @@ useHead({
}, },
{ {
property: 'og:description', property: 'og:description',
content: 'Keep your vessel pristine with San Francisco Bay\'s premier mobile boat maintenance service.' content: 'Reliable Care Above and Below the Waterline. Servicing the Bay Area and Beyond!'
}, },
{ {
property: 'og:image', property: 'og:image',