/* =============================== BASE ================================ */ .ravasa-page { font-family: "Inter", system-ui, sans-serif; color: #000; } .inner { max-width: 1320px; margin: 0 auto; padding: 0 32px; } /* =============================== TYPOGRAPHY (FIXED — ONLY CHANGES) ================================ */ .ravasa-page h1, .ravasa-page h2, .ravasa-page h3, .ravasa-page h4, .ravasa-page h5, .ravasa-page h6 { font-family: "Inter Tight", "Inter", system-ui, sans-serif; font-weight: 600; line-height: 1.05; margin-bottom: 20px; letter-spacing: -0.015em; } .ravasa-page h1 { font-size: clamp(47px, 5.4vw, 68px); } .ravasa-page h2 { font-size: clamp(38px, 3.7vw, 49px); } .ravasa-page p, .ravasa-page li { font-family: "Inter", system-ui, sans-serif; font-size: 18px; line-height: 1.55; font-weight: 400; color: #1f2933; max-width: 640px; } @media (min-width: 901px) { .ravasa-page p, .ravasa-page li { font-size: 22px; font-weight: 400; } } /* =============================== BUTTONS ================================ */ .btn { background: #f37021; color: #fff; padding: 16px 34px; border-radius: 8px; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; transition: background 0.25s ease; } .btn:hover { background: #2f7d6a; color: #fff; } .phone-link { font-size: 22px; font-weight: 700; color: #0b3c5d; text-decoration: none; } /* =============================== IMAGE HOVER ================================ */ img { transition: transform 0.35s ease; } img:hover { transform: translateY(-6px) scale(1.015); } /* =============================== HERO ================================ */ .hero { width: 100vw; margin-left: calc(50% - 50vw); padding: 28px 0 64px; background: linear-gradient(180deg, #ffffff, #f6f9fb); } .hero-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 72px; align-items: flex-end; } .hero-content { display: flex; flex-direction: column; justify-content: flex-end; } .hero-cta { display: flex; align-items: center; gap: 24px; margin-top: 24px; } .hero-reviews { font-size: 18px; font-weight: 700; text-align: center; color: #2f5e5a; } .hero-reviews span { display: block; } .hero-image-wrap { position: relative; } .hero-image { width: 90%; max-width: 460px; height: 460px; object-fit: cover; border-radius: 240px 240px 0 0; } .hero-badge { position: absolute; top: -10px; right: -12px; width: 110px; height: 110px; background: #6a8f8b; color: #fff; border-radius: 50%; font-weight: 700; font-size: 14px; display: flex; align-items: center; justify-content: center; text-align: center; } /* =============================== HERO SLIDESHOW ================================ */ .hero-slideshow { position: relative; width: 460px; height: 460px; border-radius: 28px; overflow: hidden; background: #e9efee; } .hero-slideshow .slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.9s ease; } .hero-slideshow .slide.active { opacity: 1; } /* Badge stays clean */ .hero-badge { z-index: 5; } /* =============================== REVIEWS ================================ */ .reviews { padding: 96px 0; } .review-track { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 48px; } .review { background: #f2f6f5; padding: 28px; border-radius: 14px; } .review-head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; } .review-head img { width: 36px; height: 36px; border-radius: 50%; } /* =============================== SEO ================================ */ .seo { width: 100vw; margin-left: calc(50% - 50vw); background: linear-gradient(180deg, #ffffff, #f4f8f7), repeating-linear-gradient( 45deg, rgba(106,143,139,0.05), rgba(106,143,139,0.05) 2px, transparent 2px, transparent 6px ); padding: 96px 0; } .seo-title { text-align: center; margin-bottom: 16px; } .seo-sub { text-align: center; font-size: 22px; color: #4f6f6b; margin-bottom: 64px; } .seo-row { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; margin-bottom: 72px; } .seo img { width: 100%; max-height: 400px; object-fit: cover; border-radius: 16px; } .seo-cta { display: flex; gap: 24px; align-items: center; margin-top: 24px; } .btn-outline { background: #0b3c5d; /* blue */ color: #fff; } .btn-outline:hover { background: #f37021; /* orange hover (inverse) */ } /* =============================== SERVICES ================================ */ .services { padding: 96px 0 72px; } .services-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 48px; } .service { position: relative; height: 220px; border-radius: 16px; overflow: hidden; } .service::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,.15)); } .service img { width: 100%; height: 100%; object-fit: cover; } .service span { position: absolute; bottom: 16px; left: 16px; color: #fff; font-weight: 700; z-index: 2; } /* SERVICES — CLICKABLE CARDS */ .services-grid a.service { display: block; text-decoration: none; color: inherit; position: relative; } /* Hover lift */ .services-grid a.service:hover img { transform: scale(1.05); } /* Cursor clarity */ .services-grid a.service { cursor: pointer; } /* =============================== FAQ ================================ */ .faq { padding: 64px 0; background: linear-gradient(180deg, #ffffff, #f6f9fb); } .faq-item { border-bottom: 1px solid #ddd; padding: 18px 0; cursor: pointer; } .faq-item p { display: none; margin-top: 12px; } .faq-item.open p { display: block; } /* =============================== CTA ================================ */ .cta { width: 100vw; margin-left: calc(50% - 50vw); background: #0e2f2d; color: #fff; padding: 96px 0; } .cta h2 { color: #fff; text-align: center; } .cta-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin: 48px 0; text-align: center; } .cta-actions { display: flex; align-items: center; gap: 32px; justify-content: center; } .cta .phone-link { color: #fff; } /* =============================== TEAM SPOTLIGHT ================================ */ .team-spotlight { padding: 72px 0; background: #ffffff; } .team-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 64px; align-items: center; } .team-image { height: 480px; } .team-image img { height: 100%; width: 100%; object-fit: cover; } .team-content h2 { margin-bottom: 20px; } .team-content p { margin-bottom: 16px; } .team-highlight { color: #2f5e5a; margin-top: 12px; } .team-spotlight { display: block; } .team-grid { display: grid; } /* =============================== CONNECT WITH TRICIA LINK ================================ */ .connect-tricia { display: inline-flex; align-items: center; gap: 10px; margin-top: 28px; font-size: 24px; text-decoration: none; color: #1a7f5a; } .connect-tricia .arrow { font-weight: 800; letter-spacing: 1px; } .connect-tricia:hover { opacity: 0.85; } /* =============================== MOBILE ================================ */ @media (max-width: 900px) { /* ------------------------------------------------ GLOBAL OFFSET FIX (prevents hero being pushed down) ------------------------------------------------ */ main#main, body { margin-top: 0 !important; padding-top: 0 !important; } @media (max-width: 900px) { .ravasa-page h2 { font-size: 32px; } } /* ------------------------------------------------ SECTION SPACING (MOBILE RHYTHM) ------------------------------------------------ */ .hero { padding: 28px 0 40px; } .reviews { padding: 48px 0; } .seo { padding: 40px 0 24px; /* controlled bottom */ } .services { padding: 32px 0 40px; /* FIXED: no extra top gap */ } .faq { padding: 56px 0; } .cta { padding: 56px 0; } .final-seo { padding: 48px 0; } /* ------------------------------------------------ HERO (LOCKED — matches your good version) ------------------------------------------------ */ .hero-grid { grid-template-columns: 1fr; gap: 24px; text-align: center; } .hero-image-wrap { order: -1; } .hero-image { width: 100%; height: 220px; margin-bottom: 12px; } @media (max-width: 900px) { .hero-slideshow { width: 320px; height: 280px; margin: 0 auto; } .ravasa-page .hero h1 { font-size: 36px; line-height: 1.15; font-weight: 600; letter-spacing: -0.02em; } } .hero-content { align-items: center; } .hero-reviews { font-size: 14px; } /* ------------------------------------------------ BUTTONS (MOBILE SCALE — NOT GIANT) ------------------------------------------------ */ .btn { padding: 12px 22px; font-size: 15px; } .phone-link { font-size: 18px; } /* ------------------------------------------------ REVIEWS ------------------------------------------------ */ .review-track { display: flex; overflow-x: auto; gap: 20px; } .review { min-width: 280px; } /* ------------------------------------------------ SEO (THIS IS THE IMPORTANT FIX) ------------------------------------------------ */ .seo-row { grid-template-columns: 1fr; gap: 8px; margin-bottom: 24px; /* 🔑 OVERRIDES DESKTOP 72px */ } .seo-row img { order: -1; } .seo img { max-height: 260px; } .seo-row p { margin-bottom: 8px; /* paragraph spacing controlled */ } @media (max-width: 900px) { .seo-row p { margin-top: 16px; } } /* MOBILE — SEO buttons 65% / 35% */ .seo-cta { display: flex; flex-direction: row; width: 100%; gap: 12px; } .seo-cta .btn:first-child { flex: 0 0 50%; } .seo-cta .btn:last-child { flex: 0 0 50%; } /* ------------------------------------------------ SERVICES (FIXES BIG GAP ABOVE GRID) ------------------------------------------------ */ .services-grid { grid-template-columns: repeat(2, 1fr); margin-top: 16px; /* was too large */ } .service { height: 180px; } @media (max-width: 900px) { .services-grid a.service:active { transform: scale(0.98); } } /* ------------------------------------------------ Team Spotlight (MOBILE) ------------------------------------------------ */ .team-spotlight { padding: 40px 0 0; } .team-grid { grid-template-columns: 1fr; gap: 24px; text-align: center; } .team-image { height: auto; /* 🔑 VERY IMPORTANT */ } .team-image img { display: block; width: 100%; max-width: 240px; height: auto; /* 🔑 PREVENTS TALL IMAGE */ margin: 0 auto; object-fit: contain; /* portrait-safe */ }
document.addEventListener("DOMContentLoaded", function () { const slides = document.querySelectorAll(".hero-slideshow .slide"); let current = 0; if (slides.length { slides[current].classList.remove("active"); current = (current + 1) % slides.length; slides[current].classList.add("active"); }, 3500); });

Take the irritation out of your irrigation

Expert irrigation, drainage, lighting & water management services.

Schedule Online
★★★★★ 50+ Happy Reviews
★★★★★
30 Years

What Customers Say

Mike R.
★★★★★ Outstanding service.
Sarah L.
★★★★★ Fast & professional.
John D.
★★★★★ Highly recommended.

Reliable Irrigation Solutions

Designed for efficiency, longevity, and Florida landscapes

Installed by licensed professionals you can trust and trust this and trust that and help them trust all this and build this here and move this there and we can help by doing all of this great stuff in sarasota and help build you up and build your remodel and build all these seo pages from scratch and by storm and by this and thay and help with all of this great stuff so that you can get what you need..

Installed by licensed professionals you can trust and trust this and trust that and help them trust all this and build this here and move this there and we can help by doing all of this great stuff in sarasota and help build you up and build your remodel and build all these seo pages from scratch and by storm and by this and thay and help with all of this great stuff so that you can get what you need..

Our Services

Complete irrigation and outdoor water solutions.

Frequently Asked Questions

How fast is service?

Usually within 24–48 hours.

Do you offer warranties?

Yes.

Are estimates free?

Absolutely.

Commercial services?

Yes.

Licensed?

Fully insured.

Get Started in 3 Easy Steps

1. Request service
2. Get estimate
3. We fix it
Ravasa Group Co-Owner and Irrigation Specialist

Meet the People Behind Ravasa Group

Co-owner and irrigation specialist [First Name] brings years of hands-on experience designing, repairing, and maintaining efficient irrigation systems built for Florida landscapes.

As a licensed professional and co-owner, she ensures every project meets the highest standards for performance, water conservation, and long-term reliability.

✔ Family-owned & operated
✔ Licensed & insured irrigation professionals
✔ Trusted by Florida homeowners for 30+ years

Connect with Tricia ➡️