*{margin:0;padding:0;box-sizing:border-box}body,html{background-color:#000;color:#000;scroll-behavior:smooth}main{padding:25px 10px 0}section{background-color:#ccc;background-image:url(/marbletexture.png);background-repeat:repeat;background-size:auto;background-position:50%;background-blend-mode:lighten;padding:60px 20px;max-width:1200px;margin:20px auto;border-radius:10px;scroll-margin-top:80px;box-shadow:inset 6px 6px 3px #fff,inset -4px -4px 4px rgba(0,0,0,.3)}.quote-button-container{position:fixed;bottom:20px;right:10px;width:100%;display:flex;justify-content:center;z-index:1500;pointer-events:none}.quote-button-inner{width:100%;max-width:1200px;display:flex;justify-content:flex-end;padding:0 20px;pointer-events:none}.quote-button{background-color:#FFD700;color:#000;padding:15px 25px;font-size:1rem;font-weight:700;border:none;border-radius:30px;box-shadow:0 4px 20px rgba(0,0,0,.6);cursor:pointer;opacity:0;transform:translateY(20px);transition:opacity .3s ease,transform .3s ease;pointer-events:none}.quote-button.fade-up{opacity:1;transform:translateY(0);pointer-events:auto}.quote-button.fade-down{opacity:0;transform:translateY(20px);pointer-events:none}.quote-button:hover{background-color:#e6c200}.header{position:fixed;top:0;left:0;width:100%;z-index:1999;background-color:rgba(0,0,0,.95);padding:10px 20px;box-shadow:0 8px 40px rgba(0,0,0,.7),0 2px 8px rgba(255,215,0,.1)}.navbar{justify-content:space-between;max-width:1200px;margin:0 auto}.logo-phone-wrapper,.navbar{display:flex;align-items:center}.logo-phone-wrapper{gap:20px}.logo{color:#FFD700;font-size:1.5rem;font-weight:700;white-space:nowrap;text-decoration:none;margin:5px 0}.logo:hover{text-decoration:underline}.phone-number a{color:#FFD700;font-size:.9rem;text-decoration:none;margin-right:60px;padding:10px 0}.phone-number a:hover{text-decoration:underline}.nav-links{list-style:none;display:flex;gap:20px;margin-left:auto}.nav-links a{color:#FFD700;text-decoration:none;font-weight:500;font-size:.9rem}.nav-links a:hover{text-decoration:underline}.scroll-progress-bar{position:relative;bottom:-10px;left:0;width:100%;max-width:1200px;height:2px;background-color:#FFD700;z-index:2001;pointer-events:auto;overflow:visible;margin:0 auto}.scroll-progress-indicator{position:absolute;top:50%;transform:translate(-50%,-50%);width:18px;height:6px;background-color:#FFD700;border-radius:50px;transition:left .1s linear;box-shadow:0 0 10px rgba(0,0,0,1);z-index:2002}.hamburger{display:none;flex-direction:column;cursor:pointer;z-index:1201;gap:5px;padding:20px}.hamburger span{width:25px;height:2px;background-color:#FFD700;display:block;transition:.4s}.hamburger.open span:first-child{transform:rotate(45deg) translate(4px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-6px)}.mobile-menu{position:fixed;top:62px;left:50%;transform:translate(-50%,-100%);width:70%;background-color:rgba(0,0,0,.95);transition:transform .3s ease-in-out;padding:10px 0 30px;z-index:1100;display:flex;flex-direction:column;align-items:center;border-radius:0 0 10px 10px;font-size:.9rem}.mobile-menu.open{transform:translate(-50%);box-shadow:0 8px 15px rgba(0,0,0,.7),0 2px 8px rgba(255,215,0,.1)}.mobile-menu ul{list-style:none;margin-top:20px;width:100%}.mobile-menu li{padding:20px;text-align:center}.menu-button{width:100%;background:none;border:none;font-size:1rem;cursor:pointer}.menu-button a{display:block;width:100%;color:#FFD700;text-decoration:none;font-weight:500}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.hero-logo{max-width:100%;height:auto;display:block;margin:0 auto}.hero{text-align:center;padding:60px 20px;margin-top:30px}.hero-content{max-width:600px;margin:0 auto}.hero-content h1{font-size:2.5rem;margin-bottom:20px;color:#000}.hero-content p{font-size:2em;margin:30px auto;padding:0;color:#000;max-width:600px;background:none}.cta-button{background-color:#FFD700;color:#000;border:none;padding:15px 30px;font-size:1rem;cursor:pointer;border-radius:100px;transition:background-color .2s ease,transform .2s ease;box-shadow:0 2px 5px rgba(0,0,0,.5);font-weight:700}.cta-button:hover{background-color:#e6c200;transform:scale(1.05)}.cta-button:active{transform:scale(.95)}.about-section h2,.contact-section h2,.image-section h2,.reviews-section h2{font-size:2em;text-align:center;color:#000;margin-bottom:30px}.about-section p{line-height:1.6;max-width:600px;margin:20px auto 0;text-align:left;color:#000;font-size:1.1rem;background:rgba(255,255,255,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:20px;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.5);border-left:2px solid #ffd700;border-right:2px solid #ffd700}.image-gallery{display:grid;grid-template-columns:1fr;grid-gap:20px;gap:20px;justify-content:center}@media (min-width:600px){.image-gallery{grid-template-columns:repeat(2,1fr)}}@media (min-width:900px){.image-gallery{grid-template-columns:repeat(3,1fr)}}.image-gallery img{width:100%;height:auto;object-fit:cover;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.5)}.lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:fadeInOverlay .3s ease forwards;z-index:2000;display:flex;align-items:center;justify-content:center;padding:30px;overflow-y:auto}.lightbox-overlay.closing{animation:fadeOutOverlay .3s ease forwards}.lightbox-media{max-width:100vw;width:100%;display:flex;flex-direction:column;align-items:center}.lightbox-image-container{position:relative;width:100vw;max-height:100vh}.lightbox-image-wrapper{animation:zoomIn .35s ease forwards}.lightbox-image-wrapper.closing{animation:zoomOut .25s ease forwards}.lightbox-image{opacity:0;transform:translateX(0);animation:fadeIn .4s forwards}.slide-from-left{animation:slideFromLeft .5s ease forwards}.slide-from-right{animation:slideFromRight .5s ease forwards}@keyframes fadeIn{to{opacity:1}}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes fadeOutOverlay{0%{opacity:1}to{opacity:0}}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes zoomOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes slideFromLeft{0%{opacity:0;transform:translateX(-200px)}to{opacity:1;transform:translateX(0)}}@keyframes slideFromRight{0%{opacity:0;transform:translateX(200px)}to{opacity:1;transform:translateX(0)}}.reviews-container{display:flex;flex-direction:column;gap:20px;align-items:center}.review-card{border-left:2px solid #ffd700;border-right:2px solid #ffd700;max-width:600px;background:rgba(255,255,255,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:20px;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.5);font-size:1.1rem}.review-name,.review-quote{font-size:1em;color:#000;line-height:1.6}.review-name{font-weight:700;margin-top:5px}.contact-form{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:10px}.contact-section h2{margin-bottom:0}.contact-form label{font-weight:700;color:#000;max-width:70px}.contact-form input,.contact-form textarea{padding:10px;font-size:1rem;border:1px solid #ccc;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.5);font-family:Outfit,sans-serif;transition:border .2s ease,box-shadow .2s ease;background:rgba(255,255,255,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.contact-form input:focus,.contact-form textarea:focus{outline:none;border:1px solid #ffd700;box-shadow:0 2px 5px rgba(0,0,0,.5),0 0 5px #FFD700}.contact-form button{align-self:flex-start;background-color:#FFD700;color:#000;border:none;padding:15px 30px;font-size:1rem;font-weight:700;cursor:pointer;border-radius:100px;transition:background-color .2s ease,transform .2s ease;box-shadow:0 2px 5px rgba(0,0,0,.5);margin-top:20px}.contact-form button:hover{background-color:#e6c200;transform:scale(1.1)}.contact-form button:active{transform:scale(.95)}.error-message,.success-message{margin:10px auto 0;padding:10px 0;text-align:left!important;align-self:flex-start!important;width:100%!important;font-weight:700}.success-message{color:black}.error-message{color:red}.footer{background-color:#000;color:#fff;text-align:center;padding:20px 0 25px;border-top:2px solid #ffd700;font-size:.8rem;max-width:1200px;margin:0 auto}.footer a{color:#FFD700;text-decoration:none}.legal-notice-overlay{position:fixed;top:0;left:0;width:100%;height:100%;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:rgba(0,0,0,.5);animation:fadeInOverlay .3s ease forwards;z-index:3500;display:flex;align-items:center;justify-content:center;overflow-y:auto}.legal-notice-content{background-color:#ccc;background-image:url(/marbletexture.png);background-repeat:repeat;background-size:auto;background-position:50%;background-blend-mode:lighten;border:2px solid #ffd700;border-radius:10px;max-height:90%;width:90%;max-width:1000px;overflow-y:auto;padding:40px 20px;box-shadow:0 2px 20px rgba(0,0,0,.7);position:relative;z-index:3501;text-align:left}.legal-notice-content,.legal-notice-overlay{pointer-events:auto}.legal-notice-text{color:#000;font-size:1rem;line-height:1.6;margin-top:-15px}.legal-notice-text h2{font-size:2rem;margin-bottom:10px;color:#000}.legal-notice-text h3{font-size:1.2rem;margin-top:30px;margin-bottom:10px;color:#000}.legal-notice-text h4{margin-bottom:1em;color:#000;font-weight:400}.legal-notice-text p{margin-bottom:1em;color:#000;background:rgba(255,255,255,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:20px;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.5);border-left:2px solid #ffd700;border-right:2px solid #ffd700}.legal-notice-text a{color:#0000EE;text-decoration:none}.legal-notice-text a:hover{text-decoration:underline}.legal-notice-text hr{border:none;height:2px;background-color:#FFD700;margin:30px 0;border-radius:50%}.aos-fade-up{animation:fadeUp .3s ease forwards}.aos-fade-down{animation:fadeDown .3s ease forwards}.footer-legal-link{display:inline-block;font:inherit;color:#FFD700;background:none;border:none;cursor:pointer;text-decoration:none;position:relative;z-index:10;touch-action:manipulation}body.modal-open{cursor:pointer}body.modal-open .legal-notice-content{cursor:default}.legal-close-wrapper{position:-webkit-sticky;position:sticky;top:0;width:100%;display:flex;justify-content:flex-end;background:transparent;z-index:20}.legal-notice-close{position:absolute;top:-30px;right:-10px;background-color:#FFD700;border-radius:50%;width:35px;height:35px;font-size:1.5rem;font-weight:700;color:#000;cursor:pointer;line-height:1;padding:0;text-align:center;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;z-index:25;border:none;box-shadow:0 2px 5px rgba(0,0,0,.5)}.legal-notice-close:hover{background-color:#e6c200}.cookie-toggle{margin:20px auto 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;max-width:200px}.toggle-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700;color:#000;cursor:pointer}.switch{position:relative;display:inline-block;width:50px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:background-color .3s ease;border-radius:34px;box-shadow:inset -1px -1px 1px #fff,inset 1px 1px 1px rgba(0,0,0,.3)}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:white;transition:.3s;border-radius:50%;box-shadow:inset 1px 1px 1px #fff,inset -1px -1px 1px rgba(0,0,0,.3)}.switch input:checked+.slider{background-color:#FFD700}.switch input:checked+.slider:before{transform:translateX(26px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}@keyframes fadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(40px)}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:rgba(0,0,0,.95);color:#fff;padding:20px 30px;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;z-index:1500;font-size:1rem;box-shadow:0 -8px 40px rgba(0,0,0,.7),0 -2px 8px rgba(255,215,0,.1)}.cookie-banner-overlay{position:fixed;inset:0;z-index:3000;pointer-events:auto;cursor:default}.cookie-banner-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);z-index:0;transition:background .3s ease,-webkit-backdrop-filter .3s ease;transition:backdrop-filter .3s ease,background .3s ease;transition:backdrop-filter .3s ease,background .3s ease,-webkit-backdrop-filter .3s ease}.cookie-banner-backdrop.active{background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cookie-banner-blocker{position:absolute;inset:0;z-index:0;background:transparent;pointer-events:auto}.cookie-banner-overlay *{pointer-events:auto}.cookie-banner p{text-align:center;margin:10px 0 20px;line-height:1.6em}.cookie-banner-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:20px}.cookie-banner button{background-color:#FFD700;color:#000;border:none;padding:15px 20px;font-weight:700;border-radius:100px;transition:background-color .2s ease;min-width:110px;cursor:pointer;font-size:1rem}.cookie-banner button:hover{background-color:#e6c200}@keyframes fadeDownOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(40px)}}.fadeDownOut{animation:fadeDownOut .3s ease forwards}@media (max-width:768px){.nav-links{display:none}.hamburger{display:flex}}@media (min-width:769px){.mobile-menu{display:none}}