:root{--mobile-padding: 1rem;--mobile-margin: 1rem;--mobile-gap: .75rem;--touch-target-min: 44px;--touch-target-comfortable: 48px}@media(max-width:768px){.container{padding-left:var(--mobile-padding);padding-right:var(--mobile-padding);max-width:100%}button,.btn,input[type=submit],input[type=button],.touch-target{min-height:var(--touch-target-comfortable);min-width:var(--touch-target-comfortable);padding:12px 20px;font-size:16px;border-radius:8px;margin:4px}input,textarea,select{min-height:var(--touch-target-comfortable);font-size:16px;padding:12px 16px;border-radius:8px;border:2px solid var(--color-border, #e2e8f0);transition:border-color .2s ease}input:focus,textarea:focus,select:focus{border-color:var(--primary-color, #0066cc);outline:none;box-shadow:0 0 0 3px #0066cc1a}}@media(max-width:768px){.navbar,.header{position:sticky;top:0;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid rgba(0,0,0,.1)}.navbar .container{padding:.75rem var(--mobile-padding)}.navbar .logo img{height:28px}.nav-menu{display:flex!important;position:fixed!important;top:70px!important;left:0!important;width:100%!important;background:#fff!important;box-shadow:0 10px 15px -3px #0000001a!important;max-height:0!important;overflow:hidden!important;opacity:0!important;visibility:hidden!important;transition:all .3s ease-out!important;flex-direction:column!important;padding:0 2rem!important;z-index:999!important}.nav-menu.active{max-height:500px!important;padding:2rem!important;opacity:1!important;visibility:visible!important}.nav-menu .nav-links{flex-direction:column!important;width:100%!important;gap:1rem!important}.nav-menu .nav-actions{margin-top:1rem!important;flex-direction:column!important;width:100%!important}.mobile-menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;width:var(--touch-target-comfortable);height:var(--touch-target-comfortable);background:none;border:none;cursor:pointer;padding:8px;border-radius:6px;transition:background-color .2s ease}.mobile-menu-toggle:hover{background-color:#0000000d}.hamburger-line{display:block;width:20px;height:2px;background-color:var(--primary-color, #0066cc);margin:2px 0;transition:all .3s ease;border-radius:1px}.mobile-menu-toggle.active .hamburger-line:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-menu-toggle.active .hamburger-line:nth-child(2){opacity:0}.mobile-menu-toggle.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.mobile-nav-menu{position:fixed;top:60px;left:0;width:100%;background:#fff;box-shadow:0 4px 20px #0000001a;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease;padding:var(--mobile-padding);max-height:calc(100vh - 60px);overflow-y:auto;z-index:9999}.mobile-nav-menu.active{transform:translateY(0);opacity:1;visibility:visible}.mobile-nav-menu .nav-links{flex-direction:column;gap:0;margin-bottom:var(--mobile-margin)}.mobile-nav-menu .nav-link{display:block;padding:16px 0;font-size:18px;font-weight:500;color:var(--color-text-primary, #1a1a1a);text-decoration:none;border-bottom:1px solid rgba(0,0,0,.05);transition:color .2s ease}.mobile-nav-menu .nav-link:hover,.mobile-nav-menu .nav-link.active{color:var(--primary-color, #0066cc)}.mobile-nav-menu .nav-actions{flex-direction:column;gap:var(--mobile-gap);padding-top:var(--mobile-padding)}.mobile-nav-menu .btn{width:100%;justify-content:center}}@media(max-width:768px){.hero-section{padding:100px 0 3rem;min-height:auto}.hero-content{text-align:center;padding:0 var(--mobile-padding)}.hero-title{font-size:2rem;line-height:1.2;margin-bottom:1rem}.hero-description{font-size:1.1rem;line-height:1.4;margin-bottom:2rem}.hero-actions{flex-direction:column;gap:1rem;align-items:stretch}.hero-actions .btn{width:100%;max-width:300px;margin:0 auto}}@media(max-width:768px){.hero-stats{flex-direction:column;padding:1.5rem 1rem;gap:1rem;margin:1rem auto;width:calc(100% - 2rem);max-width:100%;height:auto}.stat-item{width:100%;margin-bottom:.5rem}}@media(max-width:768px){.services-grid,.features-grid,.testimonials-grid{grid-template-columns:1fr;gap:1.5rem}.card,.service-card,.feature-card{margin:0 var(--mobile-padding)}.card{border-radius:12px;box-shadow:0 2px 12px #00000014;transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-2px);box-shadow:0 4px 20px #0000001f}}@media(max-width:768px){.search-form,.contact-form{margin-bottom:1.5rem}.form-row{flex-direction:column;gap:1rem}.form-group{width:100%}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px}}@media(max-width:768px){.map-container{height:300px;margin:1rem 0;border-radius:12px;overflow:hidden}.map-container iframe{height:100%;width:100%}.map-controls{margin:10px}.map-control-btn{width:40px;height:40px;line-height:40px;font-size:18px}}@media(max-width:768px){*{animation-duration:.3s;transition-duration:.2s}img{max-width:100%;height:auto;object-fit:cover}.lazy-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}}}@media(max-width:768px){*:focus{outline:2px solid var(--primary-color, #0066cc);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:6px;background:var(--primary-color, #0066cc);color:#fff;padding:8px;text-decoration:none;border-radius:4px;z-index:10000;transition:top .2s ease}.skip-link:focus{top:6px}}@media(max-width:768px){.experience-gallery{display:flex;flex-direction:column;gap:var(--spacing-md, 1rem);height:auto;min-height:300px}.gallery-item{width:100%;height:200px;min-height:200px;border-radius:var(--radius-xl, 12px);overflow:hidden}.gallery-item.main{grid-row:unset;height:250px;order:-1}.gallery-item img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}}@media(max-width:480px){.experience-gallery{gap:var(--spacing-sm, .75rem)}.gallery-item{height:180px;min-height:180px}.gallery-item.main{height:220px}}@media(max-width:768px){.mobile-hidden{display:none}.mobile-visible{display:block}.mobile-text-center{text-align:center}.mobile-text-left{text-align:left}.mobile-full-width{width:100%}.mobile-no-padding{padding:0}.mobile-padding{padding:var(--mobile-padding)}.mobile-margin{margin:var(--mobile-margin)}.mobile-only{display:block}.desktop-only{display:none}}@media(max-width:768px){.login-container{flex-direction:column;min-height:calc(100vh - 70px);margin-top:70px}.login-form-section{padding:1.5rem 1rem;order:1}.login-form-wrapper{padding:2rem 1.5rem;margin:0;border-radius:20px;max-width:100%}.login-title{font-size:2rem}.login-visual-section{order:2;min-height:300px;padding:2rem 1rem}.visual-title-modern{font-size:2rem}.visual-subtitle-modern{font-size:1rem;margin-bottom:2rem}.features-grid-modern{gap:1rem}.feature-card-modern{padding:1rem}.social-buttons-modern{flex-direction:column;gap:.75rem}.social-btn-modern{padding:1rem;font-size:1rem}.form-input-modern{padding:.875rem .875rem .875rem 2.5rem;font-size:16px}.form-icon-modern{left:.875rem;font-size:1rem}.password-toggle-modern{right:.875rem;padding:.375rem}.login-btn-modern{padding:1rem;font-size:1rem}.login-options{flex-direction:column;gap:1rem;align-items:flex-start}.checkbox-modern,.forgot-link-modern{font-size:1rem}.floating-element:nth-child(1){width:60px;height:60px;top:5%;left:5%}.floating-element:nth-child(2){width:80px;height:80px;top:75%;right:5%}.floating-element:nth-child(3){width:40px;height:40px;top:25%;right:15%}}@media(max-width:768px)and (prefers-color-scheme:dark){.navbar,.header{background:#1a1a1af2;border-bottom-color:#ffffff1a}.mobile-nav-menu{background:#1a1a1a;color:#fff}.mobile-nav-menu .nav-link{color:#fff;border-bottom-color:#ffffff1a}.card{background-color:#fff}}@media(min-width:769px){.mobile-nav-menu{display:none!important}}@media(max-width:768px){.hero-features{flex-direction:column;gap:16px;margin-top:2rem;padding-top:1.5rem}.feature-card{width:100%;max-width:none;margin:0;padding:1.25rem}.feature-text h3{font-size:1.1rem}}
