Track _site/ in repo for direct Caddy deployment
1
.gitignore
vendored
@@ -1,4 +1,3 @@
|
||||
node_modules/
|
||||
_site/
|
||||
.DS_Store
|
||||
*.log
|
||||
|
||||
284
_site/about/index.html
Normal file
@@ -0,0 +1,284 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>About Diana | HER</title>
|
||||
|
||||
|
||||
<meta name="description" content="Meet Diana — San Francisco's trusted handywoman. Decades of experience, aerospace project management background, and a passion for getting things done right.">
|
||||
|
||||
|
||||
<link rel="canonical" href="https://her-sf.com/about/">
|
||||
|
||||
|
||||
<meta property="og:title" content="About Diana | HER">
|
||||
<meta property="og:description" content="Meet Diana — San Francisco's trusted handywoman. Decades of experience, aerospace project management background, and a passion for getting things done right.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://her-sf.com/about/">
|
||||
<meta property="og:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="About Diana | HER">
|
||||
<meta name="twitter:description" content="Meet Diana — San Francisco's trusted handywoman. Decades of experience, aerospace project management background, and a passion for getting things done right.">
|
||||
<meta name="twitter:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@1,9..144,400&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600&display=swap">
|
||||
|
||||
<link rel="stylesheet" href="../css/main.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "LocalBusiness",
|
||||
"@id": "https://her-sf.com/#business",
|
||||
"name": "Home Enhancement and Renovation — HER",
|
||||
"url": "https://her-sf.com",
|
||||
"telephone": "+16508339380",
|
||||
"email": "diana@spotlighthis.com",
|
||||
"image": "https://her-sf.com/assets/diana_photo-min-1-scaled.webp",
|
||||
"priceRange": "$$",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"addressLocality": "San Francisco",
|
||||
"addressRegion": "CA",
|
||||
"addressCountry": "US"
|
||||
},
|
||||
"geo": {
|
||||
"@type": "GeoCoordinates",
|
||||
"latitude": 37.7749,
|
||||
"longitude": -122.4194
|
||||
},
|
||||
"areaServed": [
|
||||
"San Francisco", "Oakland", "Berkeley", "San Jose", "Palo Alto",
|
||||
"Marin County", "Tiburon", "Sausalito", "Daly City",
|
||||
"South San Francisco", "Burlingame", "San Mateo", "Redwood City",
|
||||
"Menlo Park", "Fremont", "Alameda"
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a href="#main-content" class="skip-link">Skip to main content</a>
|
||||
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav__inner container">
|
||||
|
||||
<a href="../index.html" class="nav__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="nav__brand-her">HER</span>
|
||||
<span class="nav__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="nav__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
|
||||
<nav aria-label="Main navigation">
|
||||
<ul class="nav__links" role="list">
|
||||
<li><a href="../about/index.html">About</a></li>
|
||||
<li><a href="../services/index.html">Services</a></li>
|
||||
<li><a href="../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="nav__actions">
|
||||
<a href="tel:+16508339380" class="nav__phone" aria-label="Call Diana at (650) 833-9380">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
||||
<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.4 2 2 0 0 1 3.6 1.22h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L7.91 8.78a16 16 0 0 0 6 6l.92-.92a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 21.5 16h.5a2 2 0 0 1 .02.92z"/>
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<a href="../contact/index.html" class="btn btn--primary" style="display:none" id="nav-cta">Request a Quote</a>
|
||||
|
||||
<button
|
||||
class="nav__toggle"
|
||||
aria-label="Open menu"
|
||||
aria-expanded="false"
|
||||
aria-controls="nav-overlay"
|
||||
>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="nav__overlay" id="nav-overlay" hidden>
|
||||
<button class="nav__overlay-close" aria-label="Close menu">✕</button>
|
||||
<nav aria-label="Mobile navigation">
|
||||
<ul role="list">
|
||||
<li><a href="../about/index.html">About</a></li>
|
||||
<li><a href="../services/index.html">Services</a></li>
|
||||
<li><a href="../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<a href="../contact/index.html" class="btn btn--ghost-white btn--full">Request a Quote</a>
|
||||
<a href="tel:+16508339380" class="nav__overlay-phone">(650) 833-9380</a>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<main id="main-content">
|
||||
|
||||
|
||||
<section class="page-hero bg-graphite">
|
||||
<div class="page-hero__inner container">
|
||||
<p class="section-eyebrow">About Diana</p>
|
||||
<h1 class="page-hero__title">Built to fix things.<br>Built to last.</h1>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section class="about-page section">
|
||||
<div class="about-page__grid container">
|
||||
|
||||
<div class="about-page__image">
|
||||
<img
|
||||
src="../assets/diana_photo-min-1-scaled.webp"
|
||||
alt="Diana on a sailboat with the Golden Gate Bridge in the background."
|
||||
loading="eager"
|
||||
width="800"
|
||||
height="1067"
|
||||
>
|
||||
</div>
|
||||
|
||||
<div class="about-page__content">
|
||||
<p class="section-eyebrow">My story</p>
|
||||
<h2>A lifetime of craft,<br>sharpened by aerospace.</h2>
|
||||
|
||||
<div class="about-page__bio">
|
||||
<p>My passion has always been building and fixing things. My early professional experience includes interior and exterior residential painting. As a tile setter, I realized I could provide better services and began my own tile company, where I provided both commercial and residential installations for over 200 customers.</p>
|
||||
<p>As my passion continued to develop, it led me to an opportunity to work as an airline mechanic and satellite engineer. Aerospace gave me the opportunity to manage large multimillion-dollar projects where I gained project management, engineering design, and material procurement expertise.</p>
|
||||
<p>After a long career in aerospace, I wanted to return to my passion of working with people and help them complete the project of their dreams.</p>
|
||||
</div>
|
||||
|
||||
<blockquote class="about-page__pullquote">
|
||||
<p>Over 200 tile installations. Multimillion-dollar aerospace projects. Now she's working on yours.</p>
|
||||
</blockquote>
|
||||
|
||||
<a href="../contact/index.html" class="btn btn--primary">Request a Quote</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section class="cta-band" aria-label="Call to action">
|
||||
<div class="cta-band__inner">
|
||||
<p class="section-eyebrow">Ready to get started?</p>
|
||||
<h2 class="cta-band__title">Let's talk about your project.</h2>
|
||||
<p class="cta-band__sub">Diana responds within 1–2 business days.</p>
|
||||
<a href="../contact/index.html" class="btn btn--ghost-white">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__inner container">
|
||||
|
||||
<div>
|
||||
<a href="../index.html" class="footer__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="footer__brand-her">HER</span>
|
||||
<span class="footer__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="footer__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<nav aria-label="Footer navigation">
|
||||
<p class="footer__nav-heading">Services in the Bay Area</p>
|
||||
<div class="footer__nav-cols">
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
<li><a href="../services/painting/index.html">Painting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/tile-setting/index.html">Tile Setting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/drywall/index.html">Drywall & Sheetrocking</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/plumbing/index.html">Minor Plumbing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/electrical/index.html">Minor Electrical</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/carpentry-and-mounting/index.html">Carpentry & Mounting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/flooring/index.html">Flooring & Wood Refinishing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/security-safety/index.html">Security & Safety Equipment</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/boat-work/index.html">Boat Work</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div>
|
||||
<p class="footer__nav-heading">Contact</p>
|
||||
<div class="footer__contact">
|
||||
<a href="tel:+16508339380">(650) 833-9380</a>
|
||||
<a href="mailto:diana@spotlighthis.com">diana@spotlighthis.com</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="footer__bottom">
|
||||
<div class="container">
|
||||
<p>© 2026 Home Enhancement & Restoration — HER. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
<script src="../js/main.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
BIN
_site/assets/Group-433.png
Normal file
|
After Width: | Height: | Size: 131 KiB |
BIN
_site/assets/boat-work-min-scaled.jpg
Normal file
|
After Width: | Height: | Size: 229 KiB |
BIN
_site/assets/diana_photo-min-1-scaled.webp
Normal file
|
After Width: | Height: | Size: 170 KiB |
BIN
_site/assets/electrical-1-min.jpg
Normal file
|
After Width: | Height: | Size: 47 KiB |
BIN
_site/assets/electrical-2-min.jpg
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
_site/assets/electrical-3-min.jpg
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
_site/assets/electrical-4-min.jpg
Normal file
|
After Width: | Height: | Size: 61 KiB |
BIN
_site/assets/electrical-5-min.jpg
Normal file
|
After Width: | Height: | Size: 72 KiB |
BIN
_site/assets/electrical-6-min-1.jpg
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
_site/assets/electrical-7-min-768x1165.jpg
Normal file
|
After Width: | Height: | Size: 65 KiB |
BIN
_site/assets/electrical-7-min.jpg
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
_site/assets/electrical-8-min.jpg
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
_site/assets/grab-bar-min.png
Normal file
|
After Width: | Height: | Size: 89 KiB |
BIN
_site/assets/painting-1-min-1429x1536.png
Normal file
|
After Width: | Height: | Size: 668 KiB |
BIN
_site/assets/painting-1-min.png
Normal file
|
After Width: | Height: | Size: 339 KiB |
BIN
_site/assets/painting-2-min.png
Normal file
|
After Width: | Height: | Size: 435 KiB |
BIN
_site/assets/painting-3-min.jpg
Normal file
|
After Width: | Height: | Size: 132 KiB |
BIN
_site/assets/painting-4-min.jpg
Normal file
|
After Width: | Height: | Size: 144 KiB |
BIN
_site/assets/painting-5-min.jpg
Normal file
|
After Width: | Height: | Size: 142 KiB |
BIN
_site/assets/painting-6-min.jpg
Normal file
|
After Width: | Height: | Size: 103 KiB |
BIN
_site/assets/painting-7-min.jpg
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
_site/assets/painting-8-min.jpg
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
_site/assets/plumbing-2-min.png
Normal file
|
After Width: | Height: | Size: 87 KiB |
BIN
_site/assets/plumbing-3-min.png
Normal file
|
After Width: | Height: | Size: 141 KiB |
BIN
_site/assets/plumbing-4-min.png
Normal file
|
After Width: | Height: | Size: 273 KiB |
BIN
_site/assets/plumbing-5-min.png
Normal file
|
After Width: | Height: | Size: 66 KiB |
BIN
_site/assets/plumbing-6-min.png
Normal file
|
After Width: | Height: | Size: 147 KiB |
BIN
_site/assets/plumbing-7-min.png
Normal file
|
After Width: | Height: | Size: 75 KiB |
BIN
_site/assets/plumbing-8-min.png
Normal file
|
After Width: | Height: | Size: 140 KiB |
BIN
_site/assets/security-garage-door-min.png
Normal file
|
After Width: | Height: | Size: 199 KiB |
BIN
_site/assets/sheetrocking-1-min.png
Normal file
|
After Width: | Height: | Size: 102 KiB |
BIN
_site/assets/sheetrocking-2-min.png
Normal file
|
After Width: | Height: | Size: 157 KiB |
BIN
_site/assets/sheetrocking-3-min.png
Normal file
|
After Width: | Height: | Size: 134 KiB |
BIN
_site/assets/sheetrocking-4-min.jpg
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
_site/assets/sheetrocking-5-min.png
Normal file
|
After Width: | Height: | Size: 220 KiB |
BIN
_site/assets/tile-setting-1-min.png
Normal file
|
After Width: | Height: | Size: 356 KiB |
BIN
_site/assets/tile-setting-2-min.png
Normal file
|
After Width: | Height: | Size: 1.7 MiB |
BIN
_site/assets/tile-setting-3-min.png
Normal file
|
After Width: | Height: | Size: 250 KiB |
BIN
_site/assets/tile-setting-4-min.png
Normal file
|
After Width: | Height: | Size: 381 KiB |
BIN
_site/assets/tile-setting-5-min.png
Normal file
|
After Width: | Height: | Size: 367 KiB |
BIN
_site/assets/tile-setting-6-min.png
Normal file
|
After Width: | Height: | Size: 434 KiB |
BIN
_site/assets/tile-setting-7-min.png
Normal file
|
After Width: | Height: | Size: 273 KiB |
BIN
_site/assets/tile-setting-8-min.png
Normal file
|
After Width: | Height: | Size: 160 KiB |
BIN
_site/assets/wood-refinishing-1-min.png
Normal file
|
After Width: | Height: | Size: 286 KiB |
BIN
_site/assets/wood-refinishing-2-min.png
Normal file
|
After Width: | Height: | Size: 158 KiB |
BIN
_site/assets/wood-refinishing-3-min.png
Normal file
|
After Width: | Height: | Size: 257 KiB |
BIN
_site/assets/wood-refinishing-4-min.png
Normal file
|
After Width: | Height: | Size: 180 KiB |
BIN
_site/assets/wood-refinishing-5-min.png
Normal file
|
After Width: | Height: | Size: 251 KiB |
BIN
_site/assets/wood-refinishing-6-min.png
Normal file
|
After Width: | Height: | Size: 97 KiB |
BIN
_site/assets/wood-refinishing-7-min.png
Normal file
|
After Width: | Height: | Size: 95 KiB |
BIN
_site/assets/wood-refinishing-8-min.png
Normal file
|
After Width: | Height: | Size: 86 KiB |
BIN
_site/assets/wood-refinishing-9-min.png
Normal file
|
After Width: | Height: | Size: 254 KiB |
387
_site/contact/index.html
Normal file
@@ -0,0 +1,387 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Request a Quote | HER</title>
|
||||
|
||||
|
||||
<meta name="description" content="Request a quote from Diana — San Francisco's trusted handywoman. Tell her about your project and she'll get back to you within 1–2 business days.">
|
||||
|
||||
|
||||
<link rel="canonical" href="https://her-sf.com/contact/">
|
||||
|
||||
|
||||
<meta property="og:title" content="Request a Quote | HER">
|
||||
<meta property="og:description" content="Request a quote from Diana — San Francisco's trusted handywoman. Tell her about your project and she'll get back to you within 1–2 business days.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://her-sf.com/contact/">
|
||||
<meta property="og:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Request a Quote | HER">
|
||||
<meta name="twitter:description" content="Request a quote from Diana — San Francisco's trusted handywoman. Tell her about your project and she'll get back to you within 1–2 business days.">
|
||||
<meta name="twitter:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@1,9..144,400&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600&display=swap">
|
||||
|
||||
<link rel="stylesheet" href="../css/main.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "LocalBusiness",
|
||||
"@id": "https://her-sf.com/#business",
|
||||
"name": "Home Enhancement and Renovation — HER",
|
||||
"url": "https://her-sf.com",
|
||||
"telephone": "+16508339380",
|
||||
"email": "diana@spotlighthis.com",
|
||||
"image": "https://her-sf.com/assets/diana_photo-min-1-scaled.webp",
|
||||
"priceRange": "$$",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"addressLocality": "San Francisco",
|
||||
"addressRegion": "CA",
|
||||
"addressCountry": "US"
|
||||
},
|
||||
"geo": {
|
||||
"@type": "GeoCoordinates",
|
||||
"latitude": 37.7749,
|
||||
"longitude": -122.4194
|
||||
},
|
||||
"areaServed": [
|
||||
"San Francisco", "Oakland", "Berkeley", "San Jose", "Palo Alto",
|
||||
"Marin County", "Tiburon", "Sausalito", "Daly City",
|
||||
"South San Francisco", "Burlingame", "San Mateo", "Redwood City",
|
||||
"Menlo Park", "Fremont", "Alameda"
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a href="#main-content" class="skip-link">Skip to main content</a>
|
||||
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav__inner container">
|
||||
|
||||
<a href="../index.html" class="nav__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="nav__brand-her">HER</span>
|
||||
<span class="nav__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="nav__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
|
||||
<nav aria-label="Main navigation">
|
||||
<ul class="nav__links" role="list">
|
||||
<li><a href="../about/index.html">About</a></li>
|
||||
<li><a href="../services/index.html">Services</a></li>
|
||||
<li><a href="../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="nav__actions">
|
||||
<a href="tel:+16508339380" class="nav__phone" aria-label="Call Diana at (650) 833-9380">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
||||
<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.4 2 2 0 0 1 3.6 1.22h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L7.91 8.78a16 16 0 0 0 6 6l.92-.92a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 21.5 16h.5a2 2 0 0 1 .02.92z"/>
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<a href="../contact/index.html" class="btn btn--primary" style="display:none" id="nav-cta">Request a Quote</a>
|
||||
|
||||
<button
|
||||
class="nav__toggle"
|
||||
aria-label="Open menu"
|
||||
aria-expanded="false"
|
||||
aria-controls="nav-overlay"
|
||||
>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="nav__overlay" id="nav-overlay" hidden>
|
||||
<button class="nav__overlay-close" aria-label="Close menu">✕</button>
|
||||
<nav aria-label="Mobile navigation">
|
||||
<ul role="list">
|
||||
<li><a href="../about/index.html">About</a></li>
|
||||
<li><a href="../services/index.html">Services</a></li>
|
||||
<li><a href="../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<a href="../contact/index.html" class="btn btn--ghost-white btn--full">Request a Quote</a>
|
||||
<a href="tel:+16508339380" class="nav__overlay-phone">(650) 833-9380</a>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<main id="main-content">
|
||||
|
||||
|
||||
<section class="page-hero bg-graphite">
|
||||
<div class="page-hero__inner container">
|
||||
<p class="section-eyebrow">Get in touch</p>
|
||||
<h1 class="page-hero__title">Request a Quote.</h1>
|
||||
<p class="page-hero__lead">Tell Diana about your project. She responds within 1–2 business days.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section class="contact-page section">
|
||||
<div class="contact-page__grid container">
|
||||
|
||||
|
||||
<div>
|
||||
<form class="quote-form" id="quote-form" novalidate aria-label="Quote request form">
|
||||
|
||||
|
||||
<div class="visually-trap" aria-hidden="true">
|
||||
<label for="website">Leave this blank</label>
|
||||
<input type="text" id="website" name="website" tabindex="-1" autocomplete="off">
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-error-banner" role="alert" aria-live="assertive" hidden>
|
||||
<p>Please correct the errors below before sending.</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-field">
|
||||
<label for="name">Your name <span aria-hidden="true">*</span></label>
|
||||
<input
|
||||
type="text"
|
||||
id="name"
|
||||
name="name"
|
||||
required
|
||||
autocomplete="name"
|
||||
aria-required="true"
|
||||
aria-describedby="name-error"
|
||||
>
|
||||
<p class="form-field__error" id="name-error" aria-live="polite"></p>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-field">
|
||||
<label for="address">Project address <span aria-hidden="true">*</span></label>
|
||||
<input
|
||||
type="text"
|
||||
id="address"
|
||||
name="address"
|
||||
required
|
||||
autocomplete="off"
|
||||
aria-required="true"
|
||||
aria-describedby="address-hint address-error"
|
||||
>
|
||||
<p class="form-field__hint" id="address-hint">Where is the work located? City or full address.</p>
|
||||
<p class="form-field__error" id="address-error" aria-live="polite"></p>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-field">
|
||||
<label for="phone">Phone number <span aria-hidden="true">*</span></label>
|
||||
<input
|
||||
type="tel"
|
||||
id="phone"
|
||||
name="phone"
|
||||
required
|
||||
inputmode="tel"
|
||||
autocomplete="tel"
|
||||
aria-required="true"
|
||||
aria-describedby="phone-error"
|
||||
>
|
||||
<p class="form-field__error" id="phone-error" aria-live="polite"></p>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-field">
|
||||
<label for="email">Email address <span aria-hidden="true">*</span></label>
|
||||
<input
|
||||
type="email"
|
||||
id="email"
|
||||
name="email"
|
||||
required
|
||||
inputmode="email"
|
||||
autocomplete="email"
|
||||
aria-required="true"
|
||||
aria-describedby="email-error"
|
||||
>
|
||||
<p class="form-field__error" id="email-error" aria-live="polite"></p>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-field">
|
||||
<label for="description">Project description <span aria-hidden="true">*</span></label>
|
||||
<textarea
|
||||
id="description"
|
||||
name="description"
|
||||
rows="5"
|
||||
required
|
||||
aria-required="true"
|
||||
aria-describedby="description-hint description-char-count description-error"
|
||||
></textarea>
|
||||
<p class="form-field__hint" id="description-hint">What needs to be fixed, replaced, or improved?</p>
|
||||
<p class="form-field__char-count" id="description-char-count" aria-live="polite"></p>
|
||||
<p class="form-field__error" id="description-error" aria-live="polite"></p>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn--primary form__submit">Send My Request</button>
|
||||
|
||||
|
||||
<div class="form-success" role="status" hidden>
|
||||
<p class="form-success__icon" aria-hidden="true">✓</p>
|
||||
<h2 class="form-success__title">Your request is on its way!</h2>
|
||||
<p class="form-success__body">Diana will review your request and get back to you within 1–2 business days. If your project is urgent, you can also reach her directly at <a href="tel:+16508339380">(650) 833-9380</a>.</p>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
<aside class="contact-secondary">
|
||||
<h2>Other ways to reach Diana</h2>
|
||||
|
||||
<div class="contact-secondary__method">
|
||||
<span class="contact-secondary__icon" aria-hidden="true">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
||||
<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.4 2 2 0 0 1 3.6 1.22h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L7.91 8.78a16 16 0 0 0 6 6l.92-.92a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 21.5 16h.5a2 2 0 0 1 .02.92z"/>
|
||||
</svg>
|
||||
</span>
|
||||
<div>
|
||||
<p class="contact-secondary__label">Call or text</p>
|
||||
<a href="tel:+16508339380" class="contact-secondary__value">(650) 833-9380</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="contact-secondary__method">
|
||||
<span class="contact-secondary__icon" aria-hidden="true">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
||||
<path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"/>
|
||||
<polyline points="22,6 12,13 2,6"/>
|
||||
</svg>
|
||||
</span>
|
||||
<div>
|
||||
<p class="contact-secondary__label">Email</p>
|
||||
<a href="mailto:diana@spotlighthis.com" class="contact-secondary__value">diana@spotlighthis.com</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p>For urgent repairs, calling is fastest.</p>
|
||||
|
||||
<p class="contact-secondary__area">Diana serves San Francisco and the Bay Area (within 50 miles).</p>
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__inner container">
|
||||
|
||||
<div>
|
||||
<a href="../index.html" class="footer__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="footer__brand-her">HER</span>
|
||||
<span class="footer__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="footer__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<nav aria-label="Footer navigation">
|
||||
<p class="footer__nav-heading">Services in the Bay Area</p>
|
||||
<div class="footer__nav-cols">
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
<li><a href="../services/painting/index.html">Painting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/tile-setting/index.html">Tile Setting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/drywall/index.html">Drywall & Sheetrocking</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/plumbing/index.html">Minor Plumbing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/electrical/index.html">Minor Electrical</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/carpentry-and-mounting/index.html">Carpentry & Mounting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/flooring/index.html">Flooring & Wood Refinishing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/security-safety/index.html">Security & Safety Equipment</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/boat-work/index.html">Boat Work</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div>
|
||||
<p class="footer__nav-heading">Contact</p>
|
||||
<div class="footer__contact">
|
||||
<a href="tel:+16508339380">(650) 833-9380</a>
|
||||
<a href="mailto:diana@spotlighthis.com">diana@spotlighthis.com</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="footer__bottom">
|
||||
<div class="container">
|
||||
<p>© 2026 Home Enhancement & Restoration — HER. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
<script src="../js/main.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
1907
_site/css/main.css
Normal file
551
_site/index.html
Normal file
@@ -0,0 +1,551 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Handywoman San Francisco | HER</title>
|
||||
|
||||
|
||||
<meta name="description" content="San Francisco's trusted handywoman — precise, reliable, and easy to work with. Diana brings aerospace-level project coordination to your home. Request a quote.">
|
||||
|
||||
|
||||
<link rel="canonical" href="https://her-sf.com/">
|
||||
|
||||
|
||||
<meta property="og:title" content="Handywoman San Francisco | HER">
|
||||
<meta property="og:description" content="San Francisco's trusted handywoman — precise, reliable, and easy to work with. Diana brings aerospace-level project coordination to your home. Request a quote.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://her-sf.com/">
|
||||
<meta property="og:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Handywoman San Francisco | HER">
|
||||
<meta name="twitter:description" content="San Francisco's trusted handywoman — precise, reliable, and easy to work with. Diana brings aerospace-level project coordination to your home. Request a quote.">
|
||||
<meta name="twitter:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@1,9..144,400&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600&display=swap">
|
||||
|
||||
<link rel="stylesheet" href="./css/main.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "LocalBusiness",
|
||||
"@id": "https://her-sf.com/#business",
|
||||
"name": "Home Enhancement and Renovation — HER",
|
||||
"url": "https://her-sf.com",
|
||||
"telephone": "+16508339380",
|
||||
"email": "diana@spotlighthis.com",
|
||||
"image": "https://her-sf.com/assets/diana_photo-min-1-scaled.webp",
|
||||
"priceRange": "$$",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"addressLocality": "San Francisco",
|
||||
"addressRegion": "CA",
|
||||
"addressCountry": "US"
|
||||
},
|
||||
"geo": {
|
||||
"@type": "GeoCoordinates",
|
||||
"latitude": 37.7749,
|
||||
"longitude": -122.4194
|
||||
},
|
||||
"areaServed": [
|
||||
"San Francisco", "Oakland", "Berkeley", "San Jose", "Palo Alto",
|
||||
"Marin County", "Tiburon", "Sausalito", "Daly City",
|
||||
"South San Francisco", "Burlingame", "San Mateo", "Redwood City",
|
||||
"Menlo Park", "Fremont", "Alameda"
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a href="#main-content" class="skip-link">Skip to main content</a>
|
||||
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav__inner container">
|
||||
|
||||
<a href="./index.html" class="nav__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="nav__brand-her">HER</span>
|
||||
<span class="nav__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="nav__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
|
||||
<nav aria-label="Main navigation">
|
||||
<ul class="nav__links" role="list">
|
||||
<li><a href="./about/index.html">About</a></li>
|
||||
<li><a href="./services/index.html">Services</a></li>
|
||||
<li><a href="./testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="./contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="nav__actions">
|
||||
<a href="tel:+16508339380" class="nav__phone" aria-label="Call Diana at (650) 833-9380">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
||||
<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.4 2 2 0 0 1 3.6 1.22h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L7.91 8.78a16 16 0 0 0 6 6l.92-.92a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 21.5 16h.5a2 2 0 0 1 .02.92z"/>
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<a href="./contact/index.html" class="btn btn--primary" style="display:none" id="nav-cta">Request a Quote</a>
|
||||
|
||||
<button
|
||||
class="nav__toggle"
|
||||
aria-label="Open menu"
|
||||
aria-expanded="false"
|
||||
aria-controls="nav-overlay"
|
||||
>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="nav__overlay" id="nav-overlay" hidden>
|
||||
<button class="nav__overlay-close" aria-label="Close menu">✕</button>
|
||||
<nav aria-label="Mobile navigation">
|
||||
<ul role="list">
|
||||
<li><a href="./about/index.html">About</a></li>
|
||||
<li><a href="./services/index.html">Services</a></li>
|
||||
<li><a href="./testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="./contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<a href="./contact/index.html" class="btn btn--ghost-white btn--full">Request a Quote</a>
|
||||
<a href="tel:+16508339380" class="nav__overlay-phone">(650) 833-9380</a>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<main id="main-content">
|
||||
|
||||
|
||||
<section class="hero">
|
||||
<div class="hero__inner container">
|
||||
|
||||
<div class="hero__content">
|
||||
<p class="section-eyebrow">San Francisco Handywoman</p>
|
||||
<h1 class="display-title">Fix it right.<br>The first time.</h1>
|
||||
<p class="lead-text">Precise, reliable, and easy to work with — Diana brings aerospace-level project coordination to your home improvement project.</p>
|
||||
|
||||
<div class="hero__actions">
|
||||
<a href="./contact/index.html" class="btn btn--primary">Request a Quote</a>
|
||||
<div class="hero__contact">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
||||
<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.4 2 2 0 0 1 3.6 1.22h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L7.91 8.78a16 16 0 0 0 6 6l.92-.92a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 21.5 16h.5a2 2 0 0 1 .02.92z"/>
|
||||
</svg>
|
||||
<a href="tel:+16508339380">(650) 833-9380</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="hero__image">
|
||||
<img
|
||||
src="./assets/diana_photo-min-1-scaled.webp"
|
||||
alt="Diana on a sailboat with the Golden Gate Bridge in the background, smiling."
|
||||
loading="eager"
|
||||
fetchpriority="high"
|
||||
width="1440"
|
||||
height="1920"
|
||||
>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section class="services-section section bg-linen">
|
||||
<div class="services-section__header container">
|
||||
<p class="section-eyebrow">What Diana does</p>
|
||||
<h2>Services for every room — and beyond.</h2>
|
||||
</div>
|
||||
|
||||
<div class="services-grid container">
|
||||
|
||||
<a href="./services/painting/index.html" class="service-card fade-up">
|
||||
<div class="service-card__image">
|
||||
<img
|
||||
src="./assets/painting-5-min.jpg"
|
||||
alt="Exterior of a dark brown house with red-framed windows, freshly painted."
|
||||
loading="lazy"
|
||||
>
|
||||
</div>
|
||||
<div class="service-card__body">
|
||||
<p class="service-card__name">Painting</p>
|
||||
<p class="service-card__desc">Interior and exterior painting, including trim work.</p>
|
||||
<span class="service-card__arrow" aria-hidden="true">→</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="./services/tile-setting/index.html" class="service-card fade-up">
|
||||
<div class="service-card__image">
|
||||
<img
|
||||
src="./assets/tile-setting-4-min.png"
|
||||
alt="Modern bathroom with brown tiled walls and a white sink, freshly tiled."
|
||||
loading="lazy"
|
||||
>
|
||||
</div>
|
||||
<div class="service-card__body">
|
||||
<p class="service-card__name">Tile Setting</p>
|
||||
<p class="service-card__desc">Removing and installing all sizes of tiles in kitchens, bathrooms, entryways, and patios.</p>
|
||||
<span class="service-card__arrow" aria-hidden="true">→</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="./services/drywall/index.html" class="service-card fade-up">
|
||||
<div class="service-card__image">
|
||||
<img
|
||||
src="./assets/sheetrocking-1-min.png"
|
||||
alt="Hands applying joint compound to patch a square hole in a wall."
|
||||
loading="lazy"
|
||||
>
|
||||
</div>
|
||||
<div class="service-card__body">
|
||||
<p class="service-card__name">Drywall & Sheetrocking</p>
|
||||
<p class="service-card__desc">Drywall and sheetrocking — removing, replacing, patching, and sanding.</p>
|
||||
<span class="service-card__arrow" aria-hidden="true">→</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="./services/plumbing/index.html" class="service-card fade-up">
|
||||
<div class="service-card__image">
|
||||
<img
|
||||
src="./assets/plumbing-3-min.png"
|
||||
alt="Dual-basin stainless steel kitchen sink with a high-arc faucet, newly installed."
|
||||
loading="lazy"
|
||||
>
|
||||
</div>
|
||||
<div class="service-card__body">
|
||||
<p class="service-card__name">Minor Plumbing</p>
|
||||
<p class="service-card__desc">Minor plumbing work including sink, toilet, and shower repairs.</p>
|
||||
<span class="service-card__arrow" aria-hidden="true">→</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="./services/electrical/index.html" class="service-card fade-up">
|
||||
<div class="service-card__image">
|
||||
<img
|
||||
src="./assets/electrical-7-min.jpg"
|
||||
alt="Person installing a ceiling light fixture, connecting wires safely."
|
||||
loading="lazy"
|
||||
>
|
||||
</div>
|
||||
<div class="service-card__body">
|
||||
<p class="service-card__name">Minor Electrical</p>
|
||||
<p class="service-card__desc">Minor electrical work, including installing lights and fans.</p>
|
||||
<span class="service-card__arrow" aria-hidden="true">→</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="./services/carpentry-and-mounting/index.html" class="service-card fade-up">
|
||||
<div class="service-card__image">
|
||||
<img
|
||||
src="./assets/wood-refinishing-4-min.png"
|
||||
alt="Electric sander smoothing a wooden surface for carpentry work."
|
||||
loading="lazy"
|
||||
>
|
||||
</div>
|
||||
<div class="service-card__body">
|
||||
<p class="service-card__name">Carpentry & Mounting</p>
|
||||
<p class="service-card__desc">Carpentry, shelving installation, TV mounting, cabinet repairs, and trim work.</p>
|
||||
<span class="service-card__arrow" aria-hidden="true">→</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="./services/flooring/index.html" class="service-card fade-up">
|
||||
<div class="service-card__image">
|
||||
<img
|
||||
src="./assets/wood-refinishing-7-min.png"
|
||||
alt="Hardwood floor half sanded and restored, showing the before and after."
|
||||
loading="lazy"
|
||||
>
|
||||
</div>
|
||||
<div class="service-card__body">
|
||||
<p class="service-card__name">Flooring & Wood Refinishing</p>
|
||||
<p class="service-card__desc">Flooring touch-ups and wood refinishing for floors, decks, stairs, cabinets, and more.</p>
|
||||
<span class="service-card__arrow" aria-hidden="true">→</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="./services/security-safety/index.html" class="service-card fade-up">
|
||||
<div class="service-card__image">
|
||||
<img
|
||||
src="./assets/grab-bar-min.png"
|
||||
alt="White grab bar securely mounted to a bathroom wall for safety."
|
||||
loading="lazy"
|
||||
>
|
||||
</div>
|
||||
<div class="service-card__body">
|
||||
<p class="service-card__name">Security & Safety Equipment</p>
|
||||
<p class="service-card__desc">Grab bars, security bars, window mesh, and security camera installation.</p>
|
||||
<span class="service-card__arrow" aria-hidden="true">→</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="./services/boat-work/index.html" class="service-card fade-up">
|
||||
<div class="service-card__image">
|
||||
<img
|
||||
src="./assets/boat-work-min-scaled.jpg"
|
||||
alt="Yellow and white sailboat docked at a marina in the San Francisco Bay."
|
||||
loading="lazy"
|
||||
>
|
||||
</div>
|
||||
<div class="service-card__body">
|
||||
<p class="service-card__name">Boat Work</p>
|
||||
<p class="service-card__desc">Boat woodwork, spray paint, and marine hardware replacement.</p>
|
||||
<span class="service-card__arrow" aria-hidden="true">→</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section class="why-her section bg-mist">
|
||||
<div class="why-her__header container">
|
||||
<p class="section-eyebrow">Why choose HER</p>
|
||||
<h2>What makes Diana different.</h2>
|
||||
</div>
|
||||
|
||||
<div class="why-her__grid container">
|
||||
|
||||
<div class="trust-pillar fade-up">
|
||||
<div class="trust-pillar__icon" aria-hidden="true">✓</div>
|
||||
<h3 class="trust-pillar__title">Reliable & Accountable</h3>
|
||||
<p class="trust-pillar__body">Diana sets a schedule and sticks to it. No chasing, no surprises — just clear communication and work delivered on time.</p>
|
||||
</div>
|
||||
|
||||
<div class="trust-pillar fade-up">
|
||||
<div class="trust-pillar__icon" aria-hidden="true">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
||||
<polyline points="23 4 23 10 17 10"/>
|
||||
<polyline points="1 20 1 14 7 14"/>
|
||||
<path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"/>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="trust-pillar__title">Project Coordination</h3>
|
||||
<p class="trust-pillar__body">With a background managing multimillion-dollar aerospace projects, Diana brings big-picture thinking and attention to detail to every home job.</p>
|
||||
</div>
|
||||
|
||||
<div class="trust-pillar fade-up">
|
||||
<div class="trust-pillar__icon" aria-hidden="true">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
||||
<path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="trust-pillar__title">Easy to Work With</h3>
|
||||
<p class="trust-pillar__body">Homeowners consistently describe working with Diana as refreshingly straightforward — honest pricing, calm approach, and no attitude.</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section class="testimonials-strip section bg-linen">
|
||||
<div class="testimonials-strip__header container">
|
||||
<p class="section-eyebrow">Client reviews</p>
|
||||
<h2>What people say.</h2>
|
||||
<a href="./testimonials/index.html" class="btn btn--secondary">All reviews</a>
|
||||
</div>
|
||||
|
||||
<div class="testimonials-grid container">
|
||||
|
||||
|
||||
<div class="testimonial-card fade-up">
|
||||
<blockquote>
|
||||
<p class="testimonial-card__quote">“She is so reliable, talented, hardworking and resourceful.”</p>
|
||||
<footer>
|
||||
<p class="testimonial-card__author">Wendy Brummer</p>
|
||||
|
||||
<p class="testimonial-card__city">San Francisco</p>
|
||||
|
||||
</footer>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="testimonial-card fade-up">
|
||||
<blockquote>
|
||||
<p class="testimonial-card__quote">“Really dedicated to the best solution.”</p>
|
||||
<footer>
|
||||
<p class="testimonial-card__author">David Snyder</p>
|
||||
|
||||
<p class="testimonial-card__city">Oakland</p>
|
||||
|
||||
</footer>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section class="service-area section">
|
||||
<div class="container">
|
||||
<h2 class="service-area__title">Serving San Francisco and the Bay Area</h2>
|
||||
<p>Within 50 miles of San Francisco — from Marin County to Palo Alto and across the East Bay.</p>
|
||||
<ul class="service-area__cities" role="list">
|
||||
|
||||
<li class="service-area__city">San Francisco</li>
|
||||
|
||||
<li class="service-area__city">Oakland</li>
|
||||
|
||||
<li class="service-area__city">Berkeley</li>
|
||||
|
||||
<li class="service-area__city">San Jose</li>
|
||||
|
||||
<li class="service-area__city">Palo Alto</li>
|
||||
|
||||
<li class="service-area__city">Marin County</li>
|
||||
|
||||
<li class="service-area__city">Tiburon</li>
|
||||
|
||||
<li class="service-area__city">Sausalito</li>
|
||||
|
||||
<li class="service-area__city">Daly City</li>
|
||||
|
||||
<li class="service-area__city">South San Francisco</li>
|
||||
|
||||
<li class="service-area__city">Burlingame</li>
|
||||
|
||||
<li class="service-area__city">San Mateo</li>
|
||||
|
||||
<li class="service-area__city">Redwood City</li>
|
||||
|
||||
<li class="service-area__city">Menlo Park</li>
|
||||
|
||||
<li class="service-area__city">Fremont</li>
|
||||
|
||||
<li class="service-area__city">Alameda</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section class="cta-band" aria-label="Call to action">
|
||||
<div class="cta-band__inner">
|
||||
<p class="section-eyebrow">Ready to get started?</p>
|
||||
<h2 class="cta-band__title">Let's talk about your project.</h2>
|
||||
<p class="cta-band__sub">Diana responds within 1–2 business days.</p>
|
||||
<a href="./contact/index.html" class="btn btn--ghost-white">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__inner container">
|
||||
|
||||
<div>
|
||||
<a href="./index.html" class="footer__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="footer__brand-her">HER</span>
|
||||
<span class="footer__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="footer__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<nav aria-label="Footer navigation">
|
||||
<p class="footer__nav-heading">Services in the Bay Area</p>
|
||||
<div class="footer__nav-cols">
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
<li><a href="./services/painting/index.html">Painting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="./services/tile-setting/index.html">Tile Setting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="./services/drywall/index.html">Drywall & Sheetrocking</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="./services/plumbing/index.html">Minor Plumbing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="./services/electrical/index.html">Minor Electrical</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="./services/carpentry-and-mounting/index.html">Carpentry & Mounting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="./services/flooring/index.html">Flooring & Wood Refinishing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="./services/security-safety/index.html">Security & Safety Equipment</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="./services/boat-work/index.html">Boat Work</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div>
|
||||
<p class="footer__nav-heading">Contact</p>
|
||||
<div class="footer__contact">
|
||||
<a href="tel:+16508339380">(650) 833-9380</a>
|
||||
<a href="mailto:diana@spotlighthis.com">diana@spotlighthis.com</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="footer__bottom">
|
||||
<div class="container">
|
||||
<p>© 2026 Home Enhancement & Restoration — HER. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
<script src="./js/main.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
479
_site/js/main.js
Normal file
@@ -0,0 +1,479 @@
|
||||
/**
|
||||
* main.js — HER Home Enhancement and Renovation
|
||||
*
|
||||
* Sections:
|
||||
* 1. Navigation — mobile hamburger (focus trap, Escape, ARIA)
|
||||
* 2. Navigation — compact + CTA visibility on scroll
|
||||
* 3. Scroll-triggered fade-up animation (IntersectionObserver)
|
||||
* 4. Quote form — validation, character counter, submission
|
||||
*/
|
||||
|
||||
(function () {
|
||||
'use strict';
|
||||
|
||||
/* ============================================================
|
||||
1. Navigation — Mobile Hamburger
|
||||
============================================================ */
|
||||
|
||||
var navToggle = document.querySelector('.nav__toggle');
|
||||
var navOverlay = document.querySelector('.nav__overlay');
|
||||
var navOverlayClose = document.querySelector('.nav__overlay-close');
|
||||
|
||||
/**
|
||||
* Returns an array of focusable elements within a container,
|
||||
* in DOM order, skipping anything with tabindex="-1".
|
||||
*/
|
||||
function getFocusable(container) {
|
||||
return Array.from(
|
||||
container.querySelectorAll(
|
||||
'a[href], button:not([disabled]), input:not([disabled]), ' +
|
||||
'select:not([disabled]), textarea:not([disabled]), ' +
|
||||
'[tabindex]:not([tabindex="-1"])'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
function openNav() {
|
||||
if (!navOverlay || !navToggle) return;
|
||||
navOverlay.removeAttribute('hidden');
|
||||
navToggle.setAttribute('aria-expanded', 'true');
|
||||
navToggle.setAttribute('aria-label', 'Close menu');
|
||||
document.body.classList.add('nav-open');
|
||||
// Move focus into overlay — first focusable item
|
||||
var focusable = getFocusable(navOverlay);
|
||||
if (focusable.length) focusable[0].focus();
|
||||
}
|
||||
|
||||
function closeNav() {
|
||||
if (!navOverlay || !navToggle) return;
|
||||
navOverlay.setAttribute('hidden', '');
|
||||
navToggle.setAttribute('aria-expanded', 'false');
|
||||
navToggle.setAttribute('aria-label', 'Open menu');
|
||||
document.body.classList.remove('nav-open');
|
||||
navToggle.focus();
|
||||
}
|
||||
|
||||
if (navToggle) {
|
||||
navToggle.addEventListener('click', function () {
|
||||
if (navToggle.getAttribute('aria-expanded') === 'true') {
|
||||
closeNav();
|
||||
} else {
|
||||
openNav();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (navOverlayClose) {
|
||||
navOverlayClose.addEventListener('click', closeNav);
|
||||
}
|
||||
|
||||
if (navOverlay) {
|
||||
// Close when a nav link inside the overlay is clicked
|
||||
navOverlay.addEventListener('click', function (e) {
|
||||
if (e.target && e.target.tagName === 'A') {
|
||||
closeNav();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Keyboard handling: focus trap (Tab/Shift-Tab) and Escape close
|
||||
document.addEventListener('keydown', function (e) {
|
||||
if (!navOverlay || navOverlay.hasAttribute('hidden')) return;
|
||||
|
||||
if (e.key === 'Escape') {
|
||||
closeNav();
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.key === 'Tab') {
|
||||
var focusable = getFocusable(navOverlay);
|
||||
if (!focusable.length) {
|
||||
e.preventDefault();
|
||||
return;
|
||||
}
|
||||
var first = focusable[0];
|
||||
var last = focusable[focusable.length - 1];
|
||||
if (e.shiftKey) {
|
||||
// Shift-Tab on first → wrap to last
|
||||
if (document.activeElement === first) {
|
||||
e.preventDefault();
|
||||
last.focus();
|
||||
}
|
||||
} else {
|
||||
// Tab on last → wrap to first
|
||||
if (document.activeElement === last) {
|
||||
e.preventDefault();
|
||||
first.focus();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/* ============================================================
|
||||
2. Navigation — Compact on Scroll
|
||||
============================================================ */
|
||||
|
||||
var navEl = document.querySelector('.nav');
|
||||
// #nav-cta starts with style="display:none" in HTML; we manage via style.display
|
||||
var navCta = document.getElementById('nav-cta');
|
||||
|
||||
function handleNavScroll() {
|
||||
var y = window.scrollY;
|
||||
|
||||
if (navEl) {
|
||||
if (y > 80) {
|
||||
navEl.classList.add('nav--compact');
|
||||
} else {
|
||||
navEl.classList.remove('nav--compact');
|
||||
}
|
||||
}
|
||||
|
||||
if (navCta) {
|
||||
// Remove the inline display:none to show; restore it to hide
|
||||
navCta.style.display = y > 400 ? '' : 'none';
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener('scroll', handleNavScroll, { passive: true });
|
||||
// Apply immediately so state is correct before any scroll occurs
|
||||
handleNavScroll();
|
||||
|
||||
|
||||
/* ============================================================
|
||||
3. Scroll-triggered Fade-Up Animation
|
||||
============================================================ */
|
||||
|
||||
(function initFadeUp() {
|
||||
// Respect user's motion preference — CSS already handles the fallback
|
||||
if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;
|
||||
if (!('IntersectionObserver' in window)) return;
|
||||
|
||||
var fadeEls = document.querySelectorAll('.fade-up');
|
||||
if (!fadeEls.length) return;
|
||||
|
||||
var observer = new IntersectionObserver(function (entries) {
|
||||
entries.forEach(function (entry) {
|
||||
if (entry.isIntersecting) {
|
||||
entry.target.classList.add('is-visible');
|
||||
observer.unobserve(entry.target); // one-shot — never toggle back
|
||||
}
|
||||
});
|
||||
}, { threshold: 0.15 });
|
||||
|
||||
fadeEls.forEach(function (el) {
|
||||
observer.observe(el);
|
||||
});
|
||||
}());
|
||||
|
||||
|
||||
/* ============================================================
|
||||
4. Quote Form
|
||||
============================================================ */
|
||||
|
||||
(function initQuoteForm() {
|
||||
|
||||
/** POST destination — replace with your API Gateway invoke URL */
|
||||
var FORM_ENDPOINT = 'REPLACE_WITH_API_GATEWAY_URL';
|
||||
|
||||
var form = document.getElementById('quote-form');
|
||||
if (!form) return; // form not present on this page — bail out
|
||||
|
||||
// ── Element references ────────────────────────────────────
|
||||
|
||||
var honeypot = form.querySelector('input[name="website"]');
|
||||
var errorBanner = form.querySelector('.form-error-banner');
|
||||
var successPanel = form.querySelector('.form-success');
|
||||
var submitBtn = form.querySelector('.form__submit');
|
||||
var charCountEl = document.getElementById('description-char-count');
|
||||
var descriptionEl = document.getElementById('description');
|
||||
|
||||
var FIELD_IDS = ['name', 'address', 'phone', 'email', 'description'];
|
||||
|
||||
// Save original submit button label so we can restore it after an error
|
||||
var originalBtnText = submitBtn ? (submitBtn.textContent.trim() || 'Send Request') : 'Send Request';
|
||||
|
||||
// Ensure the error banner is focusable (needed for focus management)
|
||||
if (errorBanner && !errorBanner.hasAttribute('tabindex')) {
|
||||
errorBanner.setAttribute('tabindex', '-1');
|
||||
}
|
||||
|
||||
// ── Validation rules ──────────────────────────────────────
|
||||
|
||||
var RULES = {
|
||||
name: function (val) {
|
||||
return val.trim().length >= 2
|
||||
? null
|
||||
: 'Please enter your name.';
|
||||
},
|
||||
address: function (val) {
|
||||
return val.trim().length >= 3
|
||||
? null
|
||||
: 'Please enter the service address or city.';
|
||||
},
|
||||
phone: function (val) {
|
||||
return /^[+\d][\d\s\-().]{6,}$/.test(val.trim())
|
||||
? null
|
||||
: 'Please enter a valid phone number.';
|
||||
},
|
||||
email: function (val) {
|
||||
var v = val.trim();
|
||||
return (v.indexOf('@') !== -1 && v.indexOf('.') !== -1)
|
||||
? null
|
||||
: 'Please enter a valid email address.';
|
||||
},
|
||||
description: function (val) {
|
||||
return val.trim().length >= 10
|
||||
? null
|
||||
: 'Please describe your project (at least 10 characters).';
|
||||
}
|
||||
};
|
||||
|
||||
// ── Helper: show / clear individual field errors ──────────
|
||||
|
||||
/**
|
||||
* Mark a field as invalid and display its error message.
|
||||
* @param {string} fieldId - The field's id attribute value
|
||||
* @param {string} message - The error text to display
|
||||
*/
|
||||
function showError(fieldId, message) {
|
||||
var field = document.getElementById(fieldId);
|
||||
var errorEl = document.getElementById(fieldId + '-error');
|
||||
if (field) field.setAttribute('aria-invalid', 'true');
|
||||
if (errorEl) {
|
||||
errorEl.textContent = message;
|
||||
errorEl.removeAttribute('hidden');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark a field as valid and hide its error message.
|
||||
* @param {string} fieldId - The field's id attribute value
|
||||
*/
|
||||
function clearError(fieldId) {
|
||||
var field = document.getElementById(fieldId);
|
||||
var errorEl = document.getElementById(fieldId + '-error');
|
||||
if (field) field.setAttribute('aria-invalid', 'false');
|
||||
if (errorEl) {
|
||||
errorEl.textContent = '';
|
||||
errorEl.setAttribute('hidden', '');
|
||||
}
|
||||
}
|
||||
|
||||
// ── Helper: validate one field ────────────────────────────
|
||||
|
||||
/**
|
||||
* Run validation for a single field. Shows or clears its error.
|
||||
* @param {string} fieldId
|
||||
* @returns {boolean} true if valid
|
||||
*/
|
||||
function validateField(fieldId) {
|
||||
var field = document.getElementById(fieldId);
|
||||
if (!field) return true; // element absent — treat as valid
|
||||
var rule = RULES[fieldId];
|
||||
if (!rule) return true;
|
||||
var errorMsg = rule(field.value);
|
||||
if (errorMsg) {
|
||||
showError(fieldId, errorMsg);
|
||||
return false;
|
||||
}
|
||||
clearError(fieldId);
|
||||
return true;
|
||||
}
|
||||
|
||||
// ── Helper: validate all fields ───────────────────────────
|
||||
|
||||
/**
|
||||
* Run validation on every form field. Does NOT short-circuit —
|
||||
* all fields are checked so every error is visible at once.
|
||||
* @returns {boolean} true only if every field is valid
|
||||
*/
|
||||
function validateAll() {
|
||||
var allValid = true;
|
||||
FIELD_IDS.forEach(function (id) {
|
||||
if (!validateField(id)) allValid = false;
|
||||
});
|
||||
return allValid;
|
||||
}
|
||||
|
||||
// ── Blur-time validation ──────────────────────────────────
|
||||
|
||||
FIELD_IDS.forEach(function (id) {
|
||||
var field = document.getElementById(id);
|
||||
if (field) {
|
||||
field.addEventListener('blur', function () {
|
||||
validateField(id);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// ── Character counter ─────────────────────────────────────
|
||||
|
||||
if (descriptionEl && charCountEl) {
|
||||
// Set initial display
|
||||
charCountEl.textContent = '0 / 2000';
|
||||
|
||||
descriptionEl.addEventListener('input', function () {
|
||||
var len = descriptionEl.value.length;
|
||||
charCountEl.textContent = len + ' / 2000';
|
||||
// classList.toggle(cls, force) is supported in all modern browsers
|
||||
charCountEl.classList.toggle('warn', len > 1800);
|
||||
});
|
||||
}
|
||||
|
||||
// ── Banner helpers ────────────────────────────────────────
|
||||
|
||||
/**
|
||||
* Display the error banner with a given message and move focus to it.
|
||||
* @param {string} message
|
||||
*/
|
||||
function showBannerError(message) {
|
||||
if (!errorBanner) return;
|
||||
// Update the inner <p> if present to preserve markup; else use textContent
|
||||
var bannerP = errorBanner.querySelector('p');
|
||||
if (bannerP) {
|
||||
bannerP.textContent = message;
|
||||
} else {
|
||||
errorBanner.textContent = message;
|
||||
}
|
||||
errorBanner.removeAttribute('hidden');
|
||||
errorBanner.focus();
|
||||
}
|
||||
|
||||
function hideBanner() {
|
||||
if (!errorBanner) return;
|
||||
errorBanner.setAttribute('hidden', '');
|
||||
var bannerP = errorBanner.querySelector('p');
|
||||
if (bannerP) {
|
||||
bannerP.textContent = '';
|
||||
} else {
|
||||
errorBanner.textContent = '';
|
||||
}
|
||||
}
|
||||
|
||||
// ── Success display ───────────────────────────────────────
|
||||
|
||||
/**
|
||||
* Hide all form content except the success panel, then show the
|
||||
* success panel and move focus to its title.
|
||||
* (.form-success lives inside <form> in the HTML, so we cannot
|
||||
* simply hide the <form> element — instead we hide its siblings.)
|
||||
*/
|
||||
function showSuccess() {
|
||||
// Hide every direct child of the form except .form-success
|
||||
Array.from(form.children).forEach(function (child) {
|
||||
if (!child.classList.contains('form-success')) {
|
||||
child.setAttribute('hidden', '');
|
||||
}
|
||||
});
|
||||
|
||||
if (successPanel) {
|
||||
successPanel.removeAttribute('hidden');
|
||||
var title = successPanel.querySelector('.form-success__title');
|
||||
if (title) {
|
||||
// Ensure the heading is programmatically focusable
|
||||
if (!title.hasAttribute('tabindex')) {
|
||||
title.setAttribute('tabindex', '-1');
|
||||
}
|
||||
title.focus();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ── Form state helpers ────────────────────────────────────
|
||||
|
||||
var allInputs; // captured at submit time, used in onError
|
||||
|
||||
function disableForm() {
|
||||
allInputs = form.querySelectorAll('input, textarea, select, button');
|
||||
allInputs.forEach(function (el) { el.disabled = true; });
|
||||
if (submitBtn) submitBtn.textContent = 'Sending\u2026'; // "Sending…"
|
||||
form.setAttribute('aria-busy', 'true');
|
||||
}
|
||||
|
||||
function enableForm() {
|
||||
if (allInputs) {
|
||||
allInputs.forEach(function (el) { el.disabled = false; });
|
||||
}
|
||||
if (submitBtn) submitBtn.textContent = originalBtnText;
|
||||
form.removeAttribute('aria-busy');
|
||||
}
|
||||
|
||||
// ── Submit handler ────────────────────────────────────────
|
||||
|
||||
form.addEventListener('submit', function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
// Reset error banner from any previous attempt
|
||||
hideBanner();
|
||||
|
||||
// 1. Validate — show all errors simultaneously
|
||||
var isValid = validateAll();
|
||||
if (!isValid) {
|
||||
showBannerError('Please correct the errors above before submitting.');
|
||||
return;
|
||||
}
|
||||
|
||||
// 2. Honeypot check — silently fake success so bots see no difference
|
||||
if (honeypot && honeypot.value) {
|
||||
showSuccess();
|
||||
return;
|
||||
}
|
||||
|
||||
// 3. Lock the form while the request is in flight
|
||||
disableForm();
|
||||
|
||||
// 4. Build the JSON payload
|
||||
var payload = {
|
||||
name: (document.getElementById('name') || { value: '' }).value,
|
||||
address: (document.getElementById('address') || { value: '' }).value,
|
||||
phone: (document.getElementById('phone') || { value: '' }).value,
|
||||
email: (document.getElementById('email') || { value: '' }).value,
|
||||
description: (document.getElementById('description') || { value: '' }).value,
|
||||
honeypot: honeypot ? honeypot.value : ''
|
||||
};
|
||||
|
||||
// 5. 10-second hard timeout via AbortController
|
||||
var controller = new AbortController();
|
||||
var abortTimer = setTimeout(function () {
|
||||
controller.abort();
|
||||
}, 10000);
|
||||
|
||||
// 6. POST to the API
|
||||
fetch(FORM_ENDPOINT, {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify(payload),
|
||||
signal: controller.signal
|
||||
})
|
||||
.then(function (response) {
|
||||
// Treat any non-2xx HTTP status as an error
|
||||
if (!response.ok) {
|
||||
throw new Error('HTTP error ' + response.status);
|
||||
}
|
||||
return response.json();
|
||||
})
|
||||
.then(function (data) {
|
||||
clearTimeout(abortTimer);
|
||||
// Some API Gateway patterns return { ok: false } with HTTP 200
|
||||
if (data && data.ok === false) {
|
||||
throw new Error(data.message || 'Server returned an error.');
|
||||
}
|
||||
// 7. Success path
|
||||
form.removeAttribute('aria-busy'); // clear before showSuccess hides children
|
||||
showSuccess();
|
||||
})
|
||||
.catch(function () {
|
||||
clearTimeout(abortTimer);
|
||||
// 8. Error path — re-enable form and surface the error
|
||||
enableForm();
|
||||
showBannerError(
|
||||
'Something went wrong sending your request. ' +
|
||||
'Please try again, or contact Diana directly.'
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
}()); // end initQuoteForm
|
||||
|
||||
}()); // end top-level IIFE
|
||||
4
_site/robots.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
User-agent: *
|
||||
Allow: /
|
||||
|
||||
Sitemap: https://her-sf.com/sitemap.xml
|
||||
316
_site/services/boat-work/index.html
Normal file
@@ -0,0 +1,316 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Boat Work in San Francisco | HER</title>
|
||||
|
||||
|
||||
<meta name="description" content="Quality boat maintenance from someone who knows the Bay — woodwork, paint, and marine hardware done right. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
|
||||
|
||||
<link rel="canonical" href="https://her-sf.com/services/boat-work/">
|
||||
|
||||
|
||||
<meta property="og:title" content="Boat Work in San Francisco | HER">
|
||||
<meta property="og:description" content="Quality boat maintenance from someone who knows the Bay — woodwork, paint, and marine hardware done right. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://her-sf.com/services/boat-work/">
|
||||
<meta property="og:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Boat Work in San Francisco | HER">
|
||||
<meta name="twitter:description" content="Quality boat maintenance from someone who knows the Bay — woodwork, paint, and marine hardware done right. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
<meta name="twitter:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@1,9..144,400&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600&display=swap">
|
||||
|
||||
<link rel="stylesheet" href="../../css/main.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "LocalBusiness",
|
||||
"@id": "https://her-sf.com/#business",
|
||||
"name": "Home Enhancement and Renovation — HER",
|
||||
"url": "https://her-sf.com",
|
||||
"telephone": "+16508339380",
|
||||
"email": "diana@spotlighthis.com",
|
||||
"image": "https://her-sf.com/assets/diana_photo-min-1-scaled.webp",
|
||||
"priceRange": "$$",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"addressLocality": "San Francisco",
|
||||
"addressRegion": "CA",
|
||||
"addressCountry": "US"
|
||||
},
|
||||
"geo": {
|
||||
"@type": "GeoCoordinates",
|
||||
"latitude": 37.7749,
|
||||
"longitude": -122.4194
|
||||
},
|
||||
"areaServed": [
|
||||
"San Francisco", "Oakland", "Berkeley", "San Jose", "Palo Alto",
|
||||
"Marin County", "Tiburon", "Sausalito", "Daly City",
|
||||
"South San Francisco", "Burlingame", "San Mateo", "Redwood City",
|
||||
"Menlo Park", "Fremont", "Alameda"
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a href="#main-content" class="skip-link">Skip to main content</a>
|
||||
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav__inner container">
|
||||
|
||||
<a href="../../index.html" class="nav__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="nav__brand-her">HER</span>
|
||||
<span class="nav__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="nav__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
|
||||
<nav aria-label="Main navigation">
|
||||
<ul class="nav__links" role="list">
|
||||
<li><a href="../../about/index.html">About</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li><a href="../../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="nav__actions">
|
||||
<a href="tel:+16508339380" class="nav__phone" aria-label="Call Diana at (650) 833-9380">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
||||
<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.4 2 2 0 0 1 3.6 1.22h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L7.91 8.78a16 16 0 0 0 6 6l.92-.92a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 21.5 16h.5a2 2 0 0 1 .02.92z"/>
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<a href="../../contact/index.html" class="btn btn--primary" style="display:none" id="nav-cta">Request a Quote</a>
|
||||
|
||||
<button
|
||||
class="nav__toggle"
|
||||
aria-label="Open menu"
|
||||
aria-expanded="false"
|
||||
aria-controls="nav-overlay"
|
||||
>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="nav__overlay" id="nav-overlay" hidden>
|
||||
<button class="nav__overlay-close" aria-label="Close menu">✕</button>
|
||||
<nav aria-label="Mobile navigation">
|
||||
<ul role="list">
|
||||
<li><a href="../../about/index.html">About</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li><a href="../../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<a href="../../contact/index.html" class="btn btn--ghost-white btn--full">Request a Quote</a>
|
||||
<a href="tel:+16508339380" class="nav__overlay-phone">(650) 833-9380</a>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<main id="main-content">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="page-hero bg-graphite">
|
||||
<div class="page-hero__inner container">
|
||||
<nav class="breadcrumb" aria-label="Breadcrumb">
|
||||
<ol role="list">
|
||||
<li><a href="../../index.html">Home</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li aria-current="page">Boat Work</li>
|
||||
</ol>
|
||||
</nav>
|
||||
<p class="section-eyebrow">Marine Woodwork & Hardware</p>
|
||||
<h1 class="page-hero__title">Boat Work</h1>
|
||||
<p class="page-hero__lead">Quality boat maintenance from someone who knows the Bay — woodwork, paint, and marine hardware done right.</p>
|
||||
<a href="../../contact/index.html" class="btn btn--primary">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="service-detail section">
|
||||
<div class="container">
|
||||
|
||||
|
||||
<div class="service-detail__gallery">
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/boat-work-min-scaled.jpg"
|
||||
alt="Yellow and white sailboat docked at a marina in the San Francisco Bay."
|
||||
loading="eager"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="service-detail__body">
|
||||
<h2>What's included</h2>
|
||||
|
||||
<ul class="service-detail__list">
|
||||
|
||||
<li>Marine woodwork and structural repairs</li>
|
||||
|
||||
<li>Boat spray painting and refinishing</li>
|
||||
|
||||
<li>Marine hardware replacement</li>
|
||||
|
||||
<li>Deck maintenance and sealing</li>
|
||||
|
||||
<li>Interior boat carpentry</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<div class="service-detail__area">
|
||||
<p>Diana serves San Francisco and the wider Bay Area within 50 miles, including Oakland, Berkeley, Marin County, Palo Alto, and beyond.</p>
|
||||
</div>
|
||||
|
||||
<a href="../../contact/index.html" class="btn btn--primary">Request a Quote</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="cta-band" aria-label="Call to action">
|
||||
<div class="cta-band__inner">
|
||||
<p class="section-eyebrow">Ready to get started?</p>
|
||||
<h2 class="cta-band__title">Let's talk about your project.</h2>
|
||||
<p class="cta-band__sub">Diana responds within 1–2 business days.</p>
|
||||
<a href="../../contact/index.html" class="btn btn--ghost-white">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__inner container">
|
||||
|
||||
<div>
|
||||
<a href="../../index.html" class="footer__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="footer__brand-her">HER</span>
|
||||
<span class="footer__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="footer__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<nav aria-label="Footer navigation">
|
||||
<p class="footer__nav-heading">Services in the Bay Area</p>
|
||||
<div class="footer__nav-cols">
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
<li><a href="../../services/painting/index.html">Painting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/tile-setting/index.html">Tile Setting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/drywall/index.html">Drywall & Sheetrocking</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/plumbing/index.html">Minor Plumbing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/electrical/index.html">Minor Electrical</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/carpentry-and-mounting/index.html">Carpentry & Mounting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/flooring/index.html">Flooring & Wood Refinishing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/security-safety/index.html">Security & Safety Equipment</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/boat-work/index.html">Boat Work</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div>
|
||||
<p class="footer__nav-heading">Contact</p>
|
||||
<div class="footer__contact">
|
||||
<a href="tel:+16508339380">(650) 833-9380</a>
|
||||
<a href="mailto:diana@spotlighthis.com">diana@spotlighthis.com</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="footer__bottom">
|
||||
<div class="container">
|
||||
<p>© 2026 Home Enhancement & Restoration — HER. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
<script src="../../js/main.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
338
_site/services/carpentry-and-mounting/index.html
Normal file
@@ -0,0 +1,338 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Carpentry &amp; Mounting in San Francisco | HER</title>
|
||||
|
||||
|
||||
<meta name="description" content="Precise carpentry and secure mounting work — shelves that are level, TVs that stay put, and trim that fits perfectly. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
|
||||
|
||||
<link rel="canonical" href="https://her-sf.com/services/carpentry-and-mounting/">
|
||||
|
||||
|
||||
<meta property="og:title" content="Carpentry &amp; Mounting in San Francisco | HER">
|
||||
<meta property="og:description" content="Precise carpentry and secure mounting work — shelves that are level, TVs that stay put, and trim that fits perfectly. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://her-sf.com/services/carpentry-and-mounting/">
|
||||
<meta property="og:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Carpentry &amp; Mounting in San Francisco | HER">
|
||||
<meta name="twitter:description" content="Precise carpentry and secure mounting work — shelves that are level, TVs that stay put, and trim that fits perfectly. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
<meta name="twitter:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@1,9..144,400&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600&display=swap">
|
||||
|
||||
<link rel="stylesheet" href="../../css/main.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "LocalBusiness",
|
||||
"@id": "https://her-sf.com/#business",
|
||||
"name": "Home Enhancement and Renovation — HER",
|
||||
"url": "https://her-sf.com",
|
||||
"telephone": "+16508339380",
|
||||
"email": "diana@spotlighthis.com",
|
||||
"image": "https://her-sf.com/assets/diana_photo-min-1-scaled.webp",
|
||||
"priceRange": "$$",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"addressLocality": "San Francisco",
|
||||
"addressRegion": "CA",
|
||||
"addressCountry": "US"
|
||||
},
|
||||
"geo": {
|
||||
"@type": "GeoCoordinates",
|
||||
"latitude": 37.7749,
|
||||
"longitude": -122.4194
|
||||
},
|
||||
"areaServed": [
|
||||
"San Francisco", "Oakland", "Berkeley", "San Jose", "Palo Alto",
|
||||
"Marin County", "Tiburon", "Sausalito", "Daly City",
|
||||
"South San Francisco", "Burlingame", "San Mateo", "Redwood City",
|
||||
"Menlo Park", "Fremont", "Alameda"
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a href="#main-content" class="skip-link">Skip to main content</a>
|
||||
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav__inner container">
|
||||
|
||||
<a href="../../index.html" class="nav__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="nav__brand-her">HER</span>
|
||||
<span class="nav__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="nav__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
|
||||
<nav aria-label="Main navigation">
|
||||
<ul class="nav__links" role="list">
|
||||
<li><a href="../../about/index.html">About</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li><a href="../../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="nav__actions">
|
||||
<a href="tel:+16508339380" class="nav__phone" aria-label="Call Diana at (650) 833-9380">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
||||
<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.4 2 2 0 0 1 3.6 1.22h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L7.91 8.78a16 16 0 0 0 6 6l.92-.92a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 21.5 16h.5a2 2 0 0 1 .02.92z"/>
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<a href="../../contact/index.html" class="btn btn--primary" style="display:none" id="nav-cta">Request a Quote</a>
|
||||
|
||||
<button
|
||||
class="nav__toggle"
|
||||
aria-label="Open menu"
|
||||
aria-expanded="false"
|
||||
aria-controls="nav-overlay"
|
||||
>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="nav__overlay" id="nav-overlay" hidden>
|
||||
<button class="nav__overlay-close" aria-label="Close menu">✕</button>
|
||||
<nav aria-label="Mobile navigation">
|
||||
<ul role="list">
|
||||
<li><a href="../../about/index.html">About</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li><a href="../../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<a href="../../contact/index.html" class="btn btn--ghost-white btn--full">Request a Quote</a>
|
||||
<a href="tel:+16508339380" class="nav__overlay-phone">(650) 833-9380</a>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<main id="main-content">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="page-hero bg-graphite">
|
||||
<div class="page-hero__inner container">
|
||||
<nav class="breadcrumb" aria-label="Breadcrumb">
|
||||
<ol role="list">
|
||||
<li><a href="../../index.html">Home</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li aria-current="page">Carpentry & Mounting</li>
|
||||
</ol>
|
||||
</nav>
|
||||
<p class="section-eyebrow">Installation & Assembly</p>
|
||||
<h1 class="page-hero__title">Carpentry <span class="amp">&</span> Mounting</h1>
|
||||
<p class="page-hero__lead">Precise carpentry and secure mounting work — shelves that are level, TVs that stay put, and trim that fits perfectly.</p>
|
||||
<a href="../../contact/index.html" class="btn btn--primary">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="service-detail section">
|
||||
<div class="container">
|
||||
|
||||
|
||||
<div class="service-detail__gallery">
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/wood-refinishing-4-min.png"
|
||||
alt="Electric sander smoothing a wooden surface for carpentry work."
|
||||
loading="eager"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/grab-bar-min.png"
|
||||
alt="Grab bar securely mounted to a wall."
|
||||
loading="lazy"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/security-garage-door-min.png"
|
||||
alt="Hardware being installed on a wall-mounted track."
|
||||
loading="lazy"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="service-detail__body">
|
||||
<h2>What's included</h2>
|
||||
|
||||
<ul class="service-detail__list">
|
||||
|
||||
<li>Shelving and storage installation</li>
|
||||
|
||||
<li>TV and display mounting</li>
|
||||
|
||||
<li>Cabinet repairs and hardware replacement</li>
|
||||
|
||||
<li>Door and window trim work</li>
|
||||
|
||||
<li>Furniture assembly</li>
|
||||
|
||||
<li>Custom carpentry projects</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<div class="service-detail__area">
|
||||
<p>Diana serves San Francisco and the wider Bay Area within 50 miles, including Oakland, Berkeley, Marin County, Palo Alto, and beyond.</p>
|
||||
</div>
|
||||
|
||||
<a href="../../contact/index.html" class="btn btn--primary">Request a Quote</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="cta-band" aria-label="Call to action">
|
||||
<div class="cta-band__inner">
|
||||
<p class="section-eyebrow">Ready to get started?</p>
|
||||
<h2 class="cta-band__title">Let's talk about your project.</h2>
|
||||
<p class="cta-band__sub">Diana responds within 1–2 business days.</p>
|
||||
<a href="../../contact/index.html" class="btn btn--ghost-white">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__inner container">
|
||||
|
||||
<div>
|
||||
<a href="../../index.html" class="footer__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="footer__brand-her">HER</span>
|
||||
<span class="footer__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="footer__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<nav aria-label="Footer navigation">
|
||||
<p class="footer__nav-heading">Services in the Bay Area</p>
|
||||
<div class="footer__nav-cols">
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
<li><a href="../../services/painting/index.html">Painting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/tile-setting/index.html">Tile Setting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/drywall/index.html">Drywall & Sheetrocking</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/plumbing/index.html">Minor Plumbing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/electrical/index.html">Minor Electrical</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/carpentry-and-mounting/index.html">Carpentry & Mounting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/flooring/index.html">Flooring & Wood Refinishing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/security-safety/index.html">Security & Safety Equipment</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/boat-work/index.html">Boat Work</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div>
|
||||
<p class="footer__nav-heading">Contact</p>
|
||||
<div class="footer__contact">
|
||||
<a href="tel:+16508339380">(650) 833-9380</a>
|
||||
<a href="mailto:diana@spotlighthis.com">diana@spotlighthis.com</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="footer__bottom">
|
||||
<div class="container">
|
||||
<p>© 2026 Home Enhancement & Restoration — HER. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
<script src="../../js/main.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
336
_site/services/drywall/index.html
Normal file
@@ -0,0 +1,336 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Drywall &amp; Sheetrocking in San Francisco | HER</title>
|
||||
|
||||
|
||||
<meta name="description" content="Patch holes, replace damaged sections, and finish walls so they look like they were never touched. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
|
||||
|
||||
<link rel="canonical" href="https://her-sf.com/services/drywall/">
|
||||
|
||||
|
||||
<meta property="og:title" content="Drywall &amp; Sheetrocking in San Francisco | HER">
|
||||
<meta property="og:description" content="Patch holes, replace damaged sections, and finish walls so they look like they were never touched. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://her-sf.com/services/drywall/">
|
||||
<meta property="og:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Drywall &amp; Sheetrocking in San Francisco | HER">
|
||||
<meta name="twitter:description" content="Patch holes, replace damaged sections, and finish walls so they look like they were never touched. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
<meta name="twitter:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@1,9..144,400&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600&display=swap">
|
||||
|
||||
<link rel="stylesheet" href="../../css/main.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "LocalBusiness",
|
||||
"@id": "https://her-sf.com/#business",
|
||||
"name": "Home Enhancement and Renovation — HER",
|
||||
"url": "https://her-sf.com",
|
||||
"telephone": "+16508339380",
|
||||
"email": "diana@spotlighthis.com",
|
||||
"image": "https://her-sf.com/assets/diana_photo-min-1-scaled.webp",
|
||||
"priceRange": "$$",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"addressLocality": "San Francisco",
|
||||
"addressRegion": "CA",
|
||||
"addressCountry": "US"
|
||||
},
|
||||
"geo": {
|
||||
"@type": "GeoCoordinates",
|
||||
"latitude": 37.7749,
|
||||
"longitude": -122.4194
|
||||
},
|
||||
"areaServed": [
|
||||
"San Francisco", "Oakland", "Berkeley", "San Jose", "Palo Alto",
|
||||
"Marin County", "Tiburon", "Sausalito", "Daly City",
|
||||
"South San Francisco", "Burlingame", "San Mateo", "Redwood City",
|
||||
"Menlo Park", "Fremont", "Alameda"
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a href="#main-content" class="skip-link">Skip to main content</a>
|
||||
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav__inner container">
|
||||
|
||||
<a href="../../index.html" class="nav__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="nav__brand-her">HER</span>
|
||||
<span class="nav__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="nav__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
|
||||
<nav aria-label="Main navigation">
|
||||
<ul class="nav__links" role="list">
|
||||
<li><a href="../../about/index.html">About</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li><a href="../../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="nav__actions">
|
||||
<a href="tel:+16508339380" class="nav__phone" aria-label="Call Diana at (650) 833-9380">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
||||
<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.4 2 2 0 0 1 3.6 1.22h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L7.91 8.78a16 16 0 0 0 6 6l.92-.92a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 21.5 16h.5a2 2 0 0 1 .02.92z"/>
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<a href="../../contact/index.html" class="btn btn--primary" style="display:none" id="nav-cta">Request a Quote</a>
|
||||
|
||||
<button
|
||||
class="nav__toggle"
|
||||
aria-label="Open menu"
|
||||
aria-expanded="false"
|
||||
aria-controls="nav-overlay"
|
||||
>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="nav__overlay" id="nav-overlay" hidden>
|
||||
<button class="nav__overlay-close" aria-label="Close menu">✕</button>
|
||||
<nav aria-label="Mobile navigation">
|
||||
<ul role="list">
|
||||
<li><a href="../../about/index.html">About</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li><a href="../../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<a href="../../contact/index.html" class="btn btn--ghost-white btn--full">Request a Quote</a>
|
||||
<a href="tel:+16508339380" class="nav__overlay-phone">(650) 833-9380</a>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<main id="main-content">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="page-hero bg-graphite">
|
||||
<div class="page-hero__inner container">
|
||||
<nav class="breadcrumb" aria-label="Breadcrumb">
|
||||
<ol role="list">
|
||||
<li><a href="../../index.html">Home</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li aria-current="page">Drywall & Sheetrocking</li>
|
||||
</ol>
|
||||
</nav>
|
||||
<p class="section-eyebrow">Repair & Replacement</p>
|
||||
<h1 class="page-hero__title">Drywall <span class="amp">&</span> Sheetrocking</h1>
|
||||
<p class="page-hero__lead">Patch holes, replace damaged sections, and finish walls so they look like they were never touched.</p>
|
||||
<a href="../../contact/index.html" class="btn btn--primary">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="service-detail section">
|
||||
<div class="container">
|
||||
|
||||
|
||||
<div class="service-detail__gallery">
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/sheetrocking-1-min.png"
|
||||
alt="Hands applying joint compound to patch a square hole in a wall."
|
||||
loading="eager"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/sheetrocking-2-min.png"
|
||||
alt="Unfinished room with new drywall installed, ready for finishing."
|
||||
loading="lazy"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/sheetrocking-5-min.png"
|
||||
alt="Interior wall framing with insulation, ready for drywall."
|
||||
loading="lazy"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="service-detail__body">
|
||||
<h2>What's included</h2>
|
||||
|
||||
<ul class="service-detail__list">
|
||||
|
||||
<li>Drywall and sheetrocking installation</li>
|
||||
|
||||
<li>Hole and damage patching</li>
|
||||
|
||||
<li>Seam taping and joint compound</li>
|
||||
|
||||
<li>Sanding and texture matching</li>
|
||||
|
||||
<li>Wall preparation for painting</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<div class="service-detail__area">
|
||||
<p>Diana serves San Francisco and the wider Bay Area within 50 miles, including Oakland, Berkeley, Marin County, Palo Alto, and beyond.</p>
|
||||
</div>
|
||||
|
||||
<a href="../../contact/index.html" class="btn btn--primary">Request a Quote</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="cta-band" aria-label="Call to action">
|
||||
<div class="cta-band__inner">
|
||||
<p class="section-eyebrow">Ready to get started?</p>
|
||||
<h2 class="cta-band__title">Let's talk about your project.</h2>
|
||||
<p class="cta-band__sub">Diana responds within 1–2 business days.</p>
|
||||
<a href="../../contact/index.html" class="btn btn--ghost-white">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__inner container">
|
||||
|
||||
<div>
|
||||
<a href="../../index.html" class="footer__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="footer__brand-her">HER</span>
|
||||
<span class="footer__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="footer__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<nav aria-label="Footer navigation">
|
||||
<p class="footer__nav-heading">Services in the Bay Area</p>
|
||||
<div class="footer__nav-cols">
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
<li><a href="../../services/painting/index.html">Painting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/tile-setting/index.html">Tile Setting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/drywall/index.html">Drywall & Sheetrocking</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/plumbing/index.html">Minor Plumbing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/electrical/index.html">Minor Electrical</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/carpentry-and-mounting/index.html">Carpentry & Mounting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/flooring/index.html">Flooring & Wood Refinishing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/security-safety/index.html">Security & Safety Equipment</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/boat-work/index.html">Boat Work</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div>
|
||||
<p class="footer__nav-heading">Contact</p>
|
||||
<div class="footer__contact">
|
||||
<a href="tel:+16508339380">(650) 833-9380</a>
|
||||
<a href="mailto:diana@spotlighthis.com">diana@spotlighthis.com</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="footer__bottom">
|
||||
<div class="container">
|
||||
<p>© 2026 Home Enhancement & Restoration — HER. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
<script src="../../js/main.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
336
_site/services/electrical/index.html
Normal file
@@ -0,0 +1,336 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Minor Electrical in San Francisco | HER</title>
|
||||
|
||||
|
||||
<meta name="description" content="Safe, clean electrical work for the fixtures and fittings that make your home feel finished. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
|
||||
|
||||
<link rel="canonical" href="https://her-sf.com/services/electrical/">
|
||||
|
||||
|
||||
<meta property="og:title" content="Minor Electrical in San Francisco | HER">
|
||||
<meta property="og:description" content="Safe, clean electrical work for the fixtures and fittings that make your home feel finished. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://her-sf.com/services/electrical/">
|
||||
<meta property="og:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Minor Electrical in San Francisco | HER">
|
||||
<meta name="twitter:description" content="Safe, clean electrical work for the fixtures and fittings that make your home feel finished. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
<meta name="twitter:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@1,9..144,400&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600&display=swap">
|
||||
|
||||
<link rel="stylesheet" href="../../css/main.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "LocalBusiness",
|
||||
"@id": "https://her-sf.com/#business",
|
||||
"name": "Home Enhancement and Renovation — HER",
|
||||
"url": "https://her-sf.com",
|
||||
"telephone": "+16508339380",
|
||||
"email": "diana@spotlighthis.com",
|
||||
"image": "https://her-sf.com/assets/diana_photo-min-1-scaled.webp",
|
||||
"priceRange": "$$",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"addressLocality": "San Francisco",
|
||||
"addressRegion": "CA",
|
||||
"addressCountry": "US"
|
||||
},
|
||||
"geo": {
|
||||
"@type": "GeoCoordinates",
|
||||
"latitude": 37.7749,
|
||||
"longitude": -122.4194
|
||||
},
|
||||
"areaServed": [
|
||||
"San Francisco", "Oakland", "Berkeley", "San Jose", "Palo Alto",
|
||||
"Marin County", "Tiburon", "Sausalito", "Daly City",
|
||||
"South San Francisco", "Burlingame", "San Mateo", "Redwood City",
|
||||
"Menlo Park", "Fremont", "Alameda"
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a href="#main-content" class="skip-link">Skip to main content</a>
|
||||
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav__inner container">
|
||||
|
||||
<a href="../../index.html" class="nav__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="nav__brand-her">HER</span>
|
||||
<span class="nav__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="nav__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
|
||||
<nav aria-label="Main navigation">
|
||||
<ul class="nav__links" role="list">
|
||||
<li><a href="../../about/index.html">About</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li><a href="../../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="nav__actions">
|
||||
<a href="tel:+16508339380" class="nav__phone" aria-label="Call Diana at (650) 833-9380">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
||||
<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.4 2 2 0 0 1 3.6 1.22h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L7.91 8.78a16 16 0 0 0 6 6l.92-.92a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 21.5 16h.5a2 2 0 0 1 .02.92z"/>
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<a href="../../contact/index.html" class="btn btn--primary" style="display:none" id="nav-cta">Request a Quote</a>
|
||||
|
||||
<button
|
||||
class="nav__toggle"
|
||||
aria-label="Open menu"
|
||||
aria-expanded="false"
|
||||
aria-controls="nav-overlay"
|
||||
>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="nav__overlay" id="nav-overlay" hidden>
|
||||
<button class="nav__overlay-close" aria-label="Close menu">✕</button>
|
||||
<nav aria-label="Mobile navigation">
|
||||
<ul role="list">
|
||||
<li><a href="../../about/index.html">About</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li><a href="../../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<a href="../../contact/index.html" class="btn btn--ghost-white btn--full">Request a Quote</a>
|
||||
<a href="tel:+16508339380" class="nav__overlay-phone">(650) 833-9380</a>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<main id="main-content">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="page-hero bg-graphite">
|
||||
<div class="page-hero__inner container">
|
||||
<nav class="breadcrumb" aria-label="Breadcrumb">
|
||||
<ol role="list">
|
||||
<li><a href="../../index.html">Home</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li aria-current="page">Minor Electrical</li>
|
||||
</ol>
|
||||
</nav>
|
||||
<p class="section-eyebrow">Lights, Fans & Fixtures</p>
|
||||
<h1 class="page-hero__title">Minor Electrical</h1>
|
||||
<p class="page-hero__lead">Safe, clean electrical work for the fixtures and fittings that make your home feel finished.</p>
|
||||
<a href="../../contact/index.html" class="btn btn--primary">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="service-detail section">
|
||||
<div class="container">
|
||||
|
||||
|
||||
<div class="service-detail__gallery">
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/electrical-7-min.jpg"
|
||||
alt="Person installing a ceiling light fixture, connecting wires safely."
|
||||
loading="eager"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/electrical-1-min.jpg"
|
||||
alt="Bathroom vanity with multiple light fixtures installed above the mirror."
|
||||
loading="lazy"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/electrical-3-min.jpg"
|
||||
alt="Ceiling fan with five wooden blades and four lights, mounted on a white ceiling."
|
||||
loading="lazy"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="service-detail__body">
|
||||
<h2>What's included</h2>
|
||||
|
||||
<ul class="service-detail__list">
|
||||
|
||||
<li>Light fixture installation and replacement</li>
|
||||
|
||||
<li>Ceiling fan installation</li>
|
||||
|
||||
<li>Outdoor and security lighting</li>
|
||||
|
||||
<li>Bathroom vanity lighting</li>
|
||||
|
||||
<li>Wall sconces and under-cabinet lights</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<div class="service-detail__area">
|
||||
<p>Diana serves San Francisco and the wider Bay Area within 50 miles, including Oakland, Berkeley, Marin County, Palo Alto, and beyond.</p>
|
||||
</div>
|
||||
|
||||
<a href="../../contact/index.html" class="btn btn--primary">Request a Quote</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="cta-band" aria-label="Call to action">
|
||||
<div class="cta-band__inner">
|
||||
<p class="section-eyebrow">Ready to get started?</p>
|
||||
<h2 class="cta-band__title">Let's talk about your project.</h2>
|
||||
<p class="cta-band__sub">Diana responds within 1–2 business days.</p>
|
||||
<a href="../../contact/index.html" class="btn btn--ghost-white">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__inner container">
|
||||
|
||||
<div>
|
||||
<a href="../../index.html" class="footer__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="footer__brand-her">HER</span>
|
||||
<span class="footer__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="footer__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<nav aria-label="Footer navigation">
|
||||
<p class="footer__nav-heading">Services in the Bay Area</p>
|
||||
<div class="footer__nav-cols">
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
<li><a href="../../services/painting/index.html">Painting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/tile-setting/index.html">Tile Setting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/drywall/index.html">Drywall & Sheetrocking</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/plumbing/index.html">Minor Plumbing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/electrical/index.html">Minor Electrical</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/carpentry-and-mounting/index.html">Carpentry & Mounting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/flooring/index.html">Flooring & Wood Refinishing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/security-safety/index.html">Security & Safety Equipment</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/boat-work/index.html">Boat Work</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div>
|
||||
<p class="footer__nav-heading">Contact</p>
|
||||
<div class="footer__contact">
|
||||
<a href="tel:+16508339380">(650) 833-9380</a>
|
||||
<a href="mailto:diana@spotlighthis.com">diana@spotlighthis.com</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="footer__bottom">
|
||||
<div class="container">
|
||||
<p>© 2026 Home Enhancement & Restoration — HER. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
<script src="../../js/main.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
338
_site/services/flooring/index.html
Normal file
@@ -0,0 +1,338 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Flooring &amp; Wood Refinishing in San Francisco | HER</title>
|
||||
|
||||
|
||||
<meta name="description" content="Restore tired floors and wood surfaces to their original beauty — or better. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
|
||||
|
||||
<link rel="canonical" href="https://her-sf.com/services/flooring/">
|
||||
|
||||
|
||||
<meta property="og:title" content="Flooring &amp; Wood Refinishing in San Francisco | HER">
|
||||
<meta property="og:description" content="Restore tired floors and wood surfaces to their original beauty — or better. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://her-sf.com/services/flooring/">
|
||||
<meta property="og:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Flooring &amp; Wood Refinishing in San Francisco | HER">
|
||||
<meta name="twitter:description" content="Restore tired floors and wood surfaces to their original beauty — or better. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
<meta name="twitter:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@1,9..144,400&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600&display=swap">
|
||||
|
||||
<link rel="stylesheet" href="../../css/main.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "LocalBusiness",
|
||||
"@id": "https://her-sf.com/#business",
|
||||
"name": "Home Enhancement and Renovation — HER",
|
||||
"url": "https://her-sf.com",
|
||||
"telephone": "+16508339380",
|
||||
"email": "diana@spotlighthis.com",
|
||||
"image": "https://her-sf.com/assets/diana_photo-min-1-scaled.webp",
|
||||
"priceRange": "$$",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"addressLocality": "San Francisco",
|
||||
"addressRegion": "CA",
|
||||
"addressCountry": "US"
|
||||
},
|
||||
"geo": {
|
||||
"@type": "GeoCoordinates",
|
||||
"latitude": 37.7749,
|
||||
"longitude": -122.4194
|
||||
},
|
||||
"areaServed": [
|
||||
"San Francisco", "Oakland", "Berkeley", "San Jose", "Palo Alto",
|
||||
"Marin County", "Tiburon", "Sausalito", "Daly City",
|
||||
"South San Francisco", "Burlingame", "San Mateo", "Redwood City",
|
||||
"Menlo Park", "Fremont", "Alameda"
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a href="#main-content" class="skip-link">Skip to main content</a>
|
||||
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav__inner container">
|
||||
|
||||
<a href="../../index.html" class="nav__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="nav__brand-her">HER</span>
|
||||
<span class="nav__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="nav__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
|
||||
<nav aria-label="Main navigation">
|
||||
<ul class="nav__links" role="list">
|
||||
<li><a href="../../about/index.html">About</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li><a href="../../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="nav__actions">
|
||||
<a href="tel:+16508339380" class="nav__phone" aria-label="Call Diana at (650) 833-9380">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
||||
<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.4 2 2 0 0 1 3.6 1.22h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L7.91 8.78a16 16 0 0 0 6 6l.92-.92a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 21.5 16h.5a2 2 0 0 1 .02.92z"/>
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<a href="../../contact/index.html" class="btn btn--primary" style="display:none" id="nav-cta">Request a Quote</a>
|
||||
|
||||
<button
|
||||
class="nav__toggle"
|
||||
aria-label="Open menu"
|
||||
aria-expanded="false"
|
||||
aria-controls="nav-overlay"
|
||||
>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="nav__overlay" id="nav-overlay" hidden>
|
||||
<button class="nav__overlay-close" aria-label="Close menu">✕</button>
|
||||
<nav aria-label="Mobile navigation">
|
||||
<ul role="list">
|
||||
<li><a href="../../about/index.html">About</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li><a href="../../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<a href="../../contact/index.html" class="btn btn--ghost-white btn--full">Request a Quote</a>
|
||||
<a href="tel:+16508339380" class="nav__overlay-phone">(650) 833-9380</a>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<main id="main-content">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="page-hero bg-graphite">
|
||||
<div class="page-hero__inner container">
|
||||
<nav class="breadcrumb" aria-label="Breadcrumb">
|
||||
<ol role="list">
|
||||
<li><a href="../../index.html">Home</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li aria-current="page">Flooring & Wood Refinishing</li>
|
||||
</ol>
|
||||
</nav>
|
||||
<p class="section-eyebrow">Floors, Decks & Surfaces</p>
|
||||
<h1 class="page-hero__title">Flooring <span class="amp">&</span> Wood Refinishing</h1>
|
||||
<p class="page-hero__lead">Restore tired floors and wood surfaces to their original beauty — or better.</p>
|
||||
<a href="../../contact/index.html" class="btn btn--primary">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="service-detail section">
|
||||
<div class="container">
|
||||
|
||||
|
||||
<div class="service-detail__gallery">
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/wood-refinishing-7-min.png"
|
||||
alt="Hardwood floor half sanded and restored, showing the before and after."
|
||||
loading="eager"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/wood-refinishing-8-min.png"
|
||||
alt="Empty room with freshly refinished shiny wooden floors."
|
||||
loading="lazy"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/wood-refinishing-1-min.png"
|
||||
alt="Person applying wood stain to a deck with a paintbrush."
|
||||
loading="lazy"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="service-detail__body">
|
||||
<h2>What's included</h2>
|
||||
|
||||
<ul class="service-detail__list">
|
||||
|
||||
<li>Hardwood floor sanding and refinishing</li>
|
||||
|
||||
<li>Floor staining and sealing</li>
|
||||
|
||||
<li>Flooring touch-ups and repairs</li>
|
||||
|
||||
<li>Exterior deck and stair refinishing</li>
|
||||
|
||||
<li>Cabinet and furniture refinishing</li>
|
||||
|
||||
<li>Interior and exterior wood surface restoration</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<div class="service-detail__area">
|
||||
<p>Diana serves San Francisco and the wider Bay Area within 50 miles, including Oakland, Berkeley, Marin County, Palo Alto, and beyond.</p>
|
||||
</div>
|
||||
|
||||
<a href="../../contact/index.html" class="btn btn--primary">Request a Quote</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="cta-band" aria-label="Call to action">
|
||||
<div class="cta-band__inner">
|
||||
<p class="section-eyebrow">Ready to get started?</p>
|
||||
<h2 class="cta-band__title">Let's talk about your project.</h2>
|
||||
<p class="cta-band__sub">Diana responds within 1–2 business days.</p>
|
||||
<a href="../../contact/index.html" class="btn btn--ghost-white">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__inner container">
|
||||
|
||||
<div>
|
||||
<a href="../../index.html" class="footer__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="footer__brand-her">HER</span>
|
||||
<span class="footer__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="footer__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<nav aria-label="Footer navigation">
|
||||
<p class="footer__nav-heading">Services in the Bay Area</p>
|
||||
<div class="footer__nav-cols">
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
<li><a href="../../services/painting/index.html">Painting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/tile-setting/index.html">Tile Setting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/drywall/index.html">Drywall & Sheetrocking</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/plumbing/index.html">Minor Plumbing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/electrical/index.html">Minor Electrical</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/carpentry-and-mounting/index.html">Carpentry & Mounting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/flooring/index.html">Flooring & Wood Refinishing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/security-safety/index.html">Security & Safety Equipment</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/boat-work/index.html">Boat Work</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div>
|
||||
<p class="footer__nav-heading">Contact</p>
|
||||
<div class="footer__contact">
|
||||
<a href="tel:+16508339380">(650) 833-9380</a>
|
||||
<a href="mailto:diana@spotlighthis.com">diana@spotlighthis.com</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="footer__bottom">
|
||||
<div class="container">
|
||||
<p>© 2026 Home Enhancement & Restoration — HER. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
<script src="../../js/main.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
397
_site/services/index.html
Normal file
@@ -0,0 +1,397 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Handywoman Services in San Francisco | HER</title>
|
||||
|
||||
|
||||
<meta name="description" content="Browse Diana's services — painting, tile setting, drywall, plumbing, electrical, carpentry, flooring, security equipment, and boat work. San Francisco + 50 miles.">
|
||||
|
||||
|
||||
<link rel="canonical" href="https://her-sf.com/services/">
|
||||
|
||||
|
||||
<meta property="og:title" content="Handywoman Services in San Francisco | HER">
|
||||
<meta property="og:description" content="Browse Diana's services — painting, tile setting, drywall, plumbing, electrical, carpentry, flooring, security equipment, and boat work. San Francisco + 50 miles.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://her-sf.com/services/">
|
||||
<meta property="og:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Handywoman Services in San Francisco | HER">
|
||||
<meta name="twitter:description" content="Browse Diana's services — painting, tile setting, drywall, plumbing, electrical, carpentry, flooring, security equipment, and boat work. San Francisco + 50 miles.">
|
||||
<meta name="twitter:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@1,9..144,400&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600&display=swap">
|
||||
|
||||
<link rel="stylesheet" href="../css/main.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "LocalBusiness",
|
||||
"@id": "https://her-sf.com/#business",
|
||||
"name": "Home Enhancement and Renovation — HER",
|
||||
"url": "https://her-sf.com",
|
||||
"telephone": "+16508339380",
|
||||
"email": "diana@spotlighthis.com",
|
||||
"image": "https://her-sf.com/assets/diana_photo-min-1-scaled.webp",
|
||||
"priceRange": "$$",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"addressLocality": "San Francisco",
|
||||
"addressRegion": "CA",
|
||||
"addressCountry": "US"
|
||||
},
|
||||
"geo": {
|
||||
"@type": "GeoCoordinates",
|
||||
"latitude": 37.7749,
|
||||
"longitude": -122.4194
|
||||
},
|
||||
"areaServed": [
|
||||
"San Francisco", "Oakland", "Berkeley", "San Jose", "Palo Alto",
|
||||
"Marin County", "Tiburon", "Sausalito", "Daly City",
|
||||
"South San Francisco", "Burlingame", "San Mateo", "Redwood City",
|
||||
"Menlo Park", "Fremont", "Alameda"
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a href="#main-content" class="skip-link">Skip to main content</a>
|
||||
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav__inner container">
|
||||
|
||||
<a href="../index.html" class="nav__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="nav__brand-her">HER</span>
|
||||
<span class="nav__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="nav__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
|
||||
<nav aria-label="Main navigation">
|
||||
<ul class="nav__links" role="list">
|
||||
<li><a href="../about/index.html">About</a></li>
|
||||
<li><a href="../services/index.html">Services</a></li>
|
||||
<li><a href="../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="nav__actions">
|
||||
<a href="tel:+16508339380" class="nav__phone" aria-label="Call Diana at (650) 833-9380">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
||||
<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.4 2 2 0 0 1 3.6 1.22h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L7.91 8.78a16 16 0 0 0 6 6l.92-.92a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 21.5 16h.5a2 2 0 0 1 .02.92z"/>
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<a href="../contact/index.html" class="btn btn--primary" style="display:none" id="nav-cta">Request a Quote</a>
|
||||
|
||||
<button
|
||||
class="nav__toggle"
|
||||
aria-label="Open menu"
|
||||
aria-expanded="false"
|
||||
aria-controls="nav-overlay"
|
||||
>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="nav__overlay" id="nav-overlay" hidden>
|
||||
<button class="nav__overlay-close" aria-label="Close menu">✕</button>
|
||||
<nav aria-label="Mobile navigation">
|
||||
<ul role="list">
|
||||
<li><a href="../about/index.html">About</a></li>
|
||||
<li><a href="../services/index.html">Services</a></li>
|
||||
<li><a href="../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<a href="../contact/index.html" class="btn btn--ghost-white btn--full">Request a Quote</a>
|
||||
<a href="tel:+16508339380" class="nav__overlay-phone">(650) 833-9380</a>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<main id="main-content">
|
||||
|
||||
|
||||
<section class="page-hero bg-graphite">
|
||||
<div class="page-hero__inner container">
|
||||
<p class="section-eyebrow">Services</p>
|
||||
<h1 class="page-hero__title">Services done right.</h1>
|
||||
<p class="page-hero__lead">Every job, every trade — handled with precision, care, and a contractor you can actually trust.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section class="services-hub section bg-linen">
|
||||
<div class="services-hub__intro container">
|
||||
<p>From a leaky faucet to a full room repaint, Diana handles home improvement projects of all sizes across San Francisco and the Bay Area. Every job is approached with the same care and precision that defined her aerospace career.</p>
|
||||
</div>
|
||||
|
||||
<div class="services-grid container">
|
||||
|
||||
<a href="../services/painting/index.html" class="service-card fade-up">
|
||||
<div class="service-card__image">
|
||||
<img
|
||||
src="../assets/painting-5-min.jpg"
|
||||
alt="Exterior of a dark brown house with red-framed windows, freshly painted."
|
||||
loading="lazy"
|
||||
>
|
||||
</div>
|
||||
<div class="service-card__body">
|
||||
<p class="service-card__name">Painting</p>
|
||||
<p class="service-card__desc">Interior and exterior painting, including trim work.</p>
|
||||
<span class="service-card__arrow" aria-hidden="true">→</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="../services/tile-setting/index.html" class="service-card fade-up">
|
||||
<div class="service-card__image">
|
||||
<img
|
||||
src="../assets/tile-setting-4-min.png"
|
||||
alt="Modern bathroom with brown tiled walls and a white sink, freshly tiled."
|
||||
loading="lazy"
|
||||
>
|
||||
</div>
|
||||
<div class="service-card__body">
|
||||
<p class="service-card__name">Tile Setting</p>
|
||||
<p class="service-card__desc">Removing and installing all sizes of tiles in kitchens, bathrooms, entryways, and patios.</p>
|
||||
<span class="service-card__arrow" aria-hidden="true">→</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="../services/drywall/index.html" class="service-card fade-up">
|
||||
<div class="service-card__image">
|
||||
<img
|
||||
src="../assets/sheetrocking-1-min.png"
|
||||
alt="Hands applying joint compound to patch a square hole in a wall."
|
||||
loading="lazy"
|
||||
>
|
||||
</div>
|
||||
<div class="service-card__body">
|
||||
<p class="service-card__name">Drywall & Sheetrocking</p>
|
||||
<p class="service-card__desc">Drywall and sheetrocking — removing, replacing, patching, and sanding.</p>
|
||||
<span class="service-card__arrow" aria-hidden="true">→</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="../services/plumbing/index.html" class="service-card fade-up">
|
||||
<div class="service-card__image">
|
||||
<img
|
||||
src="../assets/plumbing-3-min.png"
|
||||
alt="Dual-basin stainless steel kitchen sink with a high-arc faucet, newly installed."
|
||||
loading="lazy"
|
||||
>
|
||||
</div>
|
||||
<div class="service-card__body">
|
||||
<p class="service-card__name">Minor Plumbing</p>
|
||||
<p class="service-card__desc">Minor plumbing work including sink, toilet, and shower repairs.</p>
|
||||
<span class="service-card__arrow" aria-hidden="true">→</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="../services/electrical/index.html" class="service-card fade-up">
|
||||
<div class="service-card__image">
|
||||
<img
|
||||
src="../assets/electrical-7-min.jpg"
|
||||
alt="Person installing a ceiling light fixture, connecting wires safely."
|
||||
loading="lazy"
|
||||
>
|
||||
</div>
|
||||
<div class="service-card__body">
|
||||
<p class="service-card__name">Minor Electrical</p>
|
||||
<p class="service-card__desc">Minor electrical work, including installing lights and fans.</p>
|
||||
<span class="service-card__arrow" aria-hidden="true">→</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="../services/carpentry-and-mounting/index.html" class="service-card fade-up">
|
||||
<div class="service-card__image">
|
||||
<img
|
||||
src="../assets/wood-refinishing-4-min.png"
|
||||
alt="Electric sander smoothing a wooden surface for carpentry work."
|
||||
loading="lazy"
|
||||
>
|
||||
</div>
|
||||
<div class="service-card__body">
|
||||
<p class="service-card__name">Carpentry & Mounting</p>
|
||||
<p class="service-card__desc">Carpentry, shelving installation, TV mounting, cabinet repairs, and trim work.</p>
|
||||
<span class="service-card__arrow" aria-hidden="true">→</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="../services/flooring/index.html" class="service-card fade-up">
|
||||
<div class="service-card__image">
|
||||
<img
|
||||
src="../assets/wood-refinishing-7-min.png"
|
||||
alt="Hardwood floor half sanded and restored, showing the before and after."
|
||||
loading="lazy"
|
||||
>
|
||||
</div>
|
||||
<div class="service-card__body">
|
||||
<p class="service-card__name">Flooring & Wood Refinishing</p>
|
||||
<p class="service-card__desc">Flooring touch-ups and wood refinishing for floors, decks, stairs, cabinets, and more.</p>
|
||||
<span class="service-card__arrow" aria-hidden="true">→</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="../services/security-safety/index.html" class="service-card fade-up">
|
||||
<div class="service-card__image">
|
||||
<img
|
||||
src="../assets/grab-bar-min.png"
|
||||
alt="White grab bar securely mounted to a bathroom wall for safety."
|
||||
loading="lazy"
|
||||
>
|
||||
</div>
|
||||
<div class="service-card__body">
|
||||
<p class="service-card__name">Security & Safety Equipment</p>
|
||||
<p class="service-card__desc">Grab bars, security bars, window mesh, and security camera installation.</p>
|
||||
<span class="service-card__arrow" aria-hidden="true">→</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="../services/boat-work/index.html" class="service-card fade-up">
|
||||
<div class="service-card__image">
|
||||
<img
|
||||
src="../assets/boat-work-min-scaled.jpg"
|
||||
alt="Yellow and white sailboat docked at a marina in the San Francisco Bay."
|
||||
loading="lazy"
|
||||
>
|
||||
</div>
|
||||
<div class="service-card__body">
|
||||
<p class="service-card__name">Boat Work</p>
|
||||
<p class="service-card__desc">Boat woodwork, spray paint, and marine hardware replacement.</p>
|
||||
<span class="service-card__arrow" aria-hidden="true">→</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section class="cta-band" aria-label="Call to action">
|
||||
<div class="cta-band__inner">
|
||||
<p class="section-eyebrow">Ready to get started?</p>
|
||||
<h2 class="cta-band__title">Let's talk about your project.</h2>
|
||||
<p class="cta-band__sub">Diana responds within 1–2 business days.</p>
|
||||
<a href="../contact/index.html" class="btn btn--ghost-white">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__inner container">
|
||||
|
||||
<div>
|
||||
<a href="../index.html" class="footer__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="footer__brand-her">HER</span>
|
||||
<span class="footer__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="footer__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<nav aria-label="Footer navigation">
|
||||
<p class="footer__nav-heading">Services in the Bay Area</p>
|
||||
<div class="footer__nav-cols">
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
<li><a href="../services/painting/index.html">Painting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/tile-setting/index.html">Tile Setting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/drywall/index.html">Drywall & Sheetrocking</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/plumbing/index.html">Minor Plumbing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/electrical/index.html">Minor Electrical</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/carpentry-and-mounting/index.html">Carpentry & Mounting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/flooring/index.html">Flooring & Wood Refinishing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/security-safety/index.html">Security & Safety Equipment</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/boat-work/index.html">Boat Work</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div>
|
||||
<p class="footer__nav-heading">Contact</p>
|
||||
<div class="footer__contact">
|
||||
<a href="tel:+16508339380">(650) 833-9380</a>
|
||||
<a href="mailto:diana@spotlighthis.com">diana@spotlighthis.com</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="footer__bottom">
|
||||
<div class="container">
|
||||
<p>© 2026 Home Enhancement & Restoration — HER. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
<script src="../js/main.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
336
_site/services/painting/index.html
Normal file
@@ -0,0 +1,336 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Painting in San Francisco | HER</title>
|
||||
|
||||
|
||||
<meta name="description" content="From prep to final coat, Diana handles painting projects of all sizes — interior rooms, exterior siding, and trim work. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
|
||||
|
||||
<link rel="canonical" href="https://her-sf.com/services/painting/">
|
||||
|
||||
|
||||
<meta property="og:title" content="Painting in San Francisco | HER">
|
||||
<meta property="og:description" content="From prep to final coat, Diana handles painting projects of all sizes — interior rooms, exterior siding, and trim work. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://her-sf.com/services/painting/">
|
||||
<meta property="og:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Painting in San Francisco | HER">
|
||||
<meta name="twitter:description" content="From prep to final coat, Diana handles painting projects of all sizes — interior rooms, exterior siding, and trim work. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
<meta name="twitter:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@1,9..144,400&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600&display=swap">
|
||||
|
||||
<link rel="stylesheet" href="../../css/main.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "LocalBusiness",
|
||||
"@id": "https://her-sf.com/#business",
|
||||
"name": "Home Enhancement and Renovation — HER",
|
||||
"url": "https://her-sf.com",
|
||||
"telephone": "+16508339380",
|
||||
"email": "diana@spotlighthis.com",
|
||||
"image": "https://her-sf.com/assets/diana_photo-min-1-scaled.webp",
|
||||
"priceRange": "$$",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"addressLocality": "San Francisco",
|
||||
"addressRegion": "CA",
|
||||
"addressCountry": "US"
|
||||
},
|
||||
"geo": {
|
||||
"@type": "GeoCoordinates",
|
||||
"latitude": 37.7749,
|
||||
"longitude": -122.4194
|
||||
},
|
||||
"areaServed": [
|
||||
"San Francisco", "Oakland", "Berkeley", "San Jose", "Palo Alto",
|
||||
"Marin County", "Tiburon", "Sausalito", "Daly City",
|
||||
"South San Francisco", "Burlingame", "San Mateo", "Redwood City",
|
||||
"Menlo Park", "Fremont", "Alameda"
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a href="#main-content" class="skip-link">Skip to main content</a>
|
||||
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav__inner container">
|
||||
|
||||
<a href="../../index.html" class="nav__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="nav__brand-her">HER</span>
|
||||
<span class="nav__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="nav__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
|
||||
<nav aria-label="Main navigation">
|
||||
<ul class="nav__links" role="list">
|
||||
<li><a href="../../about/index.html">About</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li><a href="../../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="nav__actions">
|
||||
<a href="tel:+16508339380" class="nav__phone" aria-label="Call Diana at (650) 833-9380">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
||||
<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.4 2 2 0 0 1 3.6 1.22h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L7.91 8.78a16 16 0 0 0 6 6l.92-.92a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 21.5 16h.5a2 2 0 0 1 .02.92z"/>
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<a href="../../contact/index.html" class="btn btn--primary" style="display:none" id="nav-cta">Request a Quote</a>
|
||||
|
||||
<button
|
||||
class="nav__toggle"
|
||||
aria-label="Open menu"
|
||||
aria-expanded="false"
|
||||
aria-controls="nav-overlay"
|
||||
>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="nav__overlay" id="nav-overlay" hidden>
|
||||
<button class="nav__overlay-close" aria-label="Close menu">✕</button>
|
||||
<nav aria-label="Mobile navigation">
|
||||
<ul role="list">
|
||||
<li><a href="../../about/index.html">About</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li><a href="../../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<a href="../../contact/index.html" class="btn btn--ghost-white btn--full">Request a Quote</a>
|
||||
<a href="tel:+16508339380" class="nav__overlay-phone">(650) 833-9380</a>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<main id="main-content">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="page-hero bg-graphite">
|
||||
<div class="page-hero__inner container">
|
||||
<nav class="breadcrumb" aria-label="Breadcrumb">
|
||||
<ol role="list">
|
||||
<li><a href="../../index.html">Home</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li aria-current="page">Painting</li>
|
||||
</ol>
|
||||
</nav>
|
||||
<p class="section-eyebrow">Interior & Exterior</p>
|
||||
<h1 class="page-hero__title">Painting</h1>
|
||||
<p class="page-hero__lead">From prep to final coat, Diana handles painting projects of all sizes — interior rooms, exterior siding, and trim work.</p>
|
||||
<a href="../../contact/index.html" class="btn btn--primary">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="service-detail section">
|
||||
<div class="container">
|
||||
|
||||
|
||||
<div class="service-detail__gallery">
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/painting-5-min.jpg"
|
||||
alt="Exterior of a dark brown house with red-framed windows, freshly painted."
|
||||
loading="eager"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/painting-6-min.jpg"
|
||||
alt="Spacious room with coffered ceiling and French doors painted in a warm neutral tone."
|
||||
loading="lazy"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/painting-1-min.png"
|
||||
alt="Two-story beige house with white trim and columns at the entrance."
|
||||
loading="lazy"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="service-detail__body">
|
||||
<h2>What's included</h2>
|
||||
|
||||
<ul class="service-detail__list">
|
||||
|
||||
<li>Interior wall and ceiling painting</li>
|
||||
|
||||
<li>Exterior siding and trim painting</li>
|
||||
|
||||
<li>Prep work — patching, priming, and masking</li>
|
||||
|
||||
<li>Trim and door painting</li>
|
||||
|
||||
<li>Color consultation</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<div class="service-detail__area">
|
||||
<p>Diana serves San Francisco and the wider Bay Area within 50 miles, including Oakland, Berkeley, Marin County, Palo Alto, and beyond.</p>
|
||||
</div>
|
||||
|
||||
<a href="../../contact/index.html" class="btn btn--primary">Request a Quote</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="cta-band" aria-label="Call to action">
|
||||
<div class="cta-band__inner">
|
||||
<p class="section-eyebrow">Ready to get started?</p>
|
||||
<h2 class="cta-band__title">Let's talk about your project.</h2>
|
||||
<p class="cta-band__sub">Diana responds within 1–2 business days.</p>
|
||||
<a href="../../contact/index.html" class="btn btn--ghost-white">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__inner container">
|
||||
|
||||
<div>
|
||||
<a href="../../index.html" class="footer__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="footer__brand-her">HER</span>
|
||||
<span class="footer__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="footer__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<nav aria-label="Footer navigation">
|
||||
<p class="footer__nav-heading">Services in the Bay Area</p>
|
||||
<div class="footer__nav-cols">
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
<li><a href="../../services/painting/index.html">Painting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/tile-setting/index.html">Tile Setting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/drywall/index.html">Drywall & Sheetrocking</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/plumbing/index.html">Minor Plumbing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/electrical/index.html">Minor Electrical</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/carpentry-and-mounting/index.html">Carpentry & Mounting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/flooring/index.html">Flooring & Wood Refinishing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/security-safety/index.html">Security & Safety Equipment</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/boat-work/index.html">Boat Work</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div>
|
||||
<p class="footer__nav-heading">Contact</p>
|
||||
<div class="footer__contact">
|
||||
<a href="tel:+16508339380">(650) 833-9380</a>
|
||||
<a href="mailto:diana@spotlighthis.com">diana@spotlighthis.com</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="footer__bottom">
|
||||
<div class="container">
|
||||
<p>© 2026 Home Enhancement & Restoration — HER. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
<script src="../../js/main.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
336
_site/services/plumbing/index.html
Normal file
@@ -0,0 +1,336 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Minor Plumbing in San Francisco | HER</title>
|
||||
|
||||
|
||||
<meta name="description" content="Quick, clean plumbing repairs and replacements — no mess left behind. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
|
||||
|
||||
<link rel="canonical" href="https://her-sf.com/services/plumbing/">
|
||||
|
||||
|
||||
<meta property="og:title" content="Minor Plumbing in San Francisco | HER">
|
||||
<meta property="og:description" content="Quick, clean plumbing repairs and replacements — no mess left behind. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://her-sf.com/services/plumbing/">
|
||||
<meta property="og:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Minor Plumbing in San Francisco | HER">
|
||||
<meta name="twitter:description" content="Quick, clean plumbing repairs and replacements — no mess left behind. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
<meta name="twitter:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@1,9..144,400&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600&display=swap">
|
||||
|
||||
<link rel="stylesheet" href="../../css/main.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "LocalBusiness",
|
||||
"@id": "https://her-sf.com/#business",
|
||||
"name": "Home Enhancement and Renovation — HER",
|
||||
"url": "https://her-sf.com",
|
||||
"telephone": "+16508339380",
|
||||
"email": "diana@spotlighthis.com",
|
||||
"image": "https://her-sf.com/assets/diana_photo-min-1-scaled.webp",
|
||||
"priceRange": "$$",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"addressLocality": "San Francisco",
|
||||
"addressRegion": "CA",
|
||||
"addressCountry": "US"
|
||||
},
|
||||
"geo": {
|
||||
"@type": "GeoCoordinates",
|
||||
"latitude": 37.7749,
|
||||
"longitude": -122.4194
|
||||
},
|
||||
"areaServed": [
|
||||
"San Francisco", "Oakland", "Berkeley", "San Jose", "Palo Alto",
|
||||
"Marin County", "Tiburon", "Sausalito", "Daly City",
|
||||
"South San Francisco", "Burlingame", "San Mateo", "Redwood City",
|
||||
"Menlo Park", "Fremont", "Alameda"
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a href="#main-content" class="skip-link">Skip to main content</a>
|
||||
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav__inner container">
|
||||
|
||||
<a href="../../index.html" class="nav__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="nav__brand-her">HER</span>
|
||||
<span class="nav__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="nav__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
|
||||
<nav aria-label="Main navigation">
|
||||
<ul class="nav__links" role="list">
|
||||
<li><a href="../../about/index.html">About</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li><a href="../../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="nav__actions">
|
||||
<a href="tel:+16508339380" class="nav__phone" aria-label="Call Diana at (650) 833-9380">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
||||
<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.4 2 2 0 0 1 3.6 1.22h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L7.91 8.78a16 16 0 0 0 6 6l.92-.92a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 21.5 16h.5a2 2 0 0 1 .02.92z"/>
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<a href="../../contact/index.html" class="btn btn--primary" style="display:none" id="nav-cta">Request a Quote</a>
|
||||
|
||||
<button
|
||||
class="nav__toggle"
|
||||
aria-label="Open menu"
|
||||
aria-expanded="false"
|
||||
aria-controls="nav-overlay"
|
||||
>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="nav__overlay" id="nav-overlay" hidden>
|
||||
<button class="nav__overlay-close" aria-label="Close menu">✕</button>
|
||||
<nav aria-label="Mobile navigation">
|
||||
<ul role="list">
|
||||
<li><a href="../../about/index.html">About</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li><a href="../../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<a href="../../contact/index.html" class="btn btn--ghost-white btn--full">Request a Quote</a>
|
||||
<a href="tel:+16508339380" class="nav__overlay-phone">(650) 833-9380</a>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<main id="main-content">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="page-hero bg-graphite">
|
||||
<div class="page-hero__inner container">
|
||||
<nav class="breadcrumb" aria-label="Breadcrumb">
|
||||
<ol role="list">
|
||||
<li><a href="../../index.html">Home</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li aria-current="page">Minor Plumbing</li>
|
||||
</ol>
|
||||
</nav>
|
||||
<p class="section-eyebrow">Sinks, Toilets & Showers</p>
|
||||
<h1 class="page-hero__title">Minor Plumbing</h1>
|
||||
<p class="page-hero__lead">Quick, clean plumbing repairs and replacements — no mess left behind.</p>
|
||||
<a href="../../contact/index.html" class="btn btn--primary">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="service-detail section">
|
||||
<div class="container">
|
||||
|
||||
|
||||
<div class="service-detail__gallery">
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/plumbing-3-min.png"
|
||||
alt="Dual-basin stainless steel kitchen sink with a high-arc faucet, newly installed."
|
||||
loading="eager"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/plumbing-6-min.png"
|
||||
alt="Chrome bathroom sink faucet with two handles, polished and installed."
|
||||
loading="lazy"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/plumbing-2-min.png"
|
||||
alt="White bathroom sink with running water from a chrome faucet."
|
||||
loading="lazy"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="service-detail__body">
|
||||
<h2>What's included</h2>
|
||||
|
||||
<ul class="service-detail__list">
|
||||
|
||||
<li>Sink repairs and faucet replacement</li>
|
||||
|
||||
<li>Toilet repairs and replacement</li>
|
||||
|
||||
<li>Shower and tub repairs</li>
|
||||
|
||||
<li>Showerhead and handle replacement</li>
|
||||
|
||||
<li>Under-sink plumbing fixes</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<div class="service-detail__area">
|
||||
<p>Diana serves San Francisco and the wider Bay Area within 50 miles, including Oakland, Berkeley, Marin County, Palo Alto, and beyond.</p>
|
||||
</div>
|
||||
|
||||
<a href="../../contact/index.html" class="btn btn--primary">Request a Quote</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="cta-band" aria-label="Call to action">
|
||||
<div class="cta-band__inner">
|
||||
<p class="section-eyebrow">Ready to get started?</p>
|
||||
<h2 class="cta-band__title">Let's talk about your project.</h2>
|
||||
<p class="cta-band__sub">Diana responds within 1–2 business days.</p>
|
||||
<a href="../../contact/index.html" class="btn btn--ghost-white">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__inner container">
|
||||
|
||||
<div>
|
||||
<a href="../../index.html" class="footer__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="footer__brand-her">HER</span>
|
||||
<span class="footer__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="footer__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<nav aria-label="Footer navigation">
|
||||
<p class="footer__nav-heading">Services in the Bay Area</p>
|
||||
<div class="footer__nav-cols">
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
<li><a href="../../services/painting/index.html">Painting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/tile-setting/index.html">Tile Setting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/drywall/index.html">Drywall & Sheetrocking</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/plumbing/index.html">Minor Plumbing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/electrical/index.html">Minor Electrical</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/carpentry-and-mounting/index.html">Carpentry & Mounting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/flooring/index.html">Flooring & Wood Refinishing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/security-safety/index.html">Security & Safety Equipment</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/boat-work/index.html">Boat Work</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div>
|
||||
<p class="footer__nav-heading">Contact</p>
|
||||
<div class="footer__contact">
|
||||
<a href="tel:+16508339380">(650) 833-9380</a>
|
||||
<a href="mailto:diana@spotlighthis.com">diana@spotlighthis.com</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="footer__bottom">
|
||||
<div class="container">
|
||||
<p>© 2026 Home Enhancement & Restoration — HER. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
<script src="../../js/main.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
326
_site/services/security-safety/index.html
Normal file
@@ -0,0 +1,326 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Security &amp; Safety Equipment in San Francisco | HER</title>
|
||||
|
||||
|
||||
<meta name="description" content="Make your home safer and more secure — for aging in place, peace of mind, or both. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
|
||||
|
||||
<link rel="canonical" href="https://her-sf.com/services/security-safety/">
|
||||
|
||||
|
||||
<meta property="og:title" content="Security &amp; Safety Equipment in San Francisco | HER">
|
||||
<meta property="og:description" content="Make your home safer and more secure — for aging in place, peace of mind, or both. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://her-sf.com/services/security-safety/">
|
||||
<meta property="og:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Security &amp; Safety Equipment in San Francisco | HER">
|
||||
<meta name="twitter:description" content="Make your home safer and more secure — for aging in place, peace of mind, or both. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
<meta name="twitter:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@1,9..144,400&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600&display=swap">
|
||||
|
||||
<link rel="stylesheet" href="../../css/main.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "LocalBusiness",
|
||||
"@id": "https://her-sf.com/#business",
|
||||
"name": "Home Enhancement and Renovation — HER",
|
||||
"url": "https://her-sf.com",
|
||||
"telephone": "+16508339380",
|
||||
"email": "diana@spotlighthis.com",
|
||||
"image": "https://her-sf.com/assets/diana_photo-min-1-scaled.webp",
|
||||
"priceRange": "$$",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"addressLocality": "San Francisco",
|
||||
"addressRegion": "CA",
|
||||
"addressCountry": "US"
|
||||
},
|
||||
"geo": {
|
||||
"@type": "GeoCoordinates",
|
||||
"latitude": 37.7749,
|
||||
"longitude": -122.4194
|
||||
},
|
||||
"areaServed": [
|
||||
"San Francisco", "Oakland", "Berkeley", "San Jose", "Palo Alto",
|
||||
"Marin County", "Tiburon", "Sausalito", "Daly City",
|
||||
"South San Francisco", "Burlingame", "San Mateo", "Redwood City",
|
||||
"Menlo Park", "Fremont", "Alameda"
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a href="#main-content" class="skip-link">Skip to main content</a>
|
||||
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav__inner container">
|
||||
|
||||
<a href="../../index.html" class="nav__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="nav__brand-her">HER</span>
|
||||
<span class="nav__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="nav__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
|
||||
<nav aria-label="Main navigation">
|
||||
<ul class="nav__links" role="list">
|
||||
<li><a href="../../about/index.html">About</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li><a href="../../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="nav__actions">
|
||||
<a href="tel:+16508339380" class="nav__phone" aria-label="Call Diana at (650) 833-9380">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
||||
<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.4 2 2 0 0 1 3.6 1.22h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L7.91 8.78a16 16 0 0 0 6 6l.92-.92a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 21.5 16h.5a2 2 0 0 1 .02.92z"/>
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<a href="../../contact/index.html" class="btn btn--primary" style="display:none" id="nav-cta">Request a Quote</a>
|
||||
|
||||
<button
|
||||
class="nav__toggle"
|
||||
aria-label="Open menu"
|
||||
aria-expanded="false"
|
||||
aria-controls="nav-overlay"
|
||||
>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="nav__overlay" id="nav-overlay" hidden>
|
||||
<button class="nav__overlay-close" aria-label="Close menu">✕</button>
|
||||
<nav aria-label="Mobile navigation">
|
||||
<ul role="list">
|
||||
<li><a href="../../about/index.html">About</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li><a href="../../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<a href="../../contact/index.html" class="btn btn--ghost-white btn--full">Request a Quote</a>
|
||||
<a href="tel:+16508339380" class="nav__overlay-phone">(650) 833-9380</a>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<main id="main-content">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="page-hero bg-graphite">
|
||||
<div class="page-hero__inner container">
|
||||
<nav class="breadcrumb" aria-label="Breadcrumb">
|
||||
<ol role="list">
|
||||
<li><a href="../../index.html">Home</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li aria-current="page">Security & Safety Equipment</li>
|
||||
</ol>
|
||||
</nav>
|
||||
<p class="section-eyebrow">Grab Bars, Locks & Cameras</p>
|
||||
<h1 class="page-hero__title">Security <span class="amp">&</span> Safety Equipment</h1>
|
||||
<p class="page-hero__lead">Make your home safer and more secure — for aging in place, peace of mind, or both.</p>
|
||||
<a href="../../contact/index.html" class="btn btn--primary">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="service-detail section">
|
||||
<div class="container">
|
||||
|
||||
|
||||
<div class="service-detail__gallery">
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/grab-bar-min.png"
|
||||
alt="White grab bar securely mounted to a bathroom wall for safety."
|
||||
loading="eager"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/security-garage-door-min.png"
|
||||
alt="Metal security hardware being installed on a garage door track."
|
||||
loading="lazy"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="service-detail__body">
|
||||
<h2>What's included</h2>
|
||||
|
||||
<ul class="service-detail__list">
|
||||
|
||||
<li>Grab bar installation for showers and stairways</li>
|
||||
|
||||
<li>Door security bars and reinforcement</li>
|
||||
|
||||
<li>Window security mesh installation</li>
|
||||
|
||||
<li>Security camera installation (mobile-monitored)</li>
|
||||
|
||||
<li>Extra lock installation</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<div class="service-detail__area">
|
||||
<p>Diana serves San Francisco and the wider Bay Area within 50 miles, including Oakland, Berkeley, Marin County, Palo Alto, and beyond.</p>
|
||||
</div>
|
||||
|
||||
<a href="../../contact/index.html" class="btn btn--primary">Request a Quote</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="cta-band" aria-label="Call to action">
|
||||
<div class="cta-band__inner">
|
||||
<p class="section-eyebrow">Ready to get started?</p>
|
||||
<h2 class="cta-band__title">Let's talk about your project.</h2>
|
||||
<p class="cta-band__sub">Diana responds within 1–2 business days.</p>
|
||||
<a href="../../contact/index.html" class="btn btn--ghost-white">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__inner container">
|
||||
|
||||
<div>
|
||||
<a href="../../index.html" class="footer__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="footer__brand-her">HER</span>
|
||||
<span class="footer__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="footer__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<nav aria-label="Footer navigation">
|
||||
<p class="footer__nav-heading">Services in the Bay Area</p>
|
||||
<div class="footer__nav-cols">
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
<li><a href="../../services/painting/index.html">Painting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/tile-setting/index.html">Tile Setting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/drywall/index.html">Drywall & Sheetrocking</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/plumbing/index.html">Minor Plumbing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/electrical/index.html">Minor Electrical</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/carpentry-and-mounting/index.html">Carpentry & Mounting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/flooring/index.html">Flooring & Wood Refinishing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/security-safety/index.html">Security & Safety Equipment</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/boat-work/index.html">Boat Work</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div>
|
||||
<p class="footer__nav-heading">Contact</p>
|
||||
<div class="footer__contact">
|
||||
<a href="tel:+16508339380">(650) 833-9380</a>
|
||||
<a href="mailto:diana@spotlighthis.com">diana@spotlighthis.com</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="footer__bottom">
|
||||
<div class="container">
|
||||
<p>© 2026 Home Enhancement & Restoration — HER. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
<script src="../../js/main.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
336
_site/services/tile-setting/index.html
Normal file
@@ -0,0 +1,336 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Tile Setting in San Francisco | HER</title>
|
||||
|
||||
|
||||
<meta name="description" content="Precise tile work for kitchens, bathrooms, entryways, and patios — all sizes and styles, installed right. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
|
||||
|
||||
<link rel="canonical" href="https://her-sf.com/services/tile-setting/">
|
||||
|
||||
|
||||
<meta property="og:title" content="Tile Setting in San Francisco | HER">
|
||||
<meta property="og:description" content="Precise tile work for kitchens, bathrooms, entryways, and patios — all sizes and styles, installed right. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://her-sf.com/services/tile-setting/">
|
||||
<meta property="og:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Tile Setting in San Francisco | HER">
|
||||
<meta name="twitter:description" content="Precise tile work for kitchens, bathrooms, entryways, and patios — all sizes and styles, installed right. Diana serves San Francisco and the Bay Area within 50 miles.">
|
||||
<meta name="twitter:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@1,9..144,400&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600&display=swap">
|
||||
|
||||
<link rel="stylesheet" href="../../css/main.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "LocalBusiness",
|
||||
"@id": "https://her-sf.com/#business",
|
||||
"name": "Home Enhancement and Renovation — HER",
|
||||
"url": "https://her-sf.com",
|
||||
"telephone": "+16508339380",
|
||||
"email": "diana@spotlighthis.com",
|
||||
"image": "https://her-sf.com/assets/diana_photo-min-1-scaled.webp",
|
||||
"priceRange": "$$",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"addressLocality": "San Francisco",
|
||||
"addressRegion": "CA",
|
||||
"addressCountry": "US"
|
||||
},
|
||||
"geo": {
|
||||
"@type": "GeoCoordinates",
|
||||
"latitude": 37.7749,
|
||||
"longitude": -122.4194
|
||||
},
|
||||
"areaServed": [
|
||||
"San Francisco", "Oakland", "Berkeley", "San Jose", "Palo Alto",
|
||||
"Marin County", "Tiburon", "Sausalito", "Daly City",
|
||||
"South San Francisco", "Burlingame", "San Mateo", "Redwood City",
|
||||
"Menlo Park", "Fremont", "Alameda"
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a href="#main-content" class="skip-link">Skip to main content</a>
|
||||
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav__inner container">
|
||||
|
||||
<a href="../../index.html" class="nav__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="nav__brand-her">HER</span>
|
||||
<span class="nav__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="nav__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
|
||||
<nav aria-label="Main navigation">
|
||||
<ul class="nav__links" role="list">
|
||||
<li><a href="../../about/index.html">About</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li><a href="../../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="nav__actions">
|
||||
<a href="tel:+16508339380" class="nav__phone" aria-label="Call Diana at (650) 833-9380">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
||||
<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.4 2 2 0 0 1 3.6 1.22h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L7.91 8.78a16 16 0 0 0 6 6l.92-.92a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 21.5 16h.5a2 2 0 0 1 .02.92z"/>
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<a href="../../contact/index.html" class="btn btn--primary" style="display:none" id="nav-cta">Request a Quote</a>
|
||||
|
||||
<button
|
||||
class="nav__toggle"
|
||||
aria-label="Open menu"
|
||||
aria-expanded="false"
|
||||
aria-controls="nav-overlay"
|
||||
>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="nav__overlay" id="nav-overlay" hidden>
|
||||
<button class="nav__overlay-close" aria-label="Close menu">✕</button>
|
||||
<nav aria-label="Mobile navigation">
|
||||
<ul role="list">
|
||||
<li><a href="../../about/index.html">About</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li><a href="../../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<a href="../../contact/index.html" class="btn btn--ghost-white btn--full">Request a Quote</a>
|
||||
<a href="tel:+16508339380" class="nav__overlay-phone">(650) 833-9380</a>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<main id="main-content">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="page-hero bg-graphite">
|
||||
<div class="page-hero__inner container">
|
||||
<nav class="breadcrumb" aria-label="Breadcrumb">
|
||||
<ol role="list">
|
||||
<li><a href="../../index.html">Home</a></li>
|
||||
<li><a href="../../services/index.html">Services</a></li>
|
||||
<li aria-current="page">Tile Setting</li>
|
||||
</ol>
|
||||
</nav>
|
||||
<p class="section-eyebrow">Kitchens, Bathrooms & More</p>
|
||||
<h1 class="page-hero__title">Tile Setting</h1>
|
||||
<p class="page-hero__lead">Precise tile work for kitchens, bathrooms, entryways, and patios — all sizes and styles, installed right.</p>
|
||||
<a href="../../contact/index.html" class="btn btn--primary">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="service-detail section">
|
||||
<div class="container">
|
||||
|
||||
|
||||
<div class="service-detail__gallery">
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/tile-setting-4-min.png"
|
||||
alt="Modern bathroom with brown tiled walls and a white sink, freshly tiled."
|
||||
loading="eager"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/tile-setting-6-min.png"
|
||||
alt="Modern kitchen with a black and white mosaic tile backsplash."
|
||||
loading="lazy"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
<figure>
|
||||
<img
|
||||
src="../../assets/tile-setting-5-min.png"
|
||||
alt="Kitchen with a tiled floor, beige cabinets, and a blue island."
|
||||
loading="lazy"
|
||||
width="800"
|
||||
height="600"
|
||||
>
|
||||
</figure>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="service-detail__body">
|
||||
<h2>What's included</h2>
|
||||
|
||||
<ul class="service-detail__list">
|
||||
|
||||
<li>Tile removal and surface preparation</li>
|
||||
|
||||
<li>New tile installation — kitchens, bathrooms, entryways, patios</li>
|
||||
|
||||
<li>All tile sizes and types (ceramic, porcelain, natural stone)</li>
|
||||
|
||||
<li>Grouting and sealing</li>
|
||||
|
||||
<li>Backsplash installation</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<div class="service-detail__area">
|
||||
<p>Diana serves San Francisco and the wider Bay Area within 50 miles, including Oakland, Berkeley, Marin County, Palo Alto, and beyond.</p>
|
||||
</div>
|
||||
|
||||
<a href="../../contact/index.html" class="btn btn--primary">Request a Quote</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="cta-band" aria-label="Call to action">
|
||||
<div class="cta-band__inner">
|
||||
<p class="section-eyebrow">Ready to get started?</p>
|
||||
<h2 class="cta-band__title">Let's talk about your project.</h2>
|
||||
<p class="cta-band__sub">Diana responds within 1–2 business days.</p>
|
||||
<a href="../../contact/index.html" class="btn btn--ghost-white">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__inner container">
|
||||
|
||||
<div>
|
||||
<a href="../../index.html" class="footer__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="footer__brand-her">HER</span>
|
||||
<span class="footer__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="footer__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<nav aria-label="Footer navigation">
|
||||
<p class="footer__nav-heading">Services in the Bay Area</p>
|
||||
<div class="footer__nav-cols">
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
<li><a href="../../services/painting/index.html">Painting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/tile-setting/index.html">Tile Setting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/drywall/index.html">Drywall & Sheetrocking</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/plumbing/index.html">Minor Plumbing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/electrical/index.html">Minor Electrical</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/carpentry-and-mounting/index.html">Carpentry & Mounting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/flooring/index.html">Flooring & Wood Refinishing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/security-safety/index.html">Security & Safety Equipment</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../../services/boat-work/index.html">Boat Work</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div>
|
||||
<p class="footer__nav-heading">Contact</p>
|
||||
<div class="footer__contact">
|
||||
<a href="tel:+16508339380">(650) 833-9380</a>
|
||||
<a href="mailto:diana@spotlighthis.com">diana@spotlighthis.com</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="footer__bottom">
|
||||
<div class="container">
|
||||
<p>© 2026 Home Enhancement & Restoration — HER. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
<script src="../../js/main.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
96
_site/sitemap.xml
Normal file
@@ -0,0 +1,96 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
|
||||
|
||||
<url>
|
||||
<loc>https://her-sf.com/</loc>
|
||||
<changefreq>weekly</changefreq>
|
||||
<priority>1.0</priority>
|
||||
</url>
|
||||
|
||||
|
||||
<url>
|
||||
<loc>https://her-sf.com/services/</loc>
|
||||
<changefreq>weekly</changefreq>
|
||||
<priority>0.9</priority>
|
||||
</url>
|
||||
|
||||
|
||||
|
||||
<url>
|
||||
<loc>https://her-sf.com/services/painting/</loc>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://her-sf.com/services/tile-setting/</loc>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://her-sf.com/services/drywall/</loc>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://her-sf.com/services/plumbing/</loc>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://her-sf.com/services/electrical/</loc>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://her-sf.com/services/carpentry-and-mounting/</loc>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://her-sf.com/services/flooring/</loc>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://her-sf.com/services/security-safety/</loc>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://her-sf.com/services/boat-work/</loc>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
|
||||
|
||||
|
||||
<url>
|
||||
<loc>https://her-sf.com/contact/</loc>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
|
||||
|
||||
<url>
|
||||
<loc>https://her-sf.com/about/</loc>
|
||||
<changefreq>yearly</changefreq>
|
||||
<priority>0.7</priority>
|
||||
</url>
|
||||
|
||||
|
||||
<url>
|
||||
<loc>https://her-sf.com/testimonials/</loc>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.7</priority>
|
||||
</url>
|
||||
|
||||
</urlset>
|
||||
302
_site/testimonials/index.html
Normal file
@@ -0,0 +1,302 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Client Reviews | HER</title>
|
||||
|
||||
|
||||
<meta name="description" content="Read what Diana's clients say about her work — reliable, hardworking, and easy to work with across San Francisco and the Bay Area.">
|
||||
|
||||
|
||||
<link rel="canonical" href="https://her-sf.com/testimonials/">
|
||||
|
||||
|
||||
<meta property="og:title" content="Client Reviews | HER">
|
||||
<meta property="og:description" content="Read what Diana's clients say about her work — reliable, hardworking, and easy to work with across San Francisco and the Bay Area.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://her-sf.com/testimonials/">
|
||||
<meta property="og:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Client Reviews | HER">
|
||||
<meta name="twitter:description" content="Read what Diana's clients say about her work — reliable, hardworking, and easy to work with across San Francisco and the Bay Area.">
|
||||
<meta name="twitter:image" content="https://her-sf.com/assets/diana_photo-min-1-scaled.webp">
|
||||
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@1,9..144,400&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600&display=swap">
|
||||
|
||||
<link rel="stylesheet" href="../css/main.css">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "LocalBusiness",
|
||||
"@id": "https://her-sf.com/#business",
|
||||
"name": "Home Enhancement and Renovation — HER",
|
||||
"url": "https://her-sf.com",
|
||||
"telephone": "+16508339380",
|
||||
"email": "diana@spotlighthis.com",
|
||||
"image": "https://her-sf.com/assets/diana_photo-min-1-scaled.webp",
|
||||
"priceRange": "$$",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"addressLocality": "San Francisco",
|
||||
"addressRegion": "CA",
|
||||
"addressCountry": "US"
|
||||
},
|
||||
"geo": {
|
||||
"@type": "GeoCoordinates",
|
||||
"latitude": 37.7749,
|
||||
"longitude": -122.4194
|
||||
},
|
||||
"areaServed": [
|
||||
"San Francisco", "Oakland", "Berkeley", "San Jose", "Palo Alto",
|
||||
"Marin County", "Tiburon", "Sausalito", "Daly City",
|
||||
"South San Francisco", "Burlingame", "San Mateo", "Redwood City",
|
||||
"Menlo Park", "Fremont", "Alameda"
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a href="#main-content" class="skip-link">Skip to main content</a>
|
||||
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav__inner container">
|
||||
|
||||
<a href="../index.html" class="nav__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="nav__brand-her">HER</span>
|
||||
<span class="nav__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="nav__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
|
||||
<nav aria-label="Main navigation">
|
||||
<ul class="nav__links" role="list">
|
||||
<li><a href="../about/index.html">About</a></li>
|
||||
<li><a href="../services/index.html">Services</a></li>
|
||||
<li><a href="../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="nav__actions">
|
||||
<a href="tel:+16508339380" class="nav__phone" aria-label="Call Diana at (650) 833-9380">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
||||
<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.4 2 2 0 0 1 3.6 1.22h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L7.91 8.78a16 16 0 0 0 6 6l.92-.92a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 21.5 16h.5a2 2 0 0 1 .02.92z"/>
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<a href="../contact/index.html" class="btn btn--primary" style="display:none" id="nav-cta">Request a Quote</a>
|
||||
|
||||
<button
|
||||
class="nav__toggle"
|
||||
aria-label="Open menu"
|
||||
aria-expanded="false"
|
||||
aria-controls="nav-overlay"
|
||||
>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
<span class="nav__bar"></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="nav__overlay" id="nav-overlay" hidden>
|
||||
<button class="nav__overlay-close" aria-label="Close menu">✕</button>
|
||||
<nav aria-label="Mobile navigation">
|
||||
<ul role="list">
|
||||
<li><a href="../about/index.html">About</a></li>
|
||||
<li><a href="../services/index.html">Services</a></li>
|
||||
<li><a href="../testimonials/index.html">Testimonials</a></li>
|
||||
<li><a href="../contact/index.html">Contact</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<a href="../contact/index.html" class="btn btn--ghost-white btn--full">Request a Quote</a>
|
||||
<a href="tel:+16508339380" class="nav__overlay-phone">(650) 833-9380</a>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<main id="main-content">
|
||||
|
||||
|
||||
<section class="page-hero bg-graphite">
|
||||
<div class="page-hero__inner container">
|
||||
<p class="section-eyebrow">Testimonials</p>
|
||||
<h1 class="page-hero__title">What clients say.</h1>
|
||||
<p class="page-hero__lead">From San Francisco homeowners who've worked with Diana.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section class="testimonials-page section bg-linen">
|
||||
<div class="testimonials-page__grid container">
|
||||
|
||||
<div class="testimonial-full fade-up">
|
||||
<blockquote>
|
||||
<p class="testimonial-full__quote">“Diana can pretty much do anything. She saved me when I was selling my house and had a big list of miscellaneous tasks to be done. She is so resourceful — if she didn't readily know a solution she researched it and presented me with options. What impressed me was her work ethic. She doesn't have to be hounded to finish a job. She takes accountability and delivers. She's a rare find because she is so reliable, talented, hardworking and resourceful!”</p>
|
||||
<footer>
|
||||
<p class="testimonial-full__author">Wendy Brummer</p>
|
||||
|
||||
<p class="testimonial-full__city">San Francisco</p>
|
||||
|
||||
</footer>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<div class="testimonial-full fade-up">
|
||||
<blockquote>
|
||||
<p class="testimonial-full__quote">“I have hired Diana Carey for a variety of tasks. She is hardworking, trustworthy, and does excellent work. Bonus points for excellent communication and a keen eye on keeping things as affordable as possible. Highly recommended!”</p>
|
||||
<footer>
|
||||
<p class="testimonial-full__author">E. Blake Davis</p>
|
||||
|
||||
</footer>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<div class="testimonial-full fade-up">
|
||||
<blockquote>
|
||||
<p class="testimonial-full__quote">“Diana has helped me several times and she is now my go-to handyperson for all needs. She has been great! Very reliable, communicates well, and really dedicated to the best solution. Diana has a wide variety of skills and does quality work at reasonable rates. She gets my top rating.”</p>
|
||||
<footer>
|
||||
<p class="testimonial-full__author">David Snyder</p>
|
||||
|
||||
<p class="testimonial-full__city">Oakland</p>
|
||||
|
||||
</footer>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<div class="testimonial-full fade-up">
|
||||
<blockquote>
|
||||
<p class="testimonial-full__quote">“If you need a project done well and quickly with a combination of big picture perspective and meticulous attention to detail, Diana is THE person. It's hard to find a more competent person who is so thorough and really cares about doing the project well and on time.”</p>
|
||||
<footer>
|
||||
<p class="testimonial-full__author">Alice L. Harron</p>
|
||||
|
||||
</footer>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section class="cta-band" aria-label="Call to action">
|
||||
<div class="cta-band__inner">
|
||||
<p class="section-eyebrow">Ready to get started?</p>
|
||||
<h2 class="cta-band__title">Let's talk about your project.</h2>
|
||||
<p class="cta-band__sub">Diana responds within 1–2 business days.</p>
|
||||
<a href="../contact/index.html" class="btn btn--ghost-white">Request a Quote</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__inner container">
|
||||
|
||||
<div>
|
||||
<a href="../index.html" class="footer__brand" aria-label="HER Home Enhancement & Restoration — Home">
|
||||
<span class="footer__brand-her">HER</span>
|
||||
<span class="footer__brand-tagline" aria-hidden="true">Home Enhancement<br><span class="footer__brand-amp">&</span> Restoration</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<nav aria-label="Footer navigation">
|
||||
<p class="footer__nav-heading">Services in the Bay Area</p>
|
||||
<div class="footer__nav-cols">
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
<li><a href="../services/painting/index.html">Painting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/tile-setting/index.html">Tile Setting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/drywall/index.html">Drywall & Sheetrocking</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/plumbing/index.html">Minor Plumbing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/electrical/index.html">Minor Electrical</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
<ul class="footer__nav" role="list">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/carpentry-and-mounting/index.html">Carpentry & Mounting</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/flooring/index.html">Flooring & Wood Refinishing</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/security-safety/index.html">Security & Safety Equipment</a></li>
|
||||
|
||||
|
||||
|
||||
<li><a href="../services/boat-work/index.html">Boat Work</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div>
|
||||
<p class="footer__nav-heading">Contact</p>
|
||||
<div class="footer__contact">
|
||||
<a href="tel:+16508339380">(650) 833-9380</a>
|
||||
<a href="mailto:diana@spotlighthis.com">diana@spotlighthis.com</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="footer__bottom">
|
||||
<div class="container">
|
||||
<p>© 2026 Home Enhancement & Restoration — HER. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
<script src="../js/main.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||