.App{text-align:left}.header{position:fixed;top:0;left:0;right:0;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;padding:15px 0;transition:all .3s ease}.header.scrolled{box-shadow:0 2px 20px #0000001a}.nav{display:flex;justify-content:space-between;align-items:center}.logo{font-weight:700;color:#ff6b6b;text-decoration:none}.nav-menu{display:flex;list-style:none;gap:30px}.nav-link{color:#2c3e50;text-decoration:none;font-weight:500;transition:color .3s ease;position:relative}.nav-link:hover{color:#ff6b6b}.nav-link:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:#ff6b6b;transition:width .3s ease}.nav-link:hover:after{width:100%}.mobile-menu-btn{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#2c3e50}.hero{color:#fff;padding:120px 0 80px;text-align:center;position:relative;overflow:hidden;min-height:70vh;display:flex;align-items:center}.hero-background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.hero-background-image{width:100%;height:100%;object-fit:cover;object-position:center}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eeab3,#764ba2b3);z-index:2}.hero-content{position:relative;z-index:3}.hero h1{font-size:3.5rem;margin-bottom:20px;font-weight:700;line-height:1.2}.hero p{font-size:1.3rem;margin-bottom:40px;opacity:.9;max-width:600px;margin-left:auto;margin-right:auto}.hero-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.services{background:#f8f9fa}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;margin-top:60px}.service-card{background:#fff;padding:40px 30px;border-radius:15px;text-align:center;box-shadow:0 10px 30px #0000001a;transition:transform .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,#ff6b6b,#ff8e8e)}.service-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px #00000026}.service-icon{font-size:3rem;margin-bottom:20px;color:#ff6b6b}.service-card h3{font-size:1.5rem;margin-bottom:15px;color:#2c3e50}.service-card p{color:#7f8c8d;line-height:1.6;margin-bottom:20px}.service-price{font-size:1.5rem;font-weight:700;color:#ff6b6b;margin-bottom:20px}.loading-services{grid-column:1 / -1;text-align:center;padding:60px 20px}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #ff6b6b;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{background:#ffe6e6;color:#d63031;padding:15px;border-radius:8px;margin-bottom:30px;text-align:center;border:1px solid #ffb3b3}.no-services{grid-column:1 / -1;text-align:center;padding:60px 20px;color:#7f8c8d;font-style:italic}.service-image{width:100%;height:200px;margin-bottom:20px;border-radius:10px;overflow:hidden;background:#f8f9fa}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.service-card:hover .service-image img{transform:scale(1.05)}.about{background:#fff}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.about-text h3{font-size:2rem;margin-bottom:20px;color:#2c3e50}.about-text p{color:#7f8c8d;margin-bottom:20px;line-height:1.8}.about-features{list-style:none;margin-top:30px}.about-features li{color:#2c3e50;position:relative;padding:10px 0 10px 30px}.about-features li:before{content:"✓";position:absolute;left:0;color:#ff6b6b;font-weight:700;font-size:1.2rem}.about-image{position:relative}.about-image img{width:100%;border-radius:15px;box-shadow:0 20px 40px #0000001a}.contact{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff}.contact .section-title{color:#fff}.contact .section-subtitle{color:#ffffffe6}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-info h3{font-size:2rem;margin-bottom:30px}.contact-item{display:flex;align-items:center;margin-bottom:20px}.contact-icon{font-size:1.5rem;margin-right:15px;color:#ff6b6b}.contact-form{background:#ffffff1a;padding:40px;border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:12px 15px;border:none;border-radius:8px;background:#ffffffe6;color:#2c3e50;font-size:16px}.form-group textarea{height:120px;resize:vertical}.footer{background:#2c3e50;color:#fff;padding:40px 0;text-align:center}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;margin-bottom:30px}.footer-section h4{margin-bottom:20px;color:#ff6b6b}.footer-section p,.footer-section a{color:#bdc3c7;text-decoration:none;line-height:1.8}.footer-section a:hover{color:#ff6b6b}.footer-bottom{border-top:1px solid #34495e;padding-top:20px;color:#95a5a6}.gallery{background:#f8f9fa}.gallery-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:15px;margin-bottom:50px}.filter-btn{padding:10px 25px;border:2px solid #e9ecef;background:#fff;color:#6c757d;border-radius:25px;cursor:pointer;transition:all .3s ease;font-weight:500;font-size:14px}.filter-btn:hover,.filter-btn.active{background:linear-gradient(135deg,#ff6b6b,#ff8e8e);color:#fff;border-color:#ff6b6b;transform:translateY(-2px);box-shadow:0 5px 15px #ff6b6b4d}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:25px;margin-top:40px}.gallery-item{cursor:pointer;border-radius:15px;overflow:hidden;box-shadow:0 10px 30px #0000001a;transition:all .3s ease;position:relative}.gallery-item:hover{transform:translateY(-10px);box-shadow:0 20px 40px #00000026}.gallery-image-container{position:relative;overflow:hidden;aspect-ratio:4/3}.gallery-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-item:hover .gallery-image{transform:scale(1.1)}.gallery-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ff6b6be6,#ff8e8ee6);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-info{text-align:center;color:#fff;padding:20px}.gallery-info h4{font-size:1.2rem;margin-bottom:10px;font-weight:600}.gallery-info p{font-size:.9rem;margin-bottom:15px;opacity:.9}.gallery-icon{font-size:1.5rem;display:inline-block;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.gallery-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .3s ease}.modal-content{position:relative;max-width:90vw;max-height:90vh;background:#fff;border-radius:15px;overflow:hidden;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:15px;right:15px;background:#000000b3;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;z-index:2001;display:flex;align-items:center;justify-content:center;transition:background .3s ease}.modal-close:hover{background:#000000e6}.modal-image{width:100%;height:auto;max-height:70vh;object-fit:contain}.modal-info{padding:20px;text-align:center}.modal-info h3{color:#2c3e50;margin-bottom:10px;font-size:1.5rem}.modal-info p{color:#7f8c8d;font-size:1rem}@media (max-width: 768px){.nav-menu{display:none}.mobile-menu-btn{display:block}.hero h1{font-size:2.5rem}.hero p{font-size:1.1rem}.hero-buttons{flex-direction:column;align-items:center}.about-content,.contact-content{grid-template-columns:1fr;gap:40px}.services-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.gallery-filters{gap:10px}.filter-btn{padding:8px 20px;font-size:13px}.modal-content{max-width:95vw;max-height:95vh}.modal-image{max-height:60vh}}@media (max-width: 480px){.gallery-grid{grid-template-columns:1fr}.gallery-filters{justify-content:flex-start;overflow-x:auto;padding-bottom:10px}.filter-btn{white-space:nowrap;flex-shrink:0}}.dark{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #3a3a3a;--text-primary: #ffffff;--text-secondary: #b3b3b3;--text-muted: #808080;--accent-primary: #ff6b6b;--accent-secondary: #ff8e8e;--border-color: #404040;--shadow-color: rgba(0, 0, 0, .3)}.nav-actions{display:flex;align-items:center;gap:15px}.language-selector{position:relative}.flag-icon{width:20px;height:15px;object-fit:cover;border-radius:2px;border:1px solid rgba(0,0,0,.1);display:block;background:#f8f9fa;transition:opacity .2s ease}.flag-icon:hover{opacity:.8}.flag-icon[src=""]{background:linear-gradient(45deg,#f0f0f0 25%,transparent 25%),linear-gradient(-45deg,#f0f0f0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f0f0f0 75%),linear-gradient(-45deg,transparent 75%,#f0f0f0 75%);background-size:4px 4px;background-position:0 0,0 2px,2px -2px,-2px 0px}.language-toggle{background:none;border:2px solid var(--border-color, #e9ecef);border-radius:50%;padding:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;background:var(--bg-secondary, white);color:var(--text-primary, #2c3e50);width:40px;height:40px}.language-toggle:hover{transform:translateY(-2px);box-shadow:0 5px 15px var(--shadow-color, rgba(0, 0, 0, .2))}.language-dropdown{position:absolute;top:100%;right:0;background:var(--bg-secondary, white);border:1px solid var(--border-color, #e9ecef);border-radius:10px;box-shadow:0 10px 30px var(--shadow-color, rgba(0, 0, 0, .2));z-index:1000;min-width:60px;margin-top:5px;overflow:hidden;display:grid;grid-template-columns:repeat(2,1fr);gap:2px;padding:4px}.language-option{width:40px;height:40px;padding:0;border:none;background:transparent;color:var(--text-primary, #2c3e50);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border-radius:6px}.language-option:hover{background:var(--bg-tertiary, #f8f9fa)}.language-option.active{background:linear-gradient(135deg,var(--accent-primary, #ff6b6b),var(--accent-secondary, #ff8e8e));color:#fff}.theme-toggle{background:none;border:2px solid var(--border-color, #e9ecef);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;transition:all .3s ease;background:var(--bg-secondary, white);color:var(--text-primary, #2c3e50)}.theme-toggle:hover{transform:scale(1.1);box-shadow:0 5px 15px var(--shadow-color, rgba(0, 0, 0, .2))}.dark body{background-color:var(--bg-primary);color:var(--text-primary)}.dark .header{background:#1a1a1af2;border-bottom:1px solid var(--border-color)}.dark .header.scrolled{box-shadow:0 2px 20px var(--shadow-color)}.dark .logo{color:var(--accent-primary)}.dark .nav-link{color:var(--text-primary)}.dark .nav-link:hover{color:var(--accent-primary)}.dark .hero-overlay{background:linear-gradient(135deg,#1a1a2ecc,#16213ecc)}.dark .services{background:var(--bg-secondary)}.dark .service-card{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.dark .service-card h3{color:var(--text-primary)}.dark .service-card p{color:var(--text-secondary)}.dark .error-message{background:#d630311a;color:#ff6b6b;border-color:#d630314d}.dark .no-services{color:var(--text-secondary)}.dark .service-image{background:var(--bg-primary)}.dark .loading-spinner{border-color:var(--border-color);border-top-color:var(--accent-primary)}.dark .gallery{background:var(--bg-secondary)}.dark .filter-btn{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-color)}.dark .filter-btn:hover,.dark .filter-btn.active{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;border-color:var(--accent-primary)}.dark .gallery-item{background:var(--bg-tertiary);border:1px solid var(--border-color)}.dark .about{background:var(--bg-primary)}.dark .about-text h3{color:var(--text-primary)}.dark .about-text p{color:var(--text-secondary)}.dark .about-features li{color:var(--text-primary)}.dark .contact{background:linear-gradient(135deg,#0f0f23,#1a1a2e)}.dark .contact .section-title{color:var(--text-primary)}.dark .contact .section-subtitle{color:var(--text-secondary)}.dark .contact-info h3{color:var(--text-primary)}.dark .contact-item{color:var(--text-secondary)}.dark .contact-form{background:#2d2d2d4d;border:1px solid var(--border-color)}.dark .form-group label{color:var(--text-primary)}.dark .form-group input,.dark .form-group textarea,.dark .form-group select{background:#ffffff1a;color:var(--text-primary);border:1px solid var(--border-color)}.dark .form-group input::placeholder,.dark .form-group textarea::placeholder{color:var(--text-muted)}.dark .footer{background:var(--bg-primary);border-top:1px solid var(--border-color)}.dark .footer-section h4{color:var(--accent-primary)}.dark .footer-section p,.dark .footer-section a{color:var(--text-secondary)}.dark .footer-section a:hover{color:var(--accent-primary)}.dark .footer-bottom{border-top:1px solid var(--border-color);color:var(--text-muted)}.dark .gallery-modal{background:#000000f2}.dark .modal-content{background:var(--bg-tertiary);border:1px solid var(--border-color)}.dark .modal-info h3{color:var(--text-primary)}.dark .modal-info p{color:var(--text-secondary)}.dark .section-title{color:var(--text-primary)}.dark .section-subtitle{color:var(--text-secondary)}.dark .btn{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff}.dark .btn:hover{box-shadow:0 10px 25px #ff6b6b4d}.dark .btn-secondary{background:linear-gradient(135deg,#667eea,#764ba2)}.dark .btn-secondary:hover{box-shadow:0 10px 25px #667eea4d}@media (max-width: 768px){.dark .nav-actions{gap:10px}.dark .theme-toggle{width:35px;height:35px;font-size:1rem}.language-toggle,.language-option{width:35px;height:35px}.flag-icon{width:18px;height:13px}.language-dropdown{min-width:50px}}.booking{background:#f8f9fa;padding:100px 0}.booking-container{display:grid;grid-template-columns:1fr;gap:40px;margin-top:60px}.calendar-section,.time-slots-section,.booking-form-section{background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 20px #0000001a}.calendar-section h3,.time-slots-section h3,.booking-form-section h3{margin-bottom:25px;color:#2c3e50;font-size:1.4rem;font-weight:600}.calendar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px}.calendar-day{background:#f8f9fa;border:2px solid transparent;border-radius:10px;padding:15px 10px;text-align:center;cursor:pointer;transition:all .3s ease;font-family:inherit}.calendar-day:hover{background:#e9ecef;border-color:#ff6b6b}.calendar-day.today{background:linear-gradient(135deg,#ff6b6b,#ff8e8e);color:#fff}.calendar-day.selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.day-name{font-size:.9rem;font-weight:600;margin-bottom:5px}.day-number{font-size:1.5rem;font-weight:700;margin-bottom:5px}.month{font-size:.8rem;opacity:.8}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:15px}.time-slot{background:#f8f9fa;border:2px solid transparent;border-radius:8px;padding:12px 8px;text-align:center;cursor:pointer;transition:all .3s ease;font-family:inherit;font-weight:500}.time-slot:hover:not(.booked){background:#e9ecef;border-color:#ff6b6b}.time-slot.selected{background:linear-gradient(135deg,#ff6b6b,#ff8e8e);color:#fff;border-color:#ff6b6b}.time-slot.booked{background:#dee2e6;color:#6c757d;cursor:not-allowed;opacity:.6}.booking-form{display:grid;gap:20px}.booking-summary{background:#f8f9fa;padding:20px;border-radius:10px;margin-bottom:20px}.booking-summary p{margin:5px 0;color:#2c3e50}.form-group{display:flex;flex-direction:column}.form-input{padding:15px;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:border-color .3s ease;background:#fff}.form-input:focus{outline:none;border-color:#ff6b6b}.form-input::placeholder{color:#6c757d}.btn-primary{background:linear-gradient(135deg,#ff6b6b,#ff8e8e);color:#fff;border:none;padding:15px 30px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px #ff6b6b4d}.booking-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:40px;padding:30px;background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000001a}.info-item{display:flex;flex-direction:column;gap:5px}.info-label{font-weight:600;color:#2c3e50}.info-value{color:#6c757d}.legend{display:flex;flex-direction:column;gap:8px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.9rem}.legend-item.available{color:#28a745}.legend-item.booked{color:#dc3545}.dark .booking{background:var(--bg-secondary)}.dark .calendar-section,.dark .time-slots-section,.dark .booking-form-section,.dark .booking-info{background:var(--bg-tertiary)}.dark .calendar-section h3,.dark .time-slots-section h3,.dark .booking-form-section h3{color:var(--text-primary)}.dark .calendar-day{background:var(--bg-secondary);color:var(--text-primary)}.dark .calendar-day:hover{background:var(--bg-primary)}.dark .time-slot{background:var(--bg-secondary);color:var(--text-primary)}.dark .time-slot:hover:not(.booked){background:var(--bg-primary)}.dark .time-slot.booked{background:var(--bg-secondary);color:var(--text-secondary)}.dark .booking-summary{background:var(--bg-secondary)}.dark .booking-summary p{color:var(--text-primary)}.dark .form-input{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.dark .form-input:focus{border-color:var(--accent-primary)}.dark .form-input::placeholder{color:var(--text-secondary)}.dark .info-label{color:var(--text-primary)}.dark .info-value{color:var(--text-secondary)}@media (max-width: 768px){.booking-container{gap:20px}.calendar-section,.time-slots-section,.booking-form-section{padding:20px}.calendar-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:10px}.calendar-day{padding:10px 5px}.day-number{font-size:1.2rem}.time-slots-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:10px}.time-slot{padding:10px 5px;font-size:.9rem}.booking-info{grid-template-columns:1fr;padding:20px}.legend{flex-direction:row;flex-wrap:wrap}}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease-out}.dialog-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:90%;max-height:90vh;overflow:hidden;animation:slideUp .3s ease-out}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0}.dialog-title{font-size:1.5rem;font-weight:700;color:#2c3e50;margin:0}.dialog-close{background:none;border:none;font-size:2rem;color:#7f8c8d;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.dialog-close:hover{background:#ecf0f1;color:#2c3e50}.dialog-body{padding:24px;text-align:center}.dialog-icon{font-size:3rem;margin-bottom:16px;animation:bounce 1s ease-in-out}.dialog-message{font-size:1rem;line-height:1.6;color:#34495e;margin-bottom:16px}.dialog-thank-you{font-size:1.1rem;font-weight:600;color:#8e44ad;margin-bottom:0}.appointment-details{background:#f8f9fa;border-radius:12px;padding:20px;margin:20px 0;border:1px solid #e9ecef}.details-title{font-size:1.1rem;font-weight:700;color:#2c3e50;margin-bottom:16px;text-align:left}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e9ecef}.detail-item:last-child{border-bottom:none}.detail-label{font-weight:600;color:#6c757d}.detail-value{font-weight:500;color:#2c3e50;text-align:right}.dark .appointment-details{background:var(--bg-tertiary);border-color:var(--border-color)}.dark .details-title{color:var(--text-primary)}.dark .detail-item{border-bottom-color:var(--border-color)}.dark .detail-label{color:var(--text-secondary)}.dark .detail-value{color:var(--text-primary)}.dialog-footer{padding:0 24px 24px;text-align:center}.dialog-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px}.dialog-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea4d}.dark .dialog-content{background:var(--bg-secondary);border:1px solid var(--border-color)}.dark .dialog-title{color:var(--text-primary)}.dark .dialog-close{color:var(--text-secondary)}.dark .dialog-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.dark .dialog-message{color:var(--text-secondary)}.dark .dialog-thank-you{color:var(--accent-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media (max-width: 768px){.dialog-content{margin:20px;width:calc(100% - 40px)}.dialog-header{padding:20px 20px 0}.dialog-body{padding:20px}.dialog-footer{padding:0 20px 20px}.dialog-title{font-size:1.3rem}}.lazy{opacity:0;transition:opacity .3s ease-in-out}.lazy:not(.loading){opacity:1}.loading{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.responsive-image{max-width:100%;height:auto;display:block}.gallery-image.responsive-image{width:100%;height:100%;object-fit:cover}.image-container{position:relative;overflow:hidden;border-radius:8px}.image-container:before{content:"";display:block;padding-top:75%}.image-container img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.image-container:hover img{transform:scale(1.05)}.thumbnail{width:150px;height:112px;object-fit:cover;border-radius:4px;cursor:pointer;transition:all .2s ease}.thumbnail:hover{transform:scale(1.1);box-shadow:0 4px 12px #00000026}.hero-image{width:100%;height:60vh;object-fit:cover;object-position:center}.hero-background-image{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important;position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important}.gallery-item{position:relative;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.gallery-item .gallery-image{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}.gallery-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.gallery-item img{width:100%;height:200px;object-fit:cover}.service-image{width:80px;height:80px;object-fit:cover;border-radius:50%;margin:0 auto 16px}@media (prefers-reduced-motion: reduce){.lazy,.image-container img,.thumbnail,.gallery-item{transition:none}.loading{animation:none}}.gallery-error,.gallery-empty{text-align:center;padding:2rem;margin:2rem 0;border-radius:8px;background:#f8f9fa}.gallery-error{border-left:4px solid #dc3545;color:#721c24}.gallery-empty{border-left:4px solid #6c757d;color:#495057}.gallery-loading{text-align:center;padding:3rem;color:#6c757d}@media print{.lazy{opacity:1}.loading{background:#f0f0f0;animation:none}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;color:#333}html{scroll-behavior:smooth}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn{display:inline-block;padding:12px 30px;background:linear-gradient(135deg,#ff6b6b,#ff8e8e);color:#fff;text-decoration:none;border-radius:50px;font-weight:600;transition:all .3s ease;border:none;cursor:pointer;font-size:16px}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px #ff6b6b4d}.btn-secondary{background:linear-gradient(135deg,#667eea,#764ba2)}.btn-secondary:hover{box-shadow:0 10px 25px #667eea4d}.section{padding:80px 0}.section-title{text-align:center;font-size:2.5rem;margin-bottom:20px;color:#2c3e50;position:relative}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:4px;background:linear-gradient(135deg,#ff6b6b,#ff8e8e);border-radius:2px}.section-subtitle{text-align:center;font-size:1.2rem;color:#7f8c8d;margin-bottom:60px;max-width:600px;margin-left:auto;margin-right:auto}@media (max-width: 768px){.section{padding:60px 0}.section-title{font-size:2rem}.section-subtitle{font-size:1rem}}
