@import "https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500;600;700&family=Open+Sans:wght@300;400;500;600&display=swap";
:root{--black:#0a0a0a;--charcoal:#1a1a1a;--dark-grey:#2d2d2d;--grey:#888;--silver:#b8b8b8;--white:#fff;--red:#e63226;--red-dark:#c42a20}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--black);color:var(--silver);font-family:Open Sans,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{letter-spacing:2px;text-transform:uppercase;font-family:Oswald,sans-serif;font-weight:500}a{color:inherit;text-decoration:none}nav{z-index:1000;background:linear-gradient(#000000e6,#0000);justify-content:space-between;align-items:center;padding:1rem 5%;transition:all .3s;display:flex;position:fixed;top:0;left:0;right:0}nav.scrolled{background:#0a0a0afa;padding:.75rem 5%;box-shadow:0 2px 20px #00000080}.logo{height:60px;transition:height .3s}nav.scrolled .logo{height:45px}.nav-links{gap:2.5rem;list-style:none;display:flex}.nav-links a{color:var(--silver);letter-spacing:1px;text-transform:uppercase;font-family:Oswald,sans-serif;font-size:.9rem;font-weight:400;text-decoration:none;transition:color .3s;position:relative}.nav-links a:after{content:"";background:var(--red);width:0;height:2px;transition:width .3s;position:absolute;bottom:-5px;left:0}.nav-links a:hover{color:var(--white)}.nav-links a:hover:after{width:100%}.nav-cta{background:var(--red);border-radius:0;padding:.75rem 1.5rem;color:var(--white)!important}.nav-cta:hover{background:var(--red-dark)}.nav-cta:after{display:none!important}.hero{justify-content:center;align-items:center;height:100vh;min-height:700px;display:flex;position:relative;overflow:hidden}.hero-bg{filter:brightness(.3);background:url(/images/real-patio-1.jpg) 50%/cover;position:absolute;inset:0}.hero-overlay{background:linear-gradient(135deg,#0a0a0ae6 0%,#0a0a0a66 50%,#0a0a0acc 100%);position:absolute;inset:0}.hero-content{z-index:10;text-align:center;max-width:900px;padding:0 2rem;position:relative}.hero-content h1{color:var(--white);margin-bottom:1rem;font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.1}.hero-content h1 span{color:var(--red)}.hero-tagline{color:var(--silver);letter-spacing:3px;text-transform:uppercase;margin-bottom:2.5rem;font-size:clamp(1rem,2vw,1.3rem);font-weight:300}.hero-cta{flex-wrap:wrap;justify-content:center;gap:1rem;display:inline-flex}.btn{letter-spacing:2px;text-transform:uppercase;cursor:pointer;border:none;padding:1rem 2.5rem;font-family:Oswald,sans-serif;font-size:1rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-block}.btn-primary{background:var(--red);color:var(--white)}.btn-primary:hover{background:var(--red-dark);transform:translateY(-2px);box-shadow:0 10px 30px #e632264d}.btn-outline{color:var(--white);border:2px solid var(--white);background:0 0}.btn-outline:hover{background:var(--white);color:var(--black)}.scroll-indicator{z-index:10;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.scroll-indicator span{border:2px solid var(--silver);border-radius:15px;width:30px;height:50px;display:block;position:relative}.scroll-indicator span:before{content:"";background:var(--red);border-radius:50%;width:6px;height:6px;animation:2s infinite scroll-dot;position:absolute;top:8px;left:50%;transform:translate(-50%)}@keyframes scroll-dot{0%,to{opacity:1;top:8px}50%{opacity:.5;top:25px}}section{padding:6rem 5%}.section-header{text-align:center;margin-bottom:4rem}.section-header h2{color:var(--white);margin-bottom:1rem;font-size:clamp(2rem,4vw,3rem)}.section-header h2 span{color:var(--red)}.section-header p{max-width:600px;color:var(--grey);margin:0 auto;font-size:1.1rem}.red-line{background:var(--red);width:80px;height:4px;margin:1.5rem auto}.about{background:var(--charcoal)}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;max-width:1400px;margin:0 auto;display:grid}.about-image{position:relative}.about-image img{object-fit:cover;width:100%;height:500px}.about-image:before{content:"";border:3px solid var(--red);z-index:-1;position:absolute;inset:-20px 20px 20px -20px}.about-content h2{color:var(--white);margin-bottom:1.5rem;font-size:2.5rem}.about-content p{margin-bottom:1.5rem;font-size:1.05rem;line-height:1.8}.about-stats{border-top:1px solid var(--dark-grey);grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem;padding-top:2.5rem;display:grid}.stat{text-align:center}.stat-number{color:var(--red);font-family:Oswald,sans-serif;font-size:3rem;font-weight:600;line-height:1}.stat-label{text-transform:uppercase;letter-spacing:1px;color:var(--grey);margin-top:.5rem;font-size:.85rem}.services{background:var(--black)}.services-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;max-width:1400px;margin:0 auto;display:grid}.service-card{background:var(--charcoal);transition:transform .3s;position:relative;overflow:hidden}.service-card:hover{transform:translateY(-10px)}.service-image{height:250px;overflow:hidden}.service-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.service-card:hover .service-image img{transform:scale(1.1)}.service-content{padding:2rem}.service-content h3{color:var(--white);margin-bottom:1rem;font-size:1.5rem}.service-content p{color:var(--grey);font-size:.95rem;line-height:1.7}.service-link{color:var(--red);letter-spacing:1px;text-transform:uppercase;align-items:center;gap:.5rem;margin-top:1.5rem;font-family:Oswald,sans-serif;font-size:.9rem;font-weight:500;text-decoration:none;transition:gap .3s;display:inline-flex}.service-link:hover{gap:1rem}.service-link svg{width:20px;height:20px}.portfolio{background:var(--charcoal)}.portfolio-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1400px;margin:0 auto;display:grid}.portfolio-item{aspect-ratio:4/3;cursor:pointer;position:relative;overflow:hidden}.portfolio-item.large{grid-area:span 2/span 2}.portfolio-item img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.portfolio-item:hover img{transform:scale(1.1)}.portfolio-overlay{opacity:0;background:linear-gradient(#0000 50%,#0a0a0ae6 100%);align-items:flex-end;padding:2rem;transition:opacity .3s;display:flex;position:absolute;inset:0}.portfolio-item:hover .portfolio-overlay{opacity:1}.portfolio-info h4{color:var(--white);margin-bottom:.5rem;font-size:1.3rem}.portfolio-info p{color:var(--grey);font-size:.9rem}.testimonials{background:var(--black);position:relative}.testimonials:before{content:"";opacity:.05;background:url(/images/garden-1.png) 50%/cover fixed;position:absolute;inset:0}.testimonials-slider{z-index:1;max-width:900px;margin:0 auto;position:relative}.testimonial{text-align:center;padding:0 2rem}.quote-icon{color:var(--red);margin-bottom:1rem;font-family:Georgia,serif;font-size:5rem;line-height:1}.testimonial-text{color:var(--silver);margin-bottom:2rem;font-size:1.4rem;font-style:italic;line-height:1.8}.testimonial-author{color:var(--white);letter-spacing:2px;text-transform:uppercase;font-family:Oswald,sans-serif;font-size:1.1rem}.testimonial-location{color:var(--grey);margin-top:.5rem;font-size:.9rem}.cta{background:var(--red);text-align:center;padding:5rem}.cta h2{color:var(--white);margin-bottom:1rem;font-size:clamp(2rem,4vw,3rem)}.cta p{color:#fffc;margin-bottom:2rem;font-size:1.2rem}.cta .btn-outline{border-color:var(--white);color:var(--white)}.cta .btn-outline:hover{background:var(--white);color:var(--red)}.contact{background:var(--charcoal)}.contact-grid{grid-template-columns:1fr 1.5fr;gap:4rem;max-width:1200px;margin:0 auto;display:grid}.contact-info h3{color:var(--white);margin-bottom:1.5rem;font-size:1.8rem}.contact-info p{color:var(--grey);margin-bottom:2rem;line-height:1.8}.contact-details{margin-top:2rem}.contact-item{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.contact-icon{background:var(--red);flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.contact-icon svg{width:24px;height:24px;fill:var(--white)}.contact-text{color:var(--silver)}.contact-text a{color:var(--white);font-size:1.2rem;font-weight:500;text-decoration:none;transition:color .3s}.contact-text a:hover{color:var(--red)}.contact-form{background:var(--dark-grey);padding:3rem}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--silver);text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem;font-size:.9rem;display:block}.form-group input,.form-group textarea{background:var(--charcoal);border:1px solid var(--dark-grey);width:100%;color:var(--white);padding:1rem;font-family:inherit;font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{border-color:var(--red);outline:none}.form-group textarea{resize:vertical;min-height:150px}.form-row{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}footer{background:var(--black);border-top:1px solid var(--dark-grey);padding:3rem 5% 1.5rem}.footer-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;max-width:1400px;margin:0 auto;display:flex}.footer-logo{height:50px}.footer-links{gap:2rem;list-style:none;display:flex}.footer-links a{color:var(--grey);font-size:.9rem;text-decoration:none;transition:color .3s}.footer-links a:hover{color:var(--red)}.footer-bottom{text-align:center;border-top:1px solid var(--dark-grey);color:var(--grey);margin-top:2rem;padding-top:2rem;font-size:.85rem}.mobile-menu-btn{cursor:pointer;background:0 0;border:none;padding:.5rem;display:none}.mobile-menu-btn span{background:var(--white);width:25px;height:2px;margin:5px 0;transition:all .3s;display:block}.page-hero{background:var(--charcoal);border-bottom:1px solid var(--dark-grey);padding:10rem 5% 5rem}.page-hero h1{color:var(--white);margin-bottom:1rem;font-size:clamp(2rem,5vw,3.5rem)}.page-hero h1 span{color:var(--red)}.page-hero p{color:var(--grey);max-width:700px;font-size:1.2rem}.breadcrumb{color:var(--grey);margin-bottom:1rem;font-size:.85rem}.breadcrumb a{color:var(--red);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.content-section{background:var(--black);padding:5rem 5%}.content-section .inner{max-width:900px;margin:0 auto}.content-section h2{color:var(--white);margin:2.5rem 0 1rem;font-size:2rem}.content-section p{color:var(--silver);margin-bottom:1.5rem;font-size:1.05rem;line-height:1.9}.content-section ul{color:var(--silver);margin-bottom:1.5rem;padding-left:1.5rem}.content-section ul li{margin-bottom:.5rem;line-height:1.8}.faq-section{background:var(--charcoal);padding:5rem 5%}.faq-section h2{color:var(--white);text-align:center;margin-bottom:2.5rem;font-size:2rem}.faq-item{border-bottom:1px solid var(--dark-grey);max-width:900px;margin:0 auto;padding:1.5rem 0}.faq-item h3{color:var(--white);letter-spacing:0;text-transform:none;margin-bottom:.75rem;font-family:Open Sans,sans-serif;font-size:1.1rem;font-weight:600}.faq-item p{color:var(--grey);line-height:1.8}.location-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;max-width:1400px;margin:0 auto;display:grid}.location-card{background:var(--charcoal);border:1px solid var(--dark-grey);padding:2rem;transition:transform .2s,border-color .2s;display:block}.location-card:hover{border-color:var(--red);transform:translateY(-4px)}.location-card h3{color:var(--white);margin-bottom:.5rem;font-size:1.2rem}.location-card p{color:var(--grey);font-size:.9rem;line-height:1.6}.service-areas{background:var(--black);padding:5rem 5%}@media (max-width:1024px){.about-grid{grid-template-columns:1fr;gap:3rem}.about-image:before{display:none}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.portfolio-item.large{grid-area:span 1/span 2}.contact-grid{grid-template-columns:1fr}}@media (max-width:768px){.nav-links{display:none}.mobile-menu-btn{display:block}.services-grid,.portfolio-grid{grid-template-columns:1fr}.portfolio-item.large{grid-column:span 1}.about-stats{grid-template-columns:1fr;gap:1.5rem}.form-row{grid-template-columns:1fr}.footer-content{text-align:center;flex-direction:column}.footer-links{flex-wrap:wrap;justify-content:center}}
