:root{--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0}#root{width:100%;margin:0;padding:0}code{font-family:var(--mono)}*{box-sizing:border-box;margin:0;padding:0}:root{--primary-color:#1a1a1a;--secondary-color:#dc143c;--accent-color:#fff;--text-color:#333;--bg-color:#f5f5f5;--border-color:#e0e0e0;--navbar-scrolled-bg:#fffffff2;--shadow:0 4px 6px #0000001a;--shadow-lg:0 10px 25px #0000001a;--transition:all .3s ease;--nav-h:92px;--gutter:2rem}:root[data-theme=dark]{--primary-color:#0a0a0a;--secondary-color:#ff1744;--accent-color:#fff;--text-color:#fff;--bg-color:#1a1a1a;--border-color:#333;--navbar-scrolled-bg:#0a0a0af2;--shadow:0 4px 6px #ffffff1a;--shadow-lg:0 10px 25px #ffffff1a}html,body{background-color:var(--bg-color);color:var(--text-color);max-width:100%;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;transition:background-color .3s,color .3s;overflow-x:hidden}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body.menu-open{overflow:hidden}.app{min-height:100dvh;overflow-x:clip}.app :where(h1,h2,h3,p,a,span,button){overflow-wrap:break-word}section[id]{scroll-margin-top:calc(var(--nav-h) + 1rem)}html[dir=rtl] .navbar-container,html[dir=rtl] .logo-section,html[dir=rtl] .nav-links,html[dir=rtl] .navbar-buttons{flex-direction:row-reverse}@media (width>=769px){html[dir=rtl] .hero{grid-template-columns:1fr 1fr}html[dir=rtl] .hero-buttons{justify-content:flex-end}}html[dir=rtl] .hero-content,html[dir=rtl] .section-header,html[dir=rtl] .service-card,html[dir=rtl] .gallery-item,html[dir=rtl] .testimonial-card,html[dir=rtl] .contact-item{text-align:right}.navbar{z-index:1000;transition:var(--transition);background-color:#0000;padding:1rem 0;position:fixed;top:0;left:0;right:0}.navbar.scrolled{background-color:var(--navbar-scrolled-bg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar.menu-open{background-color:var(--bg-color);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:none;backdrop-filter:none}.navbar-container{max-width:1200px;padding:0 var(--gutter);padding-left:max(var(--gutter), env(safe-area-inset-left));padding-right:max(var(--gutter), env(safe-area-inset-right));justify-content:space-between;align-items:center;gap:.75rem;margin:0 auto;display:flex}.logo-section{align-items:center;gap:1rem;min-width:0;display:flex}.logo{object-fit:contain;object-position:center;flex-shrink:0;width:70px;height:auto;max-height:60px}.brand-name{color:var(--secondary-color);letter-spacing:1px;white-space:nowrap;font-size:1.8rem;font-weight:700}.nav-links{align-items:center;gap:2rem;display:flex}.nav-links a{color:var(--text-color);transition:var(--transition);font-weight:500;text-decoration:none;position:relative}.nav-links a:after{content:"";background-color:var(--secondary-color);width:0;height:2px;transition:width .3s;position:absolute;bottom:-5px;left:0}@media (hover:hover){.nav-links a:hover{color:var(--secondary-color)}.nav-links a:hover:after{width:100%}}.navbar-buttons{flex-shrink:0;align-items:center;gap:1rem;display:flex}.language-toggle{border:2px solid var(--secondary-color);color:var(--text-color);cursor:pointer;transition:var(--transition);white-space:nowrap;background:0 0;border-radius:20px;min-width:100px;min-height:44px;padding:.5rem 1rem;font-size:.95rem;font-weight:600}.theme-toggle{border:2px solid var(--secondary-color);color:var(--text-color);cursor:pointer;width:44px;height:44px;transition:var(--transition);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.nav-toggle{border:2px solid var(--secondary-color);color:var(--text-color);cursor:pointer;width:44px;height:44px;transition:var(--transition);background:0 0;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:none}.mobile-nav{padding:.5rem var(--gutter) 1rem;padding-left:max(var(--gutter), env(safe-area-inset-left));padding-right:max(var(--gutter), env(safe-area-inset-right));flex-direction:column;max-width:1200px;margin:0 auto;display:none}.mobile-nav a{color:var(--text-color);border-bottom:1px solid var(--border-color);border-radius:8px;padding:.9rem .5rem;font-size:1.05rem;font-weight:600;text-decoration:none;transition:color .2s,background-color .2s}.mobile-nav a:last-child{border-bottom:none}.mobile-nav a:active{color:var(--secondary-color);background-color:#dc143c14}html[dir=rtl] .mobile-nav a{text-align:right}.nav-scrim{z-index:998;cursor:pointer;background:#00000073;border:none;padding:0;position:fixed;inset:0}@media (hover:hover){.language-toggle:hover{background-color:var(--secondary-color);color:var(--bg-color);transform:scale(1.05)}.theme-toggle:hover{background-color:var(--secondary-color);transform:scale(1.1)}.nav-toggle:hover{background-color:var(--secondary-color);color:var(--accent-color)}.mobile-nav a:hover{color:var(--secondary-color)}}.hero{margin-top:var(--nav-h);padding:4rem var(--gutter);grid-template-columns:1fr 1fr;align-items:center;gap:4rem;max-width:1200px;min-height:80vh;margin-left:auto;margin-right:auto;display:grid}.hero-content h2{color:var(--secondary-color);letter-spacing:2px;text-transform:uppercase;margin-bottom:.5rem;font-size:clamp(1rem,3.2vw,1.2rem)}.hero-title{color:var(--primary-color);background:linear-gradient(135deg, var(--secondary-color), var(--primary-color));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-size:clamp(2.25rem,9vw,4rem);font-weight:700;line-height:1.1}:root[data-theme=dark] .hero-title{color:var(--accent-color);background:linear-gradient(135deg, var(--secondary-color), var(--accent-color));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-tagline{color:var(--text-color);margin-bottom:1rem;font-size:clamp(1.05rem,4vw,1.5rem);font-weight:600}.hero-description{color:var(--text-color);margin-bottom:2rem;font-size:clamp(1rem,3.2vw,1.1rem);line-height:1.6}.hero-buttons{flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem;display:flex}.btn{cursor:pointer;min-height:48px;transition:var(--transition);border:none;border-radius:8px;justify-content:center;align-items:center;padding:1rem 2rem;font-family:inherit;font-size:1.1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--secondary-color);color:var(--accent-color);box-shadow:var(--shadow-lg)}.btn-secondary{color:var(--secondary-color);border:2px solid var(--secondary-color);background-color:#0000}@media (hover:hover){.btn-primary:hover{transform:translateY(-3px);box-shadow:0 15px 35px #dc143c66}.btn-secondary:hover{background-color:var(--secondary-color);color:var(--accent-color);transform:translateY(-3px)}}.btn:active{transform:scale(.98)}.location-badge{color:var(--secondary-color);font-size:1rem;font-weight:600}.hero-image{box-shadow:var(--shadow-lg);border-radius:12px;position:relative;overflow:hidden}.hero-image img{width:100%;height:auto;transition:var(--transition);object-fit:cover;display:block}@media (hover:hover){.hero-image:hover img{transform:scale(1.05)}}.quick-info{padding:4rem var(--gutter);background:linear-gradient(135deg, var(--secondary-color), #dc143ccc);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:2rem;max-width:1200px;margin:0 auto 4rem;display:grid}.info-card{text-align:center;color:var(--accent-color);transition:var(--transition)}@media (hover:hover){.info-card:hover{transform:translateY(-5px)}}.info-card .icon{color:var(--accent-color);margin:0 auto 1rem;font-size:2.5rem;display:block}.info-card h3{margin-bottom:.5rem;font-size:1.5rem}.info-card p{opacity:.95;font-size:.95rem}.info-link{color:inherit;overflow-wrap:anywhere;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:0 .5rem;text-decoration:none;display:inline-flex}.info-link:active{background-color:#ffffff2e}@media (hover:hover){.info-link:hover{text-decoration:underline}}.services,.gallery,.testimonials,.contact{padding:4rem var(--gutter);max-width:1200px;margin:0 auto 4rem}.section-header{text-align:center;margin-bottom:3rem}.section-header h2{color:var(--primary-color);margin-bottom:1rem;font-size:clamp(1.65rem,6vw,2.5rem)}:root[data-theme=dark] .section-header h2{color:var(--accent-color)}.section-header p{color:var(--text-color);opacity:.8;font-size:1.1rem}.services-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:2rem;display:grid}.service-card{background-color:var(--accent-color);text-align:center;box-shadow:var(--shadow);transition:var(--transition);border-left:4px solid var(--secondary-color);border-radius:12px;padding:2rem}:root[data-theme=dark] .service-card{color:var(--accent-color);background-color:#2a2a2a}@media (hover:hover){.service-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-10px)}}.service-icon{color:var(--secondary-color);margin-bottom:1rem;font-size:3rem}.service-card h3{color:var(--secondary-color);margin-bottom:1rem;font-size:1.3rem}.service-card p{color:var(--text-color);line-height:1.6}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:2rem;display:grid}.gallery-item{aspect-ratio:1;box-shadow:var(--shadow-lg);transition:var(--transition);border-radius:12px;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:var(--transition)}@media (hover:hover){.gallery-item:hover img{transform:scale(1.1)}}.gallery-item p{color:var(--accent-color);background:#000000b3;padding:1rem;font-weight:600;position:absolute;bottom:0;left:0;right:0}.gallery-item.placeholder{background:linear-gradient(135deg, var(--bg-color), var(--border-color));color:var(--text-color);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.gallery-item.placeholder svg{opacity:.5}.gallery-item.placeholder p{text-align:center;color:var(--text-color);background:0 0;font-size:1.2rem;position:static}.testimonials-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:2rem;display:grid}.testimonial-card{background-color:var(--accent-color);box-shadow:var(--shadow);transition:var(--transition);border-top:4px solid var(--secondary-color);border-radius:12px;padding:2rem}:root[data-theme=dark] .testimonial-card{background-color:#2a2a2a}@media (hover:hover){.testimonial-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-10px)}}.testimonial-card .stars{color:#ffc107;gap:.3rem;margin-bottom:1rem;font-size:1.2rem;display:flex}.testimonial-card p{color:var(--text-color);margin-bottom:1rem;font-style:italic;line-height:1.6}.testimonial-card .author{color:var(--secondary-color);font-style:normal;font-weight:600}.contact-container{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;display:grid}.contact-info{gap:2rem;display:grid}.contact-item{background-color:var(--accent-color);box-shadow:var(--shadow);transition:var(--transition);border-radius:12px;padding:1.5rem}:root[data-theme=dark] .contact-item{background-color:#2a2a2a}@media (hover:hover){.contact-item:hover{transform:translate(5px)}}.contact-item h3{color:var(--secondary-color);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:1.2rem;display:flex}.contact-icon{flex-shrink:0}.contact-item a,.contact-item p{color:var(--text-color);font-size:1.1rem;line-height:1.6;text-decoration:none}.contact-item a,.contact-item .link-button{border-radius:8px;align-items:center;min-height:44px;margin:-.25rem -.5rem;padding:.25rem .5rem;display:inline-flex}.contact-item a:active,.contact-item .link-button:active{color:var(--secondary-color);background-color:#dc143c1a}.link-button{color:var(--text-color);cursor:pointer;text-align:inherit;background:0 0;border:none;font-family:inherit;font-size:1.1rem;text-decoration:none}@media (hover:hover){.contact-item a:hover,.link-button:hover{color:var(--secondary-color)}}.map-container{box-shadow:var(--shadow-lg);border-radius:12px;overflow:hidden}.map-container iframe{border:0;width:100%;height:clamp(260px,45vh,400px);display:block}.footer{background-color:var(--primary-color);color:var(--accent-color);text-align:center;margin-top:4rem;padding:2rem}.footer-content p{margin:.5rem 0}.whatsapp-button{bottom:calc(2rem + env(safe-area-inset-bottom));right:calc(2rem + env(safe-area-inset-right));color:#fff;cursor:pointer;width:60px;height:60px;box-shadow:var(--shadow-lg);transition:var(--transition);z-index:999;background-color:#25d366;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:2rem;display:flex;position:fixed}@media (hover:hover){.whatsapp-button:hover{transform:scale(1.15);box-shadow:0 15px 35px #25d36666}}.whatsapp-button:active{transform:scale(.95)}.social-media{padding:4rem var(--gutter);text-align:center;max-width:1200px;margin:0 auto 4rem}.social-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:3rem;margin-top:2rem;display:flex}.social-link{background-color:var(--accent-color);box-shadow:var(--shadow);transition:var(--transition);color:var(--text-color);border-radius:12px;flex-direction:column;align-items:center;gap:1rem;padding:2rem;font-size:1.1rem;font-weight:600;text-decoration:none;display:flex}:root[data-theme=dark] .social-link{color:var(--accent-color);background-color:#2a2a2a}@media (hover:hover){.social-link:hover{box-shadow:var(--shadow-lg);transform:translateY(-10px)}.social-link.facebook:hover,.social-link.facebook:hover svg{color:#1877f2}.social-link.instagram:hover{color:#fff;background:linear-gradient(135deg,#f58529 0%,#dd2a7b 50%,#8134af 100%)}.social-link.instagram:hover svg{color:#fff;stroke:#fff}}.social-link svg{transition:var(--transition)}@media (width<=1024px){:root{--gutter:1.5rem}.hero{gap:2.5rem}.nav-links{gap:1.25rem}}@media (width<=900px){.hero{grid-template-columns:1fr;gap:2rem;min-height:auto;padding-top:2.5rem}.hero-image{width:100%;max-width:560px;margin-inline:auto}.contact-container{grid-template-columns:1fr;gap:2rem}}@media (width<=768px){:root{--gutter:1rem;--nav-h:calc(64px + env(safe-area-inset-top))}.navbar{padding:.6rem 0;padding-top:calc(.6rem + env(safe-area-inset-top))}.logo{width:48px;max-height:44px}.brand-name{letter-spacing:.5px;font-size:1.25rem}.nav-links{display:none}.nav-toggle{display:inline-flex}.mobile-nav{display:flex}.mobile-nav[hidden]{display:none}.navbar-buttons{gap:.5rem}.language-toggle{min-width:0;padding:.5rem .7rem;font-size:.85rem}.hero{padding:2rem var(--gutter)}.hero-buttons{flex-direction:column;align-items:stretch;gap:.75rem}html[dir=rtl] .hero-buttons{align-items:stretch}.btn{width:100%}.quick-info{grid-template-columns:repeat(2,1fr);gap:1.5rem;padding:2rem 1rem}.services,.gallery,.testimonials,.contact,.social-media{padding:2.5rem var(--gutter);margin-bottom:2rem}.section-header{margin-bottom:2rem}.service-card,.testimonial-card{padding:1.5rem}.gallery-item{aspect-ratio:4/3}.gallery-grid,.testimonials-grid{gap:1.25rem}.contact-info,.social-links{gap:1rem}.social-link{flex:calc(50% - 1rem);min-width:130px;padding:1.5rem 1rem}.whatsapp-button{width:56px;height:56px;bottom:calc(1rem + env(safe-area-inset-bottom));right:calc(1rem + env(safe-area-inset-right))}html[dir=rtl] .whatsapp-button{right:auto;left:calc(1rem + env(safe-area-inset-left))}.footer{padding:2rem 1rem calc(2rem + env(safe-area-inset-bottom));margin-top:2rem}}@media (width<=480px){.hero{padding-top:1.5rem}.quick-info{grid-template-columns:1fr;gap:1.25rem}.info-card h3{font-size:1.25rem}.info-card p{font-size:.9rem}.service-card h3{font-size:1.15rem}.btn{padding:.85rem 1.25rem;font-size:1rem}.contact-item{padding:1.15rem}.contact-item a,.contact-item p,.link-button{font-size:1rem}.social-links{flex-direction:column;gap:.75rem}.social-link{flex-direction:row;justify-content:center;gap:.75rem;width:100%;padding:1rem}}@media (width<=360px){.logo{width:40px;max-height:38px}.logo-section{gap:.5rem}.brand-name{font-size:1.05rem}.language-toggle{padding:.45rem .55rem;font-size:.78rem}.navbar-buttons{gap:.4rem}}@media (height<=480px) and (orientation:landscape){.hero{min-height:auto;padding-top:1.5rem;padding-bottom:1.5rem}.mobile-nav{max-height:60vh;overflow-y:auto}}
