@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Montserrat:wght@500;600;700;800&display=swap');:root{--font-body:'Inter',sans-serif;--font-display:'Montserrat',sans-serif;--background:hsl(210,20%,98%);--foreground:hsl(222,47%,11%);--card:hsl(0,0%,100%);--card-foreground:hsl(222,47%,11%);--primary:hsl(222,47%,11%);--primary-foreground:hsl(210,40%,98%);--secondary:hsl(199,89%,48%);--secondary-foreground:hsl(0,0%,100%);--muted:hsl(210,40%,96.1%);--muted-foreground:hsl(215.4,16.3%,46.9%);--accent:hsl(199,89%,48%);--accent-foreground:hsl(0,0%,100%);--border:hsl(214.3,31.8%,91.4%);--radius:0.5rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background-color:var(--background);color:var(--foreground);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;letter-spacing:-0.025em;line-height:1.2}a{color:inherit;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,0.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,0.04);padding:0.25rem 0}.header-inner{display:flex;align-items:center;justify-content:space-between}.logo img{height:11rem;width:auto;margin:-0.75rem 0}@media (min-width:1024px){.logo img{height:12.5rem}}.nav-desktop{display:none;align-items:center;gap:1.25rem;flex-wrap:nowrap}.nav-desktop .btn{white-space:nowrap;flex-shrink:0;min-width:175px}@media (min-width:1024px){.nav-desktop{display:flex}}.nav-link{font-weight:500;color:var(--foreground);padding:0.5rem;transition:color 0.2s}.nav-link:hover{color:var(--secondary)}.social-link{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--primary);border-radius:50%;color:white;transition:background 0.2s}.social-link:hover{background:var(--secondary)}.social-links{display:flex;gap:0.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;font-family:var(--font-display);font-weight:700;line-height:1.1;border-radius:var(--radius);border:none;cursor:pointer;transition:all 0.2s;text-decoration:none}.btn i{line-height:1}.btn-sm{padding:0.5rem 1rem;font-size:0.875rem}.btn-md{padding:0.75rem 1.5rem;font-size:1rem}.btn-lg{padding:0.9rem 1.6rem;font-size:1.125rem;min-height:3.5rem;height:auto}.btn-primary{background:var(--secondary);color:white}.btn-primary:hover{background:hsl(199,89%,42%)}.btn-secondary{background:var(--primary);color:white}.btn-secondary:hover{background:hsl(222,47%,18%)}.btn-outline{background:transparent;border:2px solid currentColor}.btn-outline-white{color:white;border-color:white}.btn-outline-white:hover{background:white;color:var(--primary)}.btn-outline-primary{color:var(--primary);border-color:var(--primary)}.btn-outline-primary:hover{background:var(--primary);color:white}.mobile-menu-btn{display:flex;background:none;border:none;color:var(--foreground);font-size:1.5rem;cursor:pointer;padding:0.5rem}@media (min-width:1024px){.mobile-menu-btn{display:none}}.mobile-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:1000}.mobile-overlay.active{display:block}.mobile-menu{position:fixed;top:0;right:0;width:300px;height:100vh;background:white;z-index:1001;padding:2rem;transform:translateX(100%);transition:transform 0.3s ease;overflow-y:auto}.mobile-menu.active{transform:translateX(0)}.mobile-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--muted-foreground)}.mobile-nav{margin-top:3rem}.mobile-nav-link{display:block;padding:1rem 0;font-weight:600;color:var(--foreground);border-bottom:1px solid var(--border)}button.mobile-nav-link{font:inherit;font-size:inherit;line-height:inherit}.hero{position:relative;min-height:85vh;display:flex;align-items:center;padding-top:clamp(14rem,18vh,16rem);padding-bottom:5rem}.hero-bg{position:absolute;inset:0;z-index:0;background:linear-gradient(135deg,var(--primary) 0%,hsl(222,47%,15%) 50%,hsl(222,47%,20%) 100%)}.hero-bg-image{position:absolute;inset:0;background-image:url('../images/florida-home.jpg');background-size:cover;background-position:center;opacity:0.2}.hero-content{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}@media (min-width:1024px){.hero-content{grid-template-columns:1fr 1fr}}.hero-text{color:white;max-width:42rem}.hero-text h1{font-size:2.5rem;font-weight:800;line-height:1.1;margin-bottom:1.5rem}@media (min-width:640px){.hero-text h1{font-size:3rem}}@media (min-width:1024px){.hero-text h1{font-size:3.75rem}}.hero-text h1 span{color:var(--secondary)}.hero-text p{font-size:1.125rem;color:rgba(255,255,255,0.9);margin-bottom:2rem;line-height:1.7;max-width:32rem}.hero-text p.hero-lead{line-height:1.55;max-width:40rem}@media (min-width:640px){.hero-text p{font-size:1.25rem}}.hero-buttons{display:flex;flex-direction:column;gap:1rem;align-items:stretch}.hero-buttons .btn{width:100%}@media (min-width:640px){.hero-buttons{flex-direction:row;flex-wrap:wrap}.hero-buttons .btn{width:auto}}.hero-info{margin-top:2.5rem;padding:1rem;background:rgba(255,255,255,0.1);backdrop-filter:blur(4px);border-radius:0.75rem;display:inline-block}.hero-info p{font-size:0.875rem;margin-bottom:0;color:rgba(255,255,255,0.9)}.hero-info span{font-weight:700;color:var(--secondary)}.hero-form{display:none}@media (min-width:1024px){.hero-form{display:block}}.trust-strip{padding:3rem 0;background:white;border-bottom:1px solid rgba(0,0,0,0.05)}.trust-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width:768px){.trust-grid{grid-template-columns:repeat(3,1fr)}}.trust-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border-radius:0.75rem;transition:background 0.2s}.trust-item:hover{background:hsl(210,40%,98%)}.trust-icon{width:3rem;height:3rem;border-radius:50%;background:hsl(222,47%,95%);display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0}.trust-item h3{font-size:1.125rem;color:var(--primary);margin-bottom:0.5rem}.trust-item p{color:var(--muted-foreground);font-size:0.9375rem}.section-header{text-align:center;max-width:48rem;margin:0 auto 4rem}.section-label{display:block;font-size:0.875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--secondary);margin-bottom:0.5rem}.section-header h2{font-size:1.875rem;color:var(--primary);margin-bottom:1rem}@media (min-width:768px){.section-header h2{font-size:2.25rem}}.section-header p{font-size:1.125rem;color:var(--muted-foreground)}.products-section{padding:6rem 0;background:hsl(210,40%,98%)}.products-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width:768px){.products-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.products-grid{grid-template-columns:repeat(3,1fr)}}.product-card{background:white;border-radius:1rem;overflow:hidden;border:1px solid rgba(0,0,0,0.05);box-shadow:0 4px 6px -1px rgba(0,0,0,0.1);transition:all 0.3s;display:flex;flex-direction:column;height:100%}.product-card[id]{scroll-margin-top:12rem}.product-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgba(0,0,0,0.1);border-color:hsl(222,47%,85%)}.product-card-image{position:relative;height:16rem;overflow:hidden}.product-card-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.7s}.product-card:hover .product-card-image img{transform:scale(1.1)}.product-card-body{padding:2rem;flex:1;display:flex;flex-direction:column}.product-card h3{font-size:1.25rem;color:var(--primary);margin-bottom:0.75rem;transition:color 0.2s}.product-card:hover h3{color:var(--secondary)}.product-card p{color:var(--muted-foreground);margin-bottom:1.5rem;flex:1}.product-features{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1.5rem}.product-feature{background:var(--muted);padding:0.25rem 0.75rem;border-radius:9999px;font-size:0.75rem;font-weight:600;color:hsl(222,47%,35%)}.product-link{display:inline-flex;align-items:center;gap:0.5rem;font-weight:700;color:var(--secondary);transition:transform 0.2s}.product-card:hover .product-link{transform:translateX(0.5rem)}.process-section{padding:6rem 0;background:var(--primary);color:white}.process-grid{display:grid;grid-template-columns:1fr;gap:4rem;align-items:center}@media (min-width:1024px){.process-grid{grid-template-columns:1fr 1fr}}.process-text h2{color:white;font-size:1.875rem;margin-bottom:1.5rem}@media (min-width:768px){.process-text h2{font-size:2.25rem}}.process-text>p{color:rgba(255,255,255,0.7);font-size:1.125rem;margin-bottom:2rem}.process-steps{display:flex;flex-direction:column;gap:2rem}.process-step{display:flex;gap:1.5rem}.process-step-num{font-family:var(--font-display);font-size:2.25rem;font-weight:900;color:rgba(255,255,255,0.1)}.process-step h4{font-size:1.25rem;margin-bottom:0.5rem;color:white}.process-step p{color:rgba(255,255,255,0.6)}.process-image{position:relative}.process-image img{width:100%;border-radius:1rem;border:4px solid rgba(255,255,255,0.1);box-shadow:0 25px 50px -12px rgba(0,0,0,0.5)}.process-badge{display:none;position:absolute;bottom:-1.5rem;left:-1.5rem;background:var(--secondary);padding:1.5rem;border-radius:0.75rem;box-shadow:0 10px 40px rgba(0,0,0,0.3)}@media (min-width:768px){.process-badge{display:block}}.process-badge p:first-child{font-family:var(--font-display);font-size:1.875rem;font-weight:700;margin-bottom:0.25rem}.process-badge p:last-child{font-size:0.875rem;font-weight:500}.testimonials-section{padding:6rem 0;background:white}.testimonials-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width:768px){.testimonials-grid{grid-template-columns:repeat(3,1fr)}}.testimonial-card{background:hsl(210,40%,99%);padding:2rem;border-radius:1rem;border:1px solid var(--border)}.testimonial-stars{display:flex;gap:0.25rem;color:#facc15;margin-bottom:1rem}.testimonial-card blockquote{color:hsl(222,47%,30%);font-style:italic;margin-bottom:1.5rem;line-height:1.7}.testimonial-author{font-weight:700;color:var(--primary)}.testimonial-location{font-size:0.875rem;color:var(--muted-foreground)}.cta-section{padding:5rem 0;background:var(--primary);position:relative;overflow:hidden;text-align:center}.cta-section::before{content:'';position:absolute;inset:0;background:url('https://www.transparenttextures.com/patterns/cubes.png');opacity:0.05}.cta-content{position:relative;z-index:1}.cta-section h2{color:white;font-size:1.875rem;margin-bottom:1.5rem}@media (min-width:768px){.cta-section h2{font-size:3rem}}.cta-section p{color:rgba(255,255,255,0.8);font-size:1.25rem;max-width:42rem;margin:0 auto 2.5rem}.cta-buttons{display:flex;flex-direction:column;gap:1rem;justify-content:center}@media (min-width:640px){.cta-buttons{flex-direction:row}}.footer{background:var(--primary);color:white;padding:4rem 0 2rem}.footer-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;margin-bottom:3rem}@media (min-width:768px){.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}.footer-brand p{color:rgba(255,255,255,0.7);font-size:0.875rem;margin-bottom:1rem}.footer h4{color:var(--secondary);margin-bottom:1rem;font-size:1rem}.footer-links{list-style:none}.footer-links li{margin-bottom:0.5rem}.footer-links a{color:rgba(255,255,255,0.7);font-size:0.875rem;transition:color 0.2s}.footer-links a:hover{color:white}.footer-links i{margin-right:0.5rem;color:var(--secondary)}.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:2rem;text-align:center;color:rgba(255,255,255,0.5);font-size:0.875rem}.page-header{padding-top:clamp(14rem,18vh,16rem);padding-bottom:3rem;text-align:center}.page-header h1{font-size:2.5rem;color:var(--primary);margin-bottom:1rem}@media (min-width:768px){.page-header h1{font-size:3rem}}.page-header p{font-size:1.25rem;color:var(--muted-foreground);max-width:42rem;margin:0 auto}.about-content{max-width:56rem;margin:0 auto;padding-bottom:5rem}.about-content .lead{font-size:1.25rem;color:var(--primary);font-weight:500;margin-bottom:2rem;line-height:1.7}@media (min-width:768px){.about-content .lead{font-size:1.5rem}}.about-content p{color:var(--muted-foreground);margin-bottom:1rem;line-height:1.8}.mobile-highlight{background:hsl(199,89%,95%);border-radius:1rem;padding:2rem;margin:3rem 0;display:flex;align-items:center;gap:1.5rem}.mobile-highlight-icon{width:4rem;height:4rem;background:var(--secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;flex-shrink:0}.mobile-highlight h3{font-size:1.25rem;color:var(--primary);margin-bottom:0.5rem}.mobile-highlight p{color:var(--muted-foreground);margin-bottom:0}.why-choose{background:var(--primary);color:white;border-radius:1.5rem;padding:2rem;box-shadow:0 25px 50px -12px rgba(0,0,0,0.25)}@media (min-width:768px){.why-choose{padding:3rem}}.why-choose h2{text-align:center;color:white;margin-bottom:2rem}.why-choose-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:768px){.why-choose-grid{grid-template-columns:repeat(2,1fr)}}.why-choose-item{display:flex;align-items:center;gap:0.75rem}.why-choose-item i{color:var(--secondary)}.why-choose-item span{font-weight:500}.why-choose-cta{margin-top:3rem;text-align:center}.why-choose-cta a{display:inline-block;background:white;color:var(--primary);font-weight:700;padding:1rem 2rem;border-radius:0.75rem;transition:all 0.2s}.why-choose-cta a:hover{background:var(--secondary);color:white}.why-choose-cta p{margin-top:1rem;color:rgba(255,255,255,0.7)}.why-choose-cta p a{color:var(--secondary);font-weight:700;background:none;padding:0}.gallery-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:0.5rem;margin-bottom:3rem}.filter-btn{padding:0.5rem 1.5rem;border-radius:9999px;font-weight:600;border:none;cursor:pointer;transition:all 0.2s;background:var(--muted);color:var(--muted-foreground)}.filter-btn:hover{background:hsl(210,40%,92%)}.filter-btn.active{background:var(--primary);color:white;box-shadow:0 4px 12px rgba(0,0,0,0.15)}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;padding-bottom:5rem}@media (min-width:768px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}.gallery-item{position:relative;aspect-ratio:4/3;border-radius:0.75rem;overflow:hidden;cursor:pointer;box-shadow:0 4px 6px -1px rgba(0,0,0,0.1)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s}.gallery-item:hover img{transform:scale(1.1)}.gallery-item-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.4);opacity:0;transition:opacity 0.3s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.5rem;color:white}.gallery-item:hover .gallery-item-overlay{opacity:1}.gallery-item-overlay i{font-size:2rem}.gallery-item-overlay p{font-weight:700;font-size:1.125rem}.contact-section{padding-bottom:5rem}.contact-grid{display:grid;grid-template-columns:1fr;gap:3rem;align-items:start}@media (min-width:1024px){.contact-grid{grid-template-columns:1fr 1fr;gap:5rem}}.contact-info-cards{display:flex;flex-direction:column;gap:2rem}.info-card{background:white;padding:2rem;border-radius:1rem;border:1px solid var(--border);box-shadow:0 1px 3px rgba(0,0,0,0.05)}.info-card h3{font-size:1.5rem;color:var(--primary);margin-bottom:1.5rem}.info-item{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.info-item:last-child{margin-bottom:0}.info-icon{width:2.5rem;height:2.5rem;border-radius:50%;background:hsl(222,47%,95%);display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0}.info-item-text p:first-child{font-weight:700;color:var(--foreground)}.info-item-text p:last-child{color:var(--muted-foreground)}.info-item-text a{font-size:1.25rem;color:var(--secondary);font-weight:700}.emergency-highlight{background:hsl(199,89%,95%);padding:1rem;border-radius:0.75rem;margin:-0.5rem}.emergency-highlight .info-icon{background:hsl(199,89%,90%);color:var(--secondary)}.emergency-highlight .info-item-text p:first-child{color:var(--secondary)}.payment-badges{display:flex;flex-wrap:wrap;gap:0.75rem}.payment-badge{display:flex;align-items:center;gap:0.5rem;background:var(--muted);padding:0.75rem 1rem;border-radius:0.5rem;font-size:0.875rem;font-weight:600}.payment-badge i{color:#22c55e}.social-buttons{display:flex;gap:1rem}.social-btn{width:3rem;height:3rem;border-radius:50%;background:var(--primary);color:white;display:flex;align-items:center;justify-content:center;transition:background 0.2s}.social-btn:hover{background:var(--secondary)}.contact-form-card{background:white;border-radius:1rem;overflow:hidden;border:1px solid rgba(0,0,0,0.05);box-shadow:0 10px 40px rgba(0,0,0,0.1)}.form-header{background:var(--primary);padding:1.5rem;text-align:center;color:white}.form-header h3{margin-bottom:0.5rem}.form-header p{opacity:0.8;font-size:0.875rem}.form-body{padding:2rem}.form-group{margin-bottom:1rem}.form-row{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:640px){.form-row{grid-template-columns:1fr 1fr}}.form-label{display:block;font-weight:500;margin-bottom:0.5rem;font-size:0.875rem}.form-input,.form-select,.form-textarea{width:100%;padding:0.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;font-family:inherit;background:var(--background);transition:border-color 0.2s;height:3rem}.form-textarea{height:auto;min-height:100px;resize:vertical}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--secondary)}.captcha-wrapper{margin-top:0.5rem}.captcha-track{position:relative;height:4rem;background:linear-gradient(to right,hsl(199,89%,95%),hsl(199,89%,90%));border-radius:var(--radius);border:1px solid var(--border);margin-bottom:0.5rem}.captcha-target{position:absolute;top:50%;transform:translateY(-50%);width:2.5rem;height:2.5rem;border:2px dashed hsl(199,89%,60%);border-radius:var(--radius);background:rgba(14,165,233,0.1)}.captcha-slider{position:absolute;top:50%;left:0;transform:translateY(-50%);width:2.5rem;height:2.5rem;background:var(--secondary);border-radius:var(--radius);cursor:grab;display:flex;align-items:center;justify-content:center;color:white;box-shadow:0 4px 12px rgba(0,0,0,0.15);user-select:none;transition:left 0.15s ease-out,background 0.2s}.captcha-slider:active{cursor:grabbing}.captcha-slider.verified{background:#22c55e}.captcha-text{font-size:0.875rem;color:var(--muted-foreground)}.captcha-text.verified{color:#22c55e;font-weight:500}.form-submit{width:100%;padding:1rem;margin-top:0.5rem}.form-privacy{font-size:0.75rem;text-align:center;color:var(--muted-foreground);margin-top:1rem}.text-center{text-align:center}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mb-4{margin-bottom:1rem}.nav-dropdown{position:relative;display:inline-flex;align-items:center}.nav-dropdown-toggle{background:transparent;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:0.4rem}.nav-dropdown-menu{position:absolute;top:100%;left:0;min-width:18rem;background:rgba(10,15,24,0.98);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:0.5rem;box-shadow:0 16px 40px rgba(0,0,0,0.35);display:none;z-index:1000}.nav-dropdown-menu.open{display:block}.nav-dropdown-item{display:block;padding:0.6rem 0.75rem;border-radius:10px;color:#fff;font-weight:500;line-height:1.2}.nav-dropdown-item:hover{background:rgba(255,255,255,0.08);color:#fff}.mobile-submenu{display:none;margin:0.25rem 0 0.75rem;padding-left:0.5rem}.mobile-submenu.open{display:block}.mobile-submenu-link{display:block;padding:0.6rem 0.75rem;border-radius:10px;color:var(--foreground);opacity:0.95}.mobile-submenu-link:hover{background:rgba(255,255,255,0.06)}.mobile-nav-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;background:transparent;border:0;cursor:pointer;font:inherit;font-size:inherit;line-height:inherit;-webkit-appearance:none;appearance:none}.mobile-nav-toggle i{font-size:0.9em;margin-left:0.5rem}.faq-list{display:grid;gap:0.75rem}.faq-item{background:rgba(255,255,255,0.96);border:1px solid var(--border);border-radius:14px;padding:0.25rem 0.75rem}.faq-item summary{cursor:pointer;list-style:none;font-weight:600;padding:0.9rem 0.5rem;color:var(--primary);display:flex;align-items:center;justify-content:space-between}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;opacity:0.7}.faq-item[open] summary:after{content:"\f077"}.faq-answer{padding:0 0.5rem 1rem}.faq-answer p{margin:0;color:var(--foreground)}.product-detail{display:grid;gap:1.5rem;align-items:start}@media (min-width:900px){.product-detail{grid-template-columns:1.1fr 0.9fr;gap:2rem}}.product-detail-media img{width:100%;border-radius:16px;border:1px solid var(--border);box-shadow:0 10px 30px rgba(0,0,0,0.18)}.checklist{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:0.6rem}.checklist li{display:flex;align-items:flex-start;gap:0.6rem;padding:0.65rem 0.75rem;background:rgba(255,255,255,0.96);border:1px solid var(--border);border-radius:12px}.checklist i{color:var(--secondary);margin-top:0.15rem}.cta-row{display:flex;gap:0.75rem;flex-wrap:wrap;margin-top:1.25rem}.breadcrumbs a{color:var(--secondary);font-weight:600}.product-hero{position:relative;height:50vh;min-height:400px;overflow:hidden}.product-hero img{width:100%;height:100%;object-fit:cover}.product-hero-overlay{position:absolute;inset:0;background:hsla(216,100%,20%,0.72);display:flex;align-items:center;justify-content:center;text-align:center;padding:clamp(6.5rem,12vh,10rem) 1rem 0}.product-hero-overlay h1{color:#fff;margin:0 0 0.75rem 0;font-size:clamp(2rem,4vw,3.75rem)}.product-hero-overlay p{color:rgba(255,255,255,0.85);font-size:clamp(1.1rem,2vw,1.6rem);max-width:52rem;margin:0 auto}.product-layout{display:grid;gap:2.75rem}@media (min-width:1024px){.product-layout{grid-template-columns:2fr 1fr}}.benefits-grid{display:grid;gap:1rem}@media (min-width:640px){.benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.benefit-card{display:flex;gap:0.75rem;background:rgba(0,0,0,0.03);border:1px solid rgba(0,0,0,0.06);padding:1rem;border-radius:0.75rem}.benefit-card i{color:#16a34a;margin-top:0.2rem}.spec-table{border:1px solid rgba(0,0,0,0.10);border-radius:0.75rem;overflow:hidden;background:#fff}.spec-row{display:flex;border-bottom:1px solid rgba(0,0,0,0.08)}.spec-row:last-child{border-bottom:0}.spec-label{width:36%;background:rgba(0,0,0,0.04);padding:0.9rem 1rem;font-weight:700;color:var(--primary)}.spec-value{width:64%;padding:0.9rem 1rem;color:rgba(0,0,0,0.65)}.faq-accordion details{border:1px solid rgba(0,0,0,0.10);border-radius:0.75rem;background:#fff;margin-bottom:0.75rem;overflow:hidden}.faq-accordion summary{cursor:pointer;list-style:none;padding:1rem 1.1rem;font-weight:800;color:var(--primary);display:flex;align-items:center;justify-content:space-between;gap:1rem}.faq-accordion summary::-webkit-details-marker{display:none}.faq-accordion summary::after{content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;color:rgba(0,0,0,0.55);transition:transform 0.15s ease}.faq-accordion details[open] summary::after{transform:rotate(180deg)}.faq-accordion .faq-body{padding:0 1.1rem 1rem 1.1rem;color:rgba(0,0,0,0.70);line-height:1.6}.sidebar-cta{position:sticky;top:7.5rem;background:var(--primary);border-radius:1.25rem;padding:2rem;color:#fff;box-shadow:0 18px 40px rgba(0,0,0,0.15)}.sidebar-cta h3{margin-top:0;color:#fff}.sidebar-cta p{color:rgba(255,255,255,0.80)}.sidebar-cta .btn{width:100%;justify-content:center}.sidebar-cta .cta-note{display:flex;align-items:center;justify-content:center;gap:0.5rem;color:rgba(255,255,255,0.65);margin:0.75rem 0 1.25rem 0;font-size:0.9rem}.sidebar-cta .cta-phone{display:flex;align-items:center;gap:0.5rem;font-size:1.25rem;font-weight:900;color:var(--secondary);text-decoration:none}.sidebar-cta .cta-phone:hover{color:#fff}@media (min-width:1024px){.nav-desktop .btn{white-space:nowrap;flex-shrink:0;min-width:175px}}.cta-phone{white-space:nowrap;flex-wrap:nowrap}.cta-phone i{flex:0 0 auto}@media (max-width:480px){.cta-phone{font-size:1.05rem}}.header .btn.btn-primary,.header .btn.btn-secondary{display:inline-flex;align-items:center;gap:0.5rem;white-space:nowrap;flex-wrap:nowrap;font-variant-numeric:tabular-nums}.sidebar-cta .cta-phone{white-space:nowrap;flex-wrap:nowrap;font-variant-numeric:tabular-nums;word-break:keep-all}@media (max-width:480px){.sidebar-cta .cta-phone{font-size:1.1rem}.header .btn.btn-primary{padding-left:0.9rem;padding-right:0.9rem}.mobile-menu a.btn[href^="tel:"]{white-space:nowrap;flex-wrap:nowrap;font-variant-numeric:tabular-nums;padding-left:1rem;padding-right:1rem;font-size:1rem}}.mobile-nav-toggle i.fas.fa-chevron-down{font-size:1.15em}@media (max-width:768px){.footer-brand{text-align:center}.footer-brand img{display:block;margin:0.25rem auto 1rem auto;width:min(320px,86vw);height:auto;object-fit:contain}}.footer .social-links .social-link i{font-size:1.35rem}.sidebar-cta .cta-phone{white-space:nowrap;overflow-wrap:normal;word-break:keep-all;hyphens:none}@media (max-width:480px){.sidebar-cta .cta-phone{font-size:1.0rem}}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;background:transparent;border:1px solid rgba(0,0,0,0.10);color:var(--foreground);cursor:pointer;transition:background 0.2s ease,border-color 0.2s ease,transform 0.08s ease;margin-left:0.5rem}.theme-toggle:hover{background:var(--muted)}.theme-toggle:active{transform:scale(0.98)}.theme-toggle:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}.theme-toggle svg{width:20px;height:20px}.theme-toggle .icon-moon{display:none}html[data-theme="dark"] .theme-toggle .icon-moon{display:block}html[data-theme="dark"] .theme-toggle .icon-sun{display:none}html[data-theme="light"]{color-scheme:light}html[data-theme="light"] .theme-toggle{background:rgba(0,0,0,0.02)}html[data-theme="dark"]{--background:hsl(222,47%,6%);--foreground:hsl(210,40%,98%);--card:hsl(222,47%,10%);--card-foreground:hsl(210,40%,98%);--primary:hsl(222,47%,11%);--primary-foreground:hsl(210,40%,98%);--muted:hsl(222,32%,14%);--muted-foreground:hsl(215,20%,65%);--border:hsl(217,18%,22%);color-scheme:dark}html[data-theme="dark"] .header{background:rgba(2,6,23,0.92);border-bottom:1px solid rgba(255,255,255,0.08)}html[data-theme="dark"] .theme-toggle{border-color:rgba(255,255,255,0.14);background:rgba(255,255,255,0.06)}html[data-theme="dark"] .theme-toggle:hover{background:rgba(255,255,255,0.10)}html[data-theme="dark"] .mobile-menu{background:var(--card)}html[data-theme="dark"] .mobile-nav-link{border-bottom-color:rgba(255,255,255,0.10)}html[data-theme="dark"] .mobile-close{color:rgba(255,255,255,0.75)}html[data-theme="dark"] .trust-strip,html[data-theme="dark"] .testimonials-section{background:var(--card);border-bottom-color:rgba(255,255,255,0.08)}html[data-theme="dark"] .products-section{background:var(--background)}html[data-theme="dark"] .products-section .section-header p{color:rgba(255,255,255,0.82)}html[data-theme="dark"] .products-section .section-label{color:hsl(199,89%,56%)}html[data-theme="dark"] .product-card h3{color:var(--foreground)}html[data-theme="dark"] .product-card:hover h3{color:var(--secondary)}html[data-theme="dark"] .product-card,html[data-theme="dark"] .info-card,html[data-theme="dark"] .contact-form-card,html[data-theme="dark"] .faq-item,html[data-theme="dark"] .checklist li,html[data-theme="dark"] .spec-table,html[data-theme="dark"] .faq-accordion details,html[data-theme="dark"] .why-choose-cta a{background:var(--card);border-color:rgba(255,255,255,0.10)}html[data-theme="dark"] .spec-row{border-bottom-color:rgba(255,255,255,0.08)}html[data-theme="dark"] .captcha-track{background:var(--muted)}html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,html[data-theme="dark"] h4,html[data-theme="dark"] h5,html[data-theme="dark"] h6{color:var(--foreground)}html[data-theme="dark"] .about-content .lead,html[data-theme="dark"] .testimonial-author,html[data-theme="dark"] .spec-label,html[data-theme="dark"] .faq-accordion summary{color:var(--foreground)}html[data-theme="dark"] .spec-label{background:rgba(255,255,255,0.06)}html[data-theme="dark"] .faq-item summary{color:var(--foreground)}html[data-theme="dark"] .spec-value{color:rgba(255,255,255,0.82)}html[data-theme="dark"] .faq-accordion .faq-body{color:rgba(255,255,255,0.82)}html[data-theme="dark"] .faq-accordion summary::after{color:rgba(255,255,255,0.75)}html[data-theme="dark"] .trust-icon{background:var(--muted);color:var(--secondary)}html[data-theme="dark"] .filter-btn:hover{background:rgba(255,255,255,0.06)}html[data-theme="dark"] .testimonial-card{background:var(--muted);border-color:rgba(255,255,255,0.10)}html[data-theme="dark"] .testimonial-card blockquote{color:rgba(255,255,255,0.82)}html[data-theme="dark"] .why-choose-cta a{background:var(--secondary);color:white;border:none}html[data-theme="dark"] .why-choose-cta a:hover{background:hsl(199,89%,42%);color:white}.stats-section{padding:4.5rem 0;background:var(--background);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}@media (min-width:768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat{background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:1.5rem 1.25rem;text-align:center;box-shadow:0 14px 28px rgba(0,0,0,0.05)}.stat-number{font-family:var(--font-display);font-weight:800;letter-spacing:-0.03em;font-size:clamp(2rem,3.2vw,2.75rem);color:var(--foreground);line-height:1}.stat-label{margin-top:0.65rem;color:var(--muted-foreground);font-weight:600}.marquee{overflow:hidden;position:relative;mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent)}.marquee-track{display:flex;width:max-content;will-change:transform;animation:marquee var(--marquee-duration,36s) linear infinite}.marquee-group{display:flex;align-items:center;gap:var(--marquee-gap,1rem);padding-right:var(--marquee-gap,1rem)}.marquee:hover .marquee-track{animation-play-state:paused}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.marquee{mask-image:none;-webkit-mask-image:none}.marquee-track{animation:marquee 60s linear infinite !important}}.gallery-strip-section{padding:5.5rem 0;background:var(--card)}.gallery-strip{margin-top:2.25rem}.gallery-strip-item{flex:0 0 auto;width:260px;height:160px;border-radius:1rem;overflow:hidden;border:1px solid var(--border);background:var(--muted);box-shadow:0 10px 18px rgba(0,0,0,0.06)}.gallery-strip-item img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.01);transition:transform 0.25s ease}.gallery-strip-item:hover img{transform:scale(1.06)}.testimonials-carousel .marquee-track{--marquee-duration:60s}.testimonials-carousel .testimonial-card{flex:0 0 auto;min-width:280px;max-width:360px}.sale-banner{margin:1.5rem 0 2rem;border-radius:0.9rem;overflow:hidden;border:1px solid rgba(255,255,255,0.18);background:linear-gradient(90deg,hsl(199,89%,48%),hsl(222,47%,11%));color:#fff;box-shadow:0 18px 34px rgba(0,0,0,0.15)}.sale-banner__inner{padding:0.9rem 0}.sale-tag{display:inline-flex;align-items:center;justify-content:center;padding:0.2rem 0.65rem;border-radius:999px;background:rgba(0,0,0,0.28);border:1px solid rgba(255,255,255,0.18);font-weight:800;font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase}.sale-item,.sale-link{display:inline-flex;align-items:center;gap:0.65rem;font-weight:650;white-space:nowrap;color:#fff}.sale-link{text-decoration:underline}.sale-sep{opacity:0.65;font-weight:800;padding:0 0.25rem}@media (max-width:480px){.sale-banner{margin:1.25rem 0 1.5rem}.sale-banner__inner{padding:0.75rem 0}.sale-item,.sale-link{font-size:0.95rem}}.gallery-strip-section .section-header h2{color:var(--foreground)}html[data-theme="dark"] .section-header h2{color:var(--foreground)}html[data-theme="dark"] .page-header h1{color:var(--foreground)}.top-banner{border-top:1px solid rgba(0,0,0,0.06);background:rgba(255,255,255,0.92);backdrop-filter:blur(12px);padding:0.35rem 0}html[data-theme="dark"] .top-banner{border-top:1px solid rgba(255,255,255,0.12);background:rgba(6,12,24,0.88)}.top-banner__inner{display:grid;grid-template-columns:1fr;gap:0.75rem;align-items:center}.top-banner__cta{display:inline-flex;align-items:center;gap:0.5rem;font-weight:800;font-size:0.95rem;color:var(--foreground);background:rgba(16,185,129,0.12);border:1px solid rgba(16,185,129,0.32);padding:0.45rem 0.75rem;border-radius:999px;white-space:nowrap}.top-banner__cta:hover{transform:translateY(-1px)}.top-banner__marquee{min-width:0}@media (max-width:900px){.top-banner__inner{grid-template-columns:1fr}.top-banner__cta{justify-content:center}}.marquee.is-interacting .marquee-track{animation-play-state:paused}@media (hover:none) and (pointer:coarse){.marquee{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;mask-image:none;-webkit-mask-image:none;scroll-behavior:smooth}.marquee::-webkit-scrollbar{display:none}.marquee{scrollbar-width:none}.marquee-track{padding:0 1rem}}.license-strip{padding:1.25rem 0;background:linear-gradient(90deg,rgba(14,165,233,0.18),rgba(2,6,23,0.02));border-top:1px solid rgba(0,0,0,0.06);border-bottom:1px solid rgba(0,0,0,0.06)}.license-strip__inner{display:flex;align-items:center;justify-content:center;gap:0.6rem;flex-wrap:wrap;text-align:center;font-weight:800;color:var(--foreground)}.license-strip__inner i{color:var(--secondary)}.license-strip__dot{opacity:0.65}html[data-theme="dark"] .license-strip{background:linear-gradient(90deg,rgba(14,165,233,0.18),rgba(2,6,23,0.75));border-top-color:rgba(255,255,255,0.08);border-bottom-color:rgba(255,255,255,0.08)}@media (max-width:480px){.license-strip{padding:1.1rem 0}}
/* ===== AUDIT FIX: Sticky header clearance ===== */
/* The fixed header is ~10rem tall (logo 11rem minus margins). Pages without
   a hero need enough padding-top so the first visible content clears it. */
.page-header{
  padding-top: clamp(12rem, 16vh, 15rem);
}

/* Product-hero overlay already has padding but on short viewports the h1
   can tuck under the fixed nav. Increase the minimum. */
.product-hero-overlay{
  padding: clamp(10rem, 16vh, 14rem) 1rem 2rem;
}

/* ===== AUDIT FIX: Product card overflow ===== */
/* overflow:hidden on the card clips border-radius on the image but can also
   clip long text / box-shadows. Move the clip to the image wrapper only. */
.product-card{
  overflow: visible;
}
.product-card-image{
  border-radius: 1rem 1rem 0 0;
  overflow: hidden;
}

/* Ensure card body text is never truncated */
.product-card-body{
  overflow: visible;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* ===== AUDIT FIX: scroll-margin for anchored product cards ===== */
[id]{
  scroll-margin-top: 14rem;
}

/* ===== AUDIT FIX: Sidebar CTA sticky offset ===== */
.sidebar-cta{
  top: 12rem;
}

/* ===== AUDIT FIX: Responsive long headings ===== */
.page-header h1{
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  max-width: 100%;
}

/* On mobile, shrink long page headings so they don't overflow */
@media (max-width: 480px){
  .page-header h1{
    font-size: 1.75rem;
  }
  .product-hero-overlay h1{
    font-size: clamp(1.5rem, 5vw, 2.25rem);
  }
}

@media (max-width: 768px){
  .page-header h1{
    font-size: clamp(1.75rem, 5vw, 2.25rem);
  }
}

/* ===== AUDIT FIX: Product features no-clip ===== */
.product-features{
  overflow: visible;
}
.product-feature{
  word-break: keep-all;
  white-space: nowrap;
}

/* ===== AUDIT FIX: Nav dropdown doesn't clip on edge ===== */
.nav-dropdown-menu{
  max-height: 80vh;
  overflow-y: auto;
}

/* ===== AUDIT FIX: Tap-target sizes (accessibility) ===== */
.nav-link{
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.mobile-nav-link{
  min-height: 48px;
  display: flex;
  align-items: center;
}
.filter-btn{
  min-height: 44px;
}
.social-link{
  min-width: 44px;
  min-height: 44px;
}

/* ===== AUDIT FIX: Focus-visible outlines (accessibility) ===== */
a:focus-visible,
button:focus-visible,
.btn:focus-visible{
  outline: 2px solid var(--secondary);
  outline-offset: 2px;
}

/* ===== AUDIT FIX: Skip to content (accessibility) ===== */
.skip-link{
  position: absolute;
  top: -100%;
  left: 1rem;
  z-index: 9999;
  padding: 0.75rem 1.5rem;
  background: var(--secondary);
  color: #fff;
  font-weight: 700;
  border-radius: 0 0 var(--radius) var(--radius);
  transition: top 0.2s;
}
.skip-link:focus{
  top: 0;
}

/* ===== AUDIT FIX: CTA section button wrapping ===== */
.cta-buttons{
  flex-wrap: wrap;
}

/* ===== AUDIT FIX: Gallery grid gap on mobile ===== */
@media (max-width: 480px){
  .gallery-grid{
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

/* ===== AUDIT FIX: Image rendering hints ===== */
img{
  content-visibility: auto;
}

/* ===== AUDIT FIX: Reduce Cumulative Layout Shift ===== */
.product-card-image img,
.gallery-item img,
.gallery-strip-item img{
  aspect-ratio: attr(width) / attr(height);
}

/* ===== AUDIT FIX: Process image responsive ===== */
.process-image img{
  max-width: 100%;
  height: auto;
}
