html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}html,body{margin:0;padding:0;overflow-x:hidden}:root{--primary-color:#3A5E3A;--secondary-color:#8C5E3A;--accent-color:#b08c56;--text-color:#36454F;--bg-light:#FFFFFF;--bg-dark:#F8F8F8;--hunters-green:#004b2c;--font-family:'Inter',sans-serif;--heading-font:'Cinzel Decorative',serif;--border-radius:12px;--transition-speed:0.4s;--theme-rustic-light-bg:#FFFFFF;--theme-rustic-light-text:var(--text-color);--theme-rustic-dark-bg:#F8F8F8;--theme-rustic-dark-text:var(--text-color)}*[data-theme='rustic-light']{background:var(--theme-rustic-light-bg);color:var(--theme-rustic-light-text)}*[data-theme='rustic-dark']{background:var(--theme-rustic-dark-bg);color:var(--theme-rustic-dark-text)}body{background-color:white;font-family:var(--font-family);color:var(--text-color);line-height:1.6;position:relative}p{font-size:1.2rem}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-speed),transform var(--transition-speed)}a:hover{color:var(--accent-color);transform:scale(1.02)}#site-logo{max-height:128px;width:auto;transition:max-height .3s ease}.logo-shimmer-wrapper{position:relative;display:inline-block;transition:transform .3s ease,filter .3s ease}.logo-shimmer-wrapper:hover{transform:translateY(-5px) scale(1.05);filter:drop-shadow(0 10px 15px rgba(0,0,0,.25))}.hero-section .h1-visual{font-family:var(--heading-font);color:var(--hunters-green);font-size:4.16rem;line-height:1.2;margin:0 0 1rem 0;padding:0}.hero-section p{color:var(--text-color);font-size:1.5rem}h1{font-size:3rem;text-shadow:2px 2px 4px rgba(0,0,0,0.2)}h2{font-size:2.8rem;text-shadow:1px 1px 3px rgba(0,0,0,0.1);color:#000000}h3{font-size:2.2rem;color:var(--primary-color);margin-bottom:1rem;font-weight:700}p.footer-h3{font-family:var(--heading-font);color:var(--bg-light);margin-bottom:1.5rem;font-size:1.5rem;font-weight:400;margin-top:0}p.nav-h4{font-size:1.1rem;font-weight:700;text-transform:uppercase;color:var(--secondary-color);margin-bottom:15px}p.lightbox-h3{color:var(--primary-color);margin-bottom:25px;font-size:2.2rem;font-weight:700}p.lightbox-h4{border-top:1px solid #eee;margin-top:20px;padding-top:20px;font-size:1.3rem;color:var(--secondary-color);margin-bottom:15px;font-weight:700}*[data-theme='rustic-dark'] h2{color:#000000}*[data-theme='rustic-dark'] h3{color:#000000}*[data-theme='rustic-dark'] .specialisation-item h3, *[data-theme='rustic-dark'] .service-item h3{color:var(--primary-color)}.specialisation-section .section-intro{color:var(--text-color)}.about-section .container p{max-width:800px;margin-left:auto;margin-right:auto;text-align:left}.container{max-width:1200px;margin:0 auto;padding:0 20px;box-sizing:border-box}.site-header{background-color:transparent;padding:1rem 0;position:absolute;top:40px;left:0;width:100%;z-index:1000}.site-header.menu-open{z-index:2002}.site-header.menu-open .logo-container{opacity:0;transition:opacity .3s ease}.header-inner-container{display:flex;justify-content:space-between;align-items:center;padding:0 40px;box-sizing:border-box}.logo-container{display:flex;align-items:center;position:relative;transition:opacity .3s ease}.menu-toggle{position:fixed;top:60px;right:40px;z-index:2001;background-color:transparent;border:6px solid var(--secondary-color);border-radius:50%;cursor:pointer;width:150px;height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,0,0,0.2);animation:floatAndBreatheDesktop 3s ease-in-out infinite alternate;transition:border-color 1s ease-in-out, top .5s ease-in-out, left .5s ease-in-out, right .5s ease-in-out;flex-shrink:0;padding:10px}.menu-toggle[aria-expanded="true"]{top:40px;left:40px;right:auto;background-color:transparent;opacity:1;z-index:2003}.menu-toggle .hamburger-icon{width:50px;height:36px;position:relative;display:block;margin:0 auto 5px}.menu-toggle .menu-text{font-family:var(--font-family);font-size:2rem;color:#000000;font-weight:700;text-transform:uppercase;display:block;line-height:1;margin-top:5px}.menu-toggle .hamburger-icon span{display:block;position:absolute;height:8px;width:100%;background-color:#000000;border-radius:4px;opacity:1;left:0;transform:rotate(0deg);transition:.25s ease-in-out}.menu-toggle .hamburger-icon span:nth-child(1){top:0px}.menu-toggle .hamburger-icon span:nth-child(2){top:14px}.menu-toggle .hamburger-icon span:nth-child(3){top:28px}.menu-toggle[aria-expanded="true"] .hamburger-icon span:nth-child(1){top:14px;transform:rotate(135deg)}.menu-toggle[aria-expanded="true"] .hamburger-icon span:nth-child(2){opacity:0;left:-50px}.menu-toggle[aria-expanded="true"] .hamburger-icon span:nth-child(3){top:14px;transform:rotate(-135deg)}.main-nav{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,0.98);z-index:2000;display:flex;justify-content:space-between;align-items:flex-end;opacity:0;visibility:hidden;transition:opacity .5s ease-in-out,visibility .5s ease-in-out;pointer-events:none;padding:80px 5%;box-sizing:border-box}.main-nav[data-visible="true"]{opacity:1;visibility:visible;z-index:2001}.nav-content-left{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}.nav-logo-container img{max-height:128px;width:auto}.nav-links{list-style:none;display:flex;flex-direction:column;align-items:flex-end;padding:0;margin:0;pointer-events:auto}.nav-links li{margin:20px 0}.nav-links a{font-size:4rem;font-weight:700;color:var(--primary-color);text-decoration:none;transition:color .3s ease,transform .3s ease;line-height:1.2}.nav-links a:hover{color:var(--accent-color);transform:translateX(-10px) scale(1.02)}.nav-contact-info{color:var(--text-color);pointer-events:auto;text-align:left;margin-bottom:40px}.nav-contact-info p{margin:0 0 8px 0;font-size:1.2rem;line-height:1.4}.nav-contact-info a{color:var(--text-color);text-decoration:none;transition:color .3s ease}.nav-contact-info a:hover{color:var(--primary-color)}.about-image-wrapper{max-width:500px;margin:0 auto 30px auto;border-radius:var(--border-radius);overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,0.1);position:relative}.about-image-wrapper::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,75,44,0.65);z-index:1}.about-image-wrapper img{width:100%;height:auto;display:block}.image-overlay-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;color:#fff;text-align:center;width:90%}.image-overlay-content ul{list-style:none;padding:0;margin:0}.image-overlay-content li{font-size:1.2rem;margin-bottom:.5rem;font-weight:300}.flow-section{padding:150px 0;text-align:center;position:relative;overflow:hidden;transform-origin:center top;opacity:0;transition:opacity 1s ease-out,transform 1s ease-out}.flow-section.fade-in-up{transform:translateY(50px)}.flow-section.fade-in-left{transform:translateX(-50px)}.flow-section.fade-in-right{transform:translateX(50px)}.flow-section.fade-in-scale{transform:scale(.95)}.flow-section.active{opacity:1;transform:none}.hero-section{height:100vh;display:flex;align-items:center;justify-content:center;background:url(images/deepcleaningchristchurch.avif) no-repeat center center/cover;width:100%;margin:0;padding:0;box-sizing:border-box;overflow:hidden;position:relative}.hero-content-wrapper{background-color:rgba(255,255,255,0.7);padding:40px;border-radius:var(--border-radius);box-shadow:0 10px 30px rgba(0,0,0,0.2);max-width:800px;box-sizing:border-box;text-align:center;margin-top:40px}.hero-section p{max-width:800px;margin:0 auto 2.5rem}.btn{display:inline-block;background-color:var(--accent-color);color:#fff;padding:18px 35px;border-radius:50px;font-weight:700;font-size:1.2rem;text-transform:uppercase;transition:transform var(--transition-speed) ease,box-shadow var(--transition-speed) ease;box-shadow:0 5px 20px rgba(0,0,0,0.3)}.btn:hover{transform:translateY(-7px) scale(1.05);box-shadow:0 10px 30px rgba(0,0,0,0.5)}.contact-submit-btn{border:none;background-color:var(--primary-color);color:#fff;padding:15px 30px;border-radius:8px;font-weight:700;font-size:1.1rem;text-transform:uppercase;transition:all var(--transition-speed) ease;box-shadow:0 4px 15px rgba(0,0,0,0.2)}.contact-submit-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,0.3);background-color:var(--accent-color)}.section-intro{font-size:1.2rem;max-width:800px;margin:0 auto 3rem}.specialisation-section{padding-top:180px}.specialisation-grid,.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;margin-top:3.5rem}.specialisation-item,.service-item{background-color:var(--bg-light);padding:40px;border-radius:var(--border-radius);transition:transform var(--transition-speed),box-shadow var(--transition-speed);position:relative;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,0.05);border-left:5px solid var(--accent-color)}.specialisation-item:hover,.service-item:hover{transform:translateY(-8px);box-shadow:0 15px 40px rgba(0,0,0,0.15)}.specialisation-item h3,.service-item h3{color:var(--primary-color);margin-bottom:15px}.service-image-wrapper{width:100%;height:200px;overflow:hidden;border-radius:var(--border-radius);margin-bottom:20px;box-shadow:0 5px 15px rgba(0,0,0,0.1)}.service-image-wrapper img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform var(--transition-speed) ease}.specialisation-item:hover .service-image-wrapper img,.service-item:hover .service-image-wrapper img{transform:scale(1.05)}.testimonial-grid{display:grid;gap:30px;margin-top:3.5rem;justify-content:center}.testimonial-item{background-color:var(--bg-dark);padding:40px;border-radius:var(--border-radius);text-align:left;position:relative;box-shadow:0 8px 30px rgba(0,0,0,0.08);max-width:700px}.testimonial-item::before{content:'\201C';position:absolute;top:10px;left:20px;font-size:6rem;color:var(--primary-color);opacity:.1;line-height:1;z-index:0}.testimonial-item p,.testimonial-item footer{position:relative;z-index:1}.testimonial-item p{font-style:italic;margin-bottom:15px;color:var(--text-color)}.testimonial-item footer{text-align:left;font-style:normal;font-weight:400;color:var(--text-color);margin-top:20px;opacity:.8;background:transparent!important;padding:0}.contact-details-intro{margin-bottom:1rem;font-size:1.1rem;color:var(--text-color)}.contact-info-text{margin-bottom:2rem;font-size:1.1rem;line-height:1.8}.contact-info-text p{display:flex;align-items:center;justify-content:center;margin:0.8rem 0;gap:10px;color:var(--theme-rustic-dark-text)}.contact-info-text .contact-icon{width:22px;height:22px;fill:currentColor}.contact-info-text .contact-link{color:var(--theme-rustic-dark-text);text-decoration:none;transition:color .3s ease,text-shadow .3s ease}.contact-info-text .contact-link:hover{color:var(--accent-color);text-shadow:0 0 8px var(--accent-color)}.form-group{margin-bottom:25px;text-align:left}label{display:block;margin-bottom:10px;font-weight:700;color:var(--text-color)}input,textarea{width:100%;padding:15px;border:1px solid var(--secondary-color);border-radius:var(--border-radius);background-color:rgba(255,255,255,0.8);color:var(--text-color);font-family:var(--font-family);font-size:1.1rem;transition:border-color var(--transition-speed),box-shadow var(--transition-speed);box-sizing:border-box}input:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 15px rgba(58,94,58,0.2)}.recommended-partners{margin-top:40px;text-align:center}.recommended-partners h3{color:var(--text-color)}.partner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin-top:20px}.partner-card{border:1px solid rgba(0,0,0,0.1);padding:25px;border-radius:var(--border-radius);background-color:var(--bg-light);text-align:left}.partner-logo-wrapper{max-width:216px;margin:0 auto 20px auto}.partner-logo-wrapper img{max-width:100%;height:auto;display:block}.partner-card h4{color:var(--primary-color);margin-top:0}.partner-card p{font-size:1rem;margin-bottom:10px}.partner-card a{font-weight:700}.faq-accordion{margin-top:25px;text-align:left;border-top:1px solid rgba(0,0,0,0.1)}.faq-item{border-bottom:1px solid rgba(0,0,0,0.1)}.faq-question{width:100%;background:transparent;border:none;text-align:left;padding:15px 0;font-size:1.1rem;font-weight:700;color:var(--text-color);cursor:pointer;position:relative;padding-right:30px;font-family:var(--font-family)}.faq-question::after{content:'+';position:absolute;right:5px;top:50%;transform:translateY(-50%);font-size:1.8rem;color:var(--accent-color);transition:transform .3s ease}.faq-question[aria-expanded="true"]::after{transform:translateY(-50%) rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .5s ease-in-out}.faq-answer p{padding:0 0 15px 0;margin:0;font-size:1rem;color:var(--text-color)}footer{background-color:var(--hunters-green);color:var(--bg-light);padding:4rem 0}.footer-main-content{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:2rem}.footer-column{flex:1;min-width:250px;display:flex;flex-direction:column;align-items:flex-start}.footer-contact-item{display:flex;align-items:center;gap:10px;margin-bottom:1rem}.footer-icon{width:20px;height:20px;fill:var(--accent-color);flex-shrink:0}.footer-column a{color:var(--bg-light);transition:color .3s ease}.footer-column a:hover{color:var(--accent-color)}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:0.8rem}.footer-social-icons{display:flex;gap:1rem;margin-bottom:1.5rem}.footer-social-icons a svg{width:28px;height:28px;fill:var(--bg-light);transition:fill .3s ease,transform .3s ease}.footer-social-icons a:hover svg{fill:var(--accent-color);transform:scale(1.1)}.footer-btn{background-color:var(--accent-color);color:#fff;padding:12px 28px;font-size:1rem}.footer-btn:hover{background-color:var(--primary-color);transform:translateY(-3px)}.footer-divider{border:0;height:1px;background-color:rgba(255,255,255,0.1);margin:2rem 0}.footer-bottom{text-align:center;font-size:0.9rem;opacity:0.8}.footer-bottom a{color:var(--bg-light);text-decoration:none}.footer-bottom a:hover{color:var(--accent-color);text-decoration:underline}.vertical-social-icons{position:fixed;top:50%;left:25px;transform:translateY(-50%);z-index:1001;display:flex;flex-direction:column;gap:15px}.vertical-social-icons a{display:flex;justify-content:center;align-items:center;width:48px;height:48px;background-color:rgba(0,0,0,0.3);border-radius:50%;transition:background-color var(--transition-speed),transform var(--transition-speed)}.vertical-social-icons a svg{width:24px;height:24px;fill:var(--bg-light)}.vertical-social-icons a:hover{background-color:rgba(0,0,0,0.5);transform:scale(1.1)}.vertical-social-icons a:hover svg{fill:var(--accent-color)}.lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);display:flex;justify-content:center;align-items:center;z-index:2000;opacity:0;visibility:hidden;transition:opacity var(--transition-speed) ease,visibility var(--transition-speed) ease}.lightbox-overlay.visible{opacity:1;visibility:visible}.lightbox-content{background-color:#fff;padding:40px;border-radius:var(--border-radius);box-shadow:0 0 60px rgba(0,0,0,0.4);max-width:800px;width:90%;position:relative;transform:scale(0.8);transition:transform var(--transition-speed) ease;max-height:85vh;overflow-y:auto}.lightbox-overlay.visible .lightbox-content{transform:scale(1)}.lightbox-content p,.lightbox-content li{margin-bottom:15px;line-height:1.7;color:var(--text-color)}.lightbox-content ol,.lightbox-content ul{padding-left:20px}.lightbox-content a{font-weight:700}.btn-close{position:absolute;top:25px;right:25px;background:none;border:none;font-size:2.5rem;color:var(--secondary-color);cursor:pointer;transition:transform var(--transition-speed)}.btn-close:hover{transform:rotate(90deg)}.hidden,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes floatAndBreatheDesktop{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.08)}100%{transform:translateY(0) scale(1)}}@keyframes floatAndBreatheMobile{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.04)}100%{transform:translateY(0) scale(1)}}@media(max-width:768px){html{scroll-padding-top:70px}.site-header{padding:0;position:absolute;background-color:transparent;top:0;left:0;right:0;z-index:2001}.header-inner-container{padding:3px 10px;justify-content:space-between;align-items:center;flex-wrap:nowrap;height:70px}.logo-container{flex-grow:1;min-width:0;margin-right:10px;display:flex;align-items:center;position:relative;top:20px}#site-logo{max-height:78px}.menu-toggle{background-color:transparent;top:13px;right:10px;width:44px;height:44px;padding:0;border-width:2px;border-style:solid;border-color:var(--secondary-color);border-radius:50%;z-index:2005;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 10px rgba(0,0,0,0.15);animation:floatAndBreatheMobile 3s ease-in-out infinite alternate;opacity:1;position:fixed}.menu-toggle[aria-expanded="true"]{top:13px;right:10px;left:auto;background-color:transparent;opacity:1;z-index:2006}.menu-toggle .hamburger-icon{width:19px;height:14px;position:relative;display:block;margin:0}.menu-toggle .menu-text{display:none}.menu-toggle .hamburger-icon span{display:block;position:absolute;width:100%;height:2px;background-color:#000000;border-radius:1px;opacity:1;left:0;transition:background-color .25s ease-in-out,top .25s ease-in-out,transform .25s ease-in-out,opacity .25s ease-in-out}.menu-toggle .hamburger-icon span:nth-child(1){top:0px}.menu-toggle .hamburger-icon span:nth-child(2){top:6px}.menu-toggle .hamburger-icon span:nth-child(3){top:12px}.menu-toggle[aria-expanded="true"] .hamburger-icon span:nth-child(1){top:6px;transform:rotate(135deg)}.menu-toggle[aria-expanded="true"] .hamburger-icon span:nth-child(2){opacity:0!important;left:-19px}.menu-toggle[aria-expanded="true"] .hamburger-icon span:nth-child(3){top:6px;transform:rotate(-135deg)}.hero-section{padding-top:0;box-sizing:border-box}.hero-content-wrapper{margin-top:5px;padding:50px 20px}.hero-section .h1-visual{font-size:2.6rem;margin-bottom:0.5rem}.hero-section h1{font-size:2rem;margin-top:20px}.nav-links a{font-size:2rem}.main-nav{padding:20px;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding-top:100px}.nav-content-left{order:2;margin-top:auto;padding:0 0 20px 20px}.nav-contact-info{display:none}.nav-logo-container img{max-height:60px}p.nav-h4{font-size:1rem}.nav-contact-info p{font-size:1rem}.nav-links{order:1;width:100%;align-items:flex-start;padding-left:20px}.nav-links li{margin:10px 0}.nav-links a{font-size:2.2rem;text-align:left}h2{font-size:2.2rem}.about-section .container p{font-size:1rem}.image-overlay-content ul{margin-top:0}.image-overlay-content li{font-size:1rem}.section-intro{font-size:0.9rem}.specialisation-section{padding-top:80px}.specialisation-item,.service-item{padding:25px}.specialisation-item h3,.service-item h3{font-size:1.6rem}.specialisation-item p,.service-item p{font-size:0.9rem}.partner-card p{font-size:0.9rem}.btn{padding:12px 25px;font-size:1rem}.contact-submit-btn{padding:10px 20px;font-size:0.9rem}.lightbox-content{padding:30px}.vertical-social-icons{display:none}.footer-main-content{flex-direction:column;align-items:center;text-align:center}.footer-column{min-width:100%;align-items:center}.footer-contact-item{justify-content:center}.footer-social-icons{justify-content:center}}@media(max-width:480px){html{scroll-padding-top:60px}.header-inner-container{height:60px;padding:3px 8px}#site-logo{max-height:62.5px}.footer-bottom p{font-size:0.65rem;line-height:1.4}.menu-toggle{top:11px;right:8px;width:38px;height:38px}.menu-toggle[aria-expanded="true"]{top:11px;right:8px;left:auto;background-color:transparent;opacity:1;z-index:2006}.menu-toggle .hamburger-icon{width:15px;height:12px}.menu-toggle .hamburger-icon span:nth-child(1){top:0px}.menu-toggle .hamburger-icon span:nth-child(2){top:5px}.menu-toggle .hamburger-icon span:nth-child(3){top:10px}.menu-toggle[aria-expanded="true"] .hamburger-icon span:nth-child(1){top:5px;transform:rotate(135deg)}.menu-toggle[aria-expanded="true"] .hamburger-icon span:nth-child(2){opacity:0!important;left:-15px}.menu-toggle[aria-expanded="true"] .hamburger-icon span:nth-child(3){top:5px;transform:rotate(-135deg)}.hero-section{padding-top:0}.hero-content-wrapper{padding:40px 15px}.hero-section .h1-visual{font-size:2.08rem}.hero-section h1{font-size:1.6rem;margin-top:15px}.hero-section p{font-size:0.9rem}.flow-section{padding:80px 0}.specialisation-section{padding-top:50px}h2{font-size:1.7rem}h3{font-size:1.5rem}.section-intro{font-size:0.8rem}.specialisation-item,.service-item{padding:15px}.specialisation-item h3,.service-item h3{font-size:1.3rem}.specialisation-item p,.service-item p{font-size:0.8rem}.btn{padding:10px 18px;font-size:0.85rem}.testimonial-item{padding:15px}.testimonial-item p{font-size:0.85rem}.testimonial-item footer{font-size:0.8rem}}