commit 61457759221da02d230e34be6f4f598402e47097 Author: Nicola Leone Ciardi Date: Sun Apr 19 18:25:06 2026 +0200 initial diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..72f5f7d Binary files /dev/null and b/.DS_Store differ diff --git a/img/.DS_Store b/img/.DS_Store new file mode 100644 index 0000000..d8e286a Binary files /dev/null and b/img/.DS_Store differ diff --git a/img/avatar-1.png b/img/avatar-1.png new file mode 100644 index 0000000..279d30e --- /dev/null +++ b/img/avatar-1.png @@ -0,0 +1,4 @@ +Error 403 (Forbidden)!!1

403. That’s an error.

Your client does not have permission to get URL /aida/ADBb0ujL8BYLaVai7jMw3G3fh3kQUEHUkZ603MAlis-ciqDmwTfnUFfnNBtV8fQnPI0OdO3rjBWVCo2CFDq-s0AbCw8eqP9CiN44mqF6ndZpTfxDowD_rDax15QlhkcSdsiwB7bLUltJ9I5U-h4v6By9cw10J9w4kC3C8qGqZ8p2cpezTvm-DOynrdDM31l8y1KyiaXOzwLlkwVRz-T11_Ma7Qf0BvKofPjhKbxFYBGvC65MVMhjTgz27uRElsNivWwXHN30uq8a_KqriQ from this server. (Client IP address: 2a01:e11:a:cc70:e97d:915d:4e50:fe59)

+Forbidden + + That’s all we know. \ No newline at end of file diff --git a/img/avatar-2.png b/img/avatar-2.png new file mode 100644 index 0000000..3b9b007 Binary files /dev/null and b/img/avatar-2.png differ diff --git a/img/avatar-3.png b/img/avatar-3.png new file mode 100644 index 0000000..f154f45 Binary files /dev/null and b/img/avatar-3.png differ diff --git a/img/chi-sono.png b/img/chi-sono.png new file mode 100644 index 0000000..7c42dc9 Binary files /dev/null and b/img/chi-sono.png differ diff --git a/img/colonnina.png b/img/colonnina.png new file mode 100644 index 0000000..246ee2c Binary files /dev/null and b/img/colonnina.png differ diff --git a/img/hero-image.png b/img/hero-image.png new file mode 100644 index 0000000..d7eb9dc Binary files /dev/null and b/img/hero-image.png differ diff --git a/img/logo.png b/img/logo.png new file mode 100644 index 0000000..efd9181 Binary files /dev/null and b/img/logo.png differ diff --git a/img/mappa.png b/img/mappa.png new file mode 100644 index 0000000..dd134d6 Binary files /dev/null and b/img/mappa.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..8522f33 --- /dev/null +++ b/index.html @@ -0,0 +1,358 @@ + + + + + + Giampy Dog Service | Cura e Passione per il tuo Cane + + + + + + + +

+ + +
+
+
+

Dal 2018 con amore

+

La cura e l'amore che il tuo cane merita.

+

Un approccio umano e professionale per garantire il benessere del tuo compagno di vita, senza gabbie né solitudine.

+
+ + +
+
+
+
+ Giampy con un cane +
+
+
+ star + 5.0 Recensioni +
+

Il punto di riferimento per i proprietari di Sassari.

+
+
+
+
+ + +
+
+
+

Perché scegliere Giampy

+

Ogni cane viene seguito con attenzione, rispetto e presenza vera.

+
+
+
+
history
+
+

Esperienza dal 2018

+

Anni di dedizione quotidiana che hanno costruito una competenza solida e affidabile.

+
+
+
+
diversity_1
+
+

Rapporti Umani

+

Costruisco legami duraturi con i proprietari basati su fiducia e trasparenza totale.

+
+
+
+
verified_user
+
+

Approccio Professionale

+

Metodologia amichevole ma rigorosa nel rispetto delle abitudini del tuo cane.

+
+
+
+
house_siding
+
+

Senza Gabbie

+

Assoluto divieto di catene o gabbie. Libertà e comfort sono le nostre priorità.

+
+
+
+
+
+ + +
+
+
+

I Nostri Servizi

+

Soluzioni su misura per ogni esigenza, pensate per il massimo comfort del tuo cane.

+
+
+
+ pets +

Dogwalking

+

Passeggiate esplorative nei sentieri più belli di Sassari, per stimolare mente e corpo.

+ Prenota ora arrow_forward +
+
+ house +

Home Boarding

+

Dogsitting a domicilio o ospitalità casalinga. Il tuo cane si sentirà sempre nel suo ambiente.

+ Chiedi info arrow_forward +
+
+ celebration +

Wedding Dogsitter

+

Gestione professionale durante le cerimonie. Il tuo migliore amico presente nel tuo giorno speciale.

+ Scopri di più arrow_forward +
+
+
+
+ + +
+
+
+ Giampy passeggia con un cane +
+

"Rusty non è stato solo un cane, è stato il maestro che mi ha indicato la strada."

+ — Giampiero Scaglione +
+
+
+

CHI SONO

+

Dall'amore alla carriera CONI

+

La storia di Giampy Dog Service nasce da una necessità del cuore. Quello che era iniziato come un lavoro temporaneo si è evoluto in una missione di vita grazie a Rusty (il mitico Rustone).

+

Oggi, quella passione è diventata una carriera certificata CONI, unendo l'istinto alla formazione tecnica più rigorosa per offrire ai cani non solo assistenza, ma vera comprensione.

+
+
+ explore +
+ Cammino di Santiago + Percorso a piedi con il proprio cane, testando legame e resilienza. +
+
+
+ verified +
+ Certificazione CONI + Formazione professionale d'eccellenza in ambito cinofilo. +
+
+
+
+
+
+ + +
+
+

RICONOSCIMENTI E MEDIA

+
+ L'UNIONE SARDA + Sardegna Reporter + RADIO SUPER SOUND + QUALIFICA CONI + Corsa in Rosa + Giornata del Super Cane +
+
+
+ + +
+
+
+
+ Innovazione +

DogWash Sardegna

+

Il futuro della cura del cane è qui. Grazie a un incredibile successo nel crowdfunding e alla fiducia della community, stiamo portando le colonne di lavaggio automatico "DogWash" in tutta la Sardegna. Un servizio rapido, ecologico e comodo.

+ +
+ group + Un progetto nato dalla fiducia dei cittadini di Sassari. +
+
+
+ DogWash Machine +
+
+
+
+ + +
+
+
+
+

100+

Clienti Felici

+

2018

Anno Fondazione

+
+

I nostri ospiti dicono...

+

Più di semplici clienti, una grande famiglia pelosa.

+
+
+
+
+ Dog avatar +
+
"Giampiero è l'unico di cui mi fido ciecamente. Il mio Max torna sempre felice e rilassato dalle passeggiate. Servizio eccellente!"
+
+ Marta S. + Mamma di Max +
+
+
+
+ Dog avatar +
+
"Abbiamo usato il servizio Wedding Dogsitter ed è stato perfetto. Il nostro Luna è stato coccolato tutto il tempo e noi ci siamo goduti la festa."
+
+ Luca & Elena + Genitori di Luna +
+
+
+
+ Dog avatar +
+
"Pensione in appartamento fantastica. Nessuna gabbia, solo tanto amore. Giampiero ci ha mandato foto e video ogni giorno!"
+
+ Sara P. + Compagna di Felix +
+
+
+
+
+ + +
+
+
+

Affida il tuo cane a chi lo vive davvero.

+ keyboard_double_arrow_down +
+
+
+

Affida il tuo cane a chi lo vive davvero.

+

Hai domande o vuoi prenotare un servizio? Scrivici ora e verrai ricontattato in meno di 24 ore.

+
+
+ + +
+
+ + +
+
+ + +
+ +
+
+
+

Contatti Rapidi

+
+
call
+
+

Chiamaci

+

+39 347 123 4567

+
+
+
+
mail
+
+

Email

+

info@giampydogservice.it

+
+
+
+
forum
+
+

WhatsApp

+

Chatta con Giampiero

+
+
+
+ Mappa della sede +
+
+
+
+
+ + + + + + diff --git a/styles.css b/styles.css new file mode 100644 index 0000000..1fd8d2b --- /dev/null +++ b/styles.css @@ -0,0 +1,311 @@ +/* ===== RESET & BASE ===== */ +*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } + +:root { + --primary: #001d36; + --on-primary: #ffffff; + --secondary: #775a19; + --gold: #8B733D; + --cream: #EBE8DE; + --cream-light: #F1F0E9; + --bg: #fbf9f4; + --surface: #fbf9f4; + --on-surface: #1b1c19; + --on-surface-variant: #42474e; + --outline-variant: #c2c7cf; +} + +html { scroll-behavior: smooth; } + +body { + font-family: 'Manrope', sans-serif; + background: var(--bg); + color: var(--on-surface); + line-height: 1.6; +} + +img { max-width: 100%; height: auto; display: block; } +a { text-decoration: none; color: inherit; } +ul { list-style: none; } +button { cursor: pointer; border: none; font-family: inherit; } +input, textarea { font-family: inherit; outline: none; } + +.container { max-width: 1280px; margin: 0 auto; padding: 0 2rem; } + +/* ===== NAVBAR ===== */ +.navbar { + position: fixed; top: 0; width: 100%; z-index: 50; + background: rgba(251,249,244,0.8); + backdrop-filter: blur(12px); + border-bottom: 1px solid rgba(194,199,207,0.2); +} +.navbar .container { + display: flex; justify-content: space-between; align-items: center; + padding-top: 1rem; padding-bottom: 1rem; +} +.navbar-brand { display: flex; align-items: center; gap: 0.75rem; } +.navbar-brand img { height: 40px; width: 40px; object-fit: contain; } +.navbar-brand span { font-family: 'Newsreader', serif; font-size: 1.5rem; font-weight: 700; color: var(--primary); } +.navbar-links { display: flex; gap: 2rem; align-items: center; } +.navbar-links a { color: var(--primary); font-weight: 500; transition: color 0.2s; } +.navbar-links a:hover { color: var(--secondary); } +.btn-primary { + background: var(--primary); color: var(--on-primary); + padding: 0.625rem 1.5rem; font-weight: 600; transition: opacity 0.2s; +} +.btn-primary:hover { opacity: 0.9; } +.menu-toggle { display: none; background: none; font-size: 1.5rem; color: var(--primary); } + +/* ===== HERO ===== */ +.hero { + padding: 8rem 0 6rem; background: #fff; overflow: hidden; +} +.hero .container { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; } +.hero-subtitle { color: var(--secondary); font-weight: 700; font-size: 0.75rem; letter-spacing: 0.3em; text-transform: uppercase; } +.hero h1 { + font-family: 'Newsreader', serif; font-size: 4.5rem; line-height: 1.1; + color: var(--primary); font-weight: 700; margin: 1rem 0; +} +.hero h1 .gold { color: var(--gold); } +.hero-text { color: var(--on-surface-variant); font-size: 1.25rem; max-width: 32rem; line-height: 1.7; } +.hero-buttons { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; } +.hero-buttons .btn-big { + padding: 1.25rem 2.5rem; font-weight: 700; font-size: 0.875rem; text-transform: uppercase; + letter-spacing: 0.05em; display: inline-flex; align-items: center; gap: 0.5rem; transition: all 0.2s; +} +.hero-buttons .btn-big.filled { background: var(--primary); color: var(--on-primary); } +.hero-buttons .btn-big.outlined { border: 1px solid var(--primary); color: var(--primary); background: transparent; } +.hero-image { position: relative; } +.hero-image .organic-mask { + border-radius: 45% 55% 70% 30% / 30% 60% 40% 70%; + width: 100%; aspect-ratio: 1; overflow: hidden; +} +.hero-image .organic-mask img { width: 100%; height: 100%; object-fit: cover; } +.hero-badge { + position: absolute; bottom: 2.5rem; left: 0; + background: #fff; padding: 1.5rem; border-radius: 0.75rem; + box-shadow: 0 25px 50px rgba(0,0,0,0.15); max-width: 280px; +} +.hero-badge .stars { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.5rem; } +.hero-badge .stars span:first-child { color: var(--gold); font-size: 1.5rem; } +.hero-badge .stars span:last-child { font-weight: 700; color: var(--primary); } +.hero-badge p { font-size: 0.75rem; color: var(--on-surface-variant); } + +/* ===== WHY SECTION ===== */ +.why-section { padding: 6rem 0; background: var(--cream); } +.why-section .section-header { text-align: center; margin-bottom: 4rem; } +.why-section .section-header h2 { font-family: 'Newsreader', serif; font-size: 3rem; color: var(--gold); font-weight: 700; } +.why-section .section-header p { color: var(--on-surface-variant); font-size: 1.125rem; margin-top: 1rem; } +.why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; } +.why-card { + background: var(--cream-light); padding: 2.5rem; border-radius: 1.5rem; + display: flex; align-items: flex-start; gap: 1.5rem; +} +.why-card .icon-wrap { + background: var(--surface); padding: 1rem; border-radius: 50%; + display: flex; align-items: center; justify-content: center; flex-shrink: 0; +} +.why-card .icon-wrap .material-symbols-outlined { color: var(--gold); font-size: 1.75rem; } +.why-card h3 { font-size: 1.5rem; font-weight: 700; color: var(--primary); margin-bottom: 0.75rem; } +.why-card p { color: var(--on-surface-variant); line-height: 1.7; } + +/* ===== SERVICES ===== */ +.services { padding: 6rem 0; background: #fff; } +.services .section-header { margin-bottom: 4rem; } +.services .section-header h2 { font-family: 'Newsreader', serif; font-size: 3.5rem; color: var(--primary); font-weight: 700; } +.services .section-header p { color: var(--on-surface-variant); font-size: 1.25rem; margin-top: 1rem; } +.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; } +.service-card { + background: var(--cream-light); padding: 3rem; border-radius: 3rem; +} +.service-card .material-symbols-outlined { color: var(--gold); font-size: 3rem; } +.service-card h3 { font-size: 1.75rem; font-weight: 700; color: var(--primary); margin: 1.5rem 0 1rem; } +.service-card p { color: var(--on-surface-variant); font-size: 1.125rem; line-height: 1.7; margin-bottom: 1.5rem; } +.service-card a { + display: inline-flex; align-items: center; gap: 0.5rem; + color: var(--primary); font-weight: 700; border-bottom: 2px solid var(--primary); + padding-bottom: 0.25rem; transition: gap 0.2s; +} +.service-card a:hover { gap: 1rem; } + +/* ===== ABOUT ===== */ +.about { padding: 6rem 0; background: #fff; } +.about .container { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; } +.about-image { position: relative; } +.about-image img { + width: 100%; border-radius: 2.5rem; filter: grayscale(1); + box-shadow: 0 25px 50px rgba(0,0,0,0.15); +} +.about-quote { + position: absolute; bottom: -2.5rem; right: 2.5rem; + background: var(--primary); color: var(--on-primary); + padding: 3rem; border-radius: 1.5rem; max-width: 22rem; +} +.about-quote p { font-family: 'Newsreader', serif; font-style: italic; font-size: 1.25rem; line-height: 1.6; margin-bottom: 1.5rem; } +.about-quote cite { font-style: normal; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; opacity: 0.7; } +.about-label { color: var(--gold); font-weight: 700; letter-spacing: 0.15em; font-size: 0.75rem; text-transform: uppercase; } +.about-content h2 { font-family: 'Newsreader', serif; font-size: 3.5rem; color: var(--primary); font-weight: 700; line-height: 1.15; margin: 1rem 0 2.5rem; } +.about-content .desc { color: var(--on-surface-variant); font-size: 1.125rem; line-height: 1.7; margin-bottom: 1.5rem; } +.about-badges { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 2.5rem; } +.about-badge { display: flex; align-items: flex-start; gap: 1rem; } +.about-badge .material-symbols-outlined { color: var(--gold); margin-top: 0.125rem; } +.about-badge strong { color: var(--primary); display: block; margin-bottom: 0.25rem; } +.about-badge small { font-size: 0.875rem; color: var(--on-surface-variant); } + +/* ===== MEDIA STRIP ===== */ +.media-strip { padding: 3rem 0; background: var(--cream); border-top: 1px solid rgba(194,199,207,0.1); border-bottom: 1px solid rgba(194,199,207,0.1); } +.media-strip .label { + text-align: center; color: rgba(66,71,78,0.6); font-weight: 700; + text-transform: uppercase; letter-spacing: 0.3em; font-size: 0.625rem; margin-bottom: 3rem; +} +.media-logos { + display: flex; flex-wrap: wrap; justify-content: center; align-items: center; + gap: 2rem; opacity: 0.7; filter: grayscale(1); +} +.media-logos span { font-weight: 700; } + +/* ===== DOGWASH ===== */ +.dogwash { padding: 6rem 0; background: #fff; } +.dogwash-card { + background: var(--primary); border-radius: 3rem; overflow: hidden; + display: grid; grid-template-columns: 1fr 1fr; +} +.dogwash-text { padding: 4rem 6rem; color: var(--on-primary); display: flex; flex-direction: column; justify-content: center; gap: 2rem; } +.dogwash-text .tag { + background: rgba(241,240,233,0.2); color: var(--on-primary); + padding: 0.375rem 1rem; border-radius: 9999px; font-size: 0.75rem; + font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; + align-self: flex-start; +} +.dogwash-text h2 { font-family: 'Newsreader', serif; font-size: 3.5rem; font-weight: 700; line-height: 1.15; } +.dogwash-text p { font-size: 1.25rem; line-height: 1.7; opacity: 0.8; } +.dogwash-text .btn-white { + background: #fff; color: var(--primary); padding: 1.25rem 2.5rem; + font-weight: 700; display: inline-flex; align-items: center; gap: 0.75rem; + align-self: flex-start; transition: background 0.2s; +} +.dogwash-text .btn-white:hover { background: var(--cream); } +.dogwash-text .note { display: flex; align-items: center; gap: 1rem; font-size: 0.875rem; opacity: 0.6; } +.dogwash-image img { width: 100%; height: 100%; object-fit: cover; } + +/* ===== TESTIMONIALS ===== */ +.testimonials { padding: 6rem 0; background: var(--cream); } +.testimonials .section-header { text-align: center; margin-bottom: 5rem; } +.testimonials .stats { display: flex; justify-content: center; gap: 4rem; color: var(--gold); font-weight: 700; margin-bottom: 1.5rem; } +.testimonials .stats .number { font-size: 1.75rem; } +.testimonials .stats .label { font-size: 0.625rem; letter-spacing: 0.15em; text-transform: uppercase; } +.testimonials .section-header h2 { font-family: 'Newsreader', serif; font-size: 3.5rem; color: var(--primary); font-weight: 700; } +.testimonials .section-header > p { color: var(--on-surface-variant); font-size: 1.125rem; margin-top: 1rem; } +.testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; } +.testimonial-card { + background: #fff; padding: 3rem; padding-top: 5rem; border-radius: 3rem; + position: relative; text-align: center; box-shadow: 0 1px 3px rgba(0,0,0,0.05); +} +.testimonial-card .avatar { + position: absolute; top: -3rem; left: 50%; transform: translateX(-50%); + width: 6rem; height: 6rem; border-radius: 50%; border: 4px solid #fff; + overflow: hidden; box-shadow: 0 10px 25px rgba(0,0,0,0.15); background: var(--primary); +} +.testimonial-card .avatar img { width: 100%; height: 100%; object-fit: cover; } +.testimonial-card blockquote { color: var(--on-surface-variant); font-style: italic; font-size: 1.125rem; line-height: 1.7; margin-bottom: 2rem; } +.testimonial-card .author { border-top: 1px solid rgba(194,199,207,0.2); padding-top: 1.5rem; } +.testimonial-card .author strong { display: block; color: var(--primary); font-weight: 700; } +.testimonial-card .author small { color: var(--gold); font-weight: 700; font-size: 0.625rem; letter-spacing: 0.15em; text-transform: uppercase; } + +/* ===== CONTACT ===== */ +.contact { padding: 6rem 0; background: #fff; } +.contact-heading { + text-align: center; margin-bottom: 4rem; +} +.contact-heading h2 { + font-family: 'Newsreader', serif; font-size: 4rem; color: var(--primary); + font-weight: 700; line-height: 1.15; max-width: 700px; margin: 0 auto; +} +.contact-heading .arrow { color: var(--gold); font-size: 2rem; margin-top: 2rem; display: block; } +.contact-card { + background: var(--cream-light); border-radius: 3.5rem; overflow: hidden; + display: flex; box-shadow: 0 1px 3px rgba(0,0,0,0.05); +} +.contact-form { flex: 55%; padding: 5rem; background: #fff; } +.contact-form h3 { font-family: 'Newsreader', serif; font-size: 2rem; color: var(--primary); font-weight: 700; margin-bottom: 1.5rem; } +.contact-form > p { color: var(--on-surface-variant); margin-bottom: 2.5rem; } +.contact-form .field { margin-bottom: 2rem; } +.contact-form label { display: block; font-size: 0.875rem; font-weight: 700; color: var(--primary); margin-bottom: 0.75rem; } +.contact-form input, +.contact-form textarea { + width: 100%; background: rgba(235,232,222,0.3); border: none; + padding: 1.25rem; font-size: 1rem; transition: box-shadow 0.2s; +} +.contact-form input:focus, +.contact-form textarea:focus { box-shadow: 0 0 0 1px var(--gold); } +.contact-form textarea { height: 10rem; resize: vertical; } +.contact-form .btn-submit { + width: 100%; background: var(--primary); color: var(--on-primary); + padding: 1.5rem; border-radius: 9999px; font-weight: 700; font-size: 1.125rem; + box-shadow: 0 10px 25px rgba(0,0,0,0.15); transition: opacity 0.2s; +} +.contact-form .btn-submit:hover { opacity: 0.95; } +.contact-info { flex: 45%; padding: 5rem; background: rgba(235,232,222,0.4); } +.contact-info h3 { font-family: 'Newsreader', serif; font-size: 1.75rem; color: var(--primary); font-weight: 700; margin-bottom: 3rem; } +.contact-item { display: flex; align-items: center; gap: 1.5rem; margin-bottom: 2rem; } +.contact-item .icon-circle { + width: 3.5rem; height: 3.5rem; background: var(--cream); border-radius: 50%; + display: flex; align-items: center; justify-content: center; color: var(--gold); flex-shrink: 0; +} +.contact-item .label-small { font-size: 0.625rem; color: var(--on-surface-variant); font-weight: 700; text-transform: uppercase; letter-spacing: 0.15em; } +.contact-item .value { font-size: 1.25rem; font-weight: 700; color: var(--primary); } +.contact-map { border-radius: 2.5rem; overflow: hidden; height: 18rem; margin-top: 3rem; box-shadow: 0 10px 25px rgba(0,0,0,0.1); } +.contact-map img { width: 100%; height: 100%; object-fit: cover; } + +/* ===== FOOTER ===== */ +.footer { padding: 6rem 0 3rem; background: var(--cream); } +.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 4rem; } +.footer-brand { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 2rem; } +.footer-brand img { height: 40px; width: 40px; } +.footer-brand span { font-family: 'Newsreader', serif; font-size: 1.5rem; font-weight: 700; color: var(--primary); } +.footer-desc { color: var(--on-surface-variant); font-size: 0.875rem; line-height: 1.7; margin-bottom: 1.5rem; } +.footer-social { display: flex; gap: 1rem; } +.footer-social a { + width: 2.5rem; height: 2.5rem; border-radius: 50%; background: #fff; + display: flex; align-items: center; justify-content: center; + box-shadow: 0 1px 3px rgba(0,0,0,0.08); transition: color 0.2s; +} +.footer-social a:hover { color: var(--gold); } +.footer h4 { font-family: 'Newsreader', serif; font-size: 1.25rem; color: var(--primary); font-weight: 700; margin-bottom: 2rem; } +.footer ul li { margin-bottom: 1rem; } +.footer ul a { font-size: 0.875rem; color: var(--on-surface-variant); font-weight: 500; transition: color 0.2s; } +.footer ul a:hover { color: var(--gold); } +.footer .hours li { display: flex; justify-content: space-between; font-size: 0.875rem; color: var(--on-surface-variant); margin-bottom: 1.25rem; } +.footer .hours strong { color: var(--primary); } +.footer-bottom { + text-align: center; margin-top: 6rem; padding-top: 2.5rem; + border-top: 1px solid rgba(194,199,207,0.1); + font-size: 0.625rem; color: rgba(66,71,78,0.7); text-transform: uppercase; + letter-spacing: 0.2em; font-weight: 700; +} + +/* ===== RESPONSIVE ===== */ +@media (max-width: 1024px) { + .hero .container { grid-template-columns: 1fr; } + .hero h1 { font-size: 3rem; } + .about .container { grid-template-columns: 1fr; } + .about-quote { position: relative; bottom: auto; right: auto; margin-top: 1.5rem; } + .dogwash-card { grid-template-columns: 1fr; } + .dogwash-text { padding: 3rem; } + .dogwash-image { height: 24rem; } + .contact-card { flex-direction: column; } + .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; } +} + +@media (max-width: 768px) { + .navbar-links { display: none; } + .menu-toggle { display: block; } + .hero h1 { font-size: 2.5rem; } + .why-grid { grid-template-columns: 1fr; } + .services-grid { grid-template-columns: 1fr; } + .testimonials-grid { grid-template-columns: 1fr; } + .about-badges { grid-template-columns: 1fr; } + .contact-heading h2 { font-size: 2.5rem; } + .contact-form, .contact-info { padding: 2.5rem; } + .footer-grid { grid-template-columns: 1fr; } +}