@import 'variables.css';*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}button,input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;}button{background:transparent;border:none;padding:0;cursor:pointer;}ul,ol{list-style:none;}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}body{font-family:var(--font-family-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);transition:background-color var(--transition-normal),color var(--transition-normal);}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin-bottom:var(--space-4);}h1{font-size:clamp(var(--font-size-3xl),4vw,var(--font-size-5xl));letter-spacing:var(--letter-spacing-tight);}h2{font-size:clamp(var(--font-size-2xl),3.5vw,var(--font-size-4xl));letter-spacing:var(--letter-spacing-tight);}h3{font-size:clamp(var(--font-size-xl),3vw,var(--font-size-3xl));}h4{font-size:var(--font-size-xl);}p{margin-bottom:var(--space-4);color:var(--color-text-secondary);}a:not(.btn){color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast);}a:not(.btn):hover{color:var(--color-primary-dark);text-decoration:underline;}ul,ol{margin-bottom:var(--space-4);padding-left:var(--space-6);}li{margin-bottom:var(--space-2);}.container{width:100%;max-width:var(--container-7xl);margin:0 auto;padding:0 var(--space-4);}.section{padding:var(--space-12) 0;}.section-title{text-align:center;margin-bottom:var(--space-8);position:relative;}.section-title::after{content:'';position:absolute;bottom:-var(--space-2);left:50%;transform:translateX(-50%);width:4rem;height:3px;background-color:var(--color-secondary);border-radius:var(--radius-full);}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-none);border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;transition:all var(--transition-normal);text-align:center;user-select:none;white-space:nowrap;text-decoration:none;}.btn-primary{background-color:var(--color-secondary);color:var(--color-white);}.btn-primary:hover{background-color:var(--color-secondary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none;}.btn-primary:active{transform:translateY(0);}.btn-secondary{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary);}.btn-secondary:hover{background-color:var(--color-primary);color:var(--color-white);transform:translateY(-2px);box-shadow:var(--shadow-md);}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-lg);}.btn-block{display:flex;width:100%;}.card{background-color:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--color-border);transition:transform var(--transition-normal),box-shadow var(--transition-normal);}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}.card-header{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-light);}.card-title{font-size:var(--font-size-xl);margin-bottom:var(--space-2);}.card-body{margin-bottom:var(--space-4);}.card-footer{padding-top:var(--space-4);border-top:1px solid var(--color-border-light);}.form-group{margin-bottom:var(--space-4);}.form-label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-weight-medium);color:var(--color-text-primary);}.form-control{display:block;width:100%;padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);font-family:inherit;line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);}.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(30,58,138,0.1);}.form-control::placeholder{color:var(--color-text-tertiary);}textarea.form-control{min-height:120px;resize:vertical;}.navbar{position:fixed;top:0;left:0;right:0;z-index:var(--z-index-sticky);background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border);height:var(--header-height);transition:background-color var(--transition-normal),border-color var(--transition-normal);}.navbar.scrolled{background-color:rgba(255,255,255,0.95);backdrop-filter:blur(8px);}[data-theme="dark"] .navbar.scrolled{background-color:rgba(17,24,39,0.95);}.navbar-container{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--container-7xl);margin:0 auto;padding:0 var(--space-4);}.navbar-brand{display:flex;align-items:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-xl);color:var(--color-text-primary);}.navbar-logo{height:2.5rem;width:auto;margin-right:var(--space-2);}.navbar-nav{display:flex;align-items:center;gap:var(--space-6);}.nav-link{font-weight:var(--font-weight-medium);color:var(--color-text-secondary);}.nav-link:hover{color:var(--color-primary);text-decoration:none;}.nav-link.active{color:var(--color-primary);font-weight:var(--font-weight-semibold);}.navbar-controls{display:flex;align-items:center;gap:var(--space-4);}.hero{position:relative;padding:calc(var(--header-height) + var(--space-20)) 0 var(--space-20);background:linear-gradient(rgba(0,0,0,0.7),rgba(0,0,0,0.7)),url('../images/processed/entrance-desktop.jpg');background-size:cover;background-position:center;color:var(--color-white);text-align:center;}.hero-title{font-size:var(--font-size-5xl);margin-bottom:var(--space-4);color:var(--color-white);}.hero-subtitle{font-size:var(--font-size-xl);margin-bottom:var(--space-8);color:rgba(255,255,255,0.9);max-width:36rem;margin-left:auto;margin-right:auto;}.hero-cta{display:flex;gap:var(--space-4);justify-content:center;margin-top:var(--space-8);}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6);margin-top:var(--space-8);}#services .services-grid{justify-content:center;}.service-card{text-align:center;}.service-card ul{list-style:none;padding-left:0;}.service-card li{margin-bottom:var(--space-2);position:relative;}@media (min-width:768px){#services .services-grid{grid-template-columns:repeat(2,minmax(300px,1fr));justify-content:center;}}.service-icon{font-size:var(--font-size-4xl);color:var(--color-secondary);margin-bottom:var(--space-4);}.service-title{font-size:var(--font-size-xl);margin-bottom:var(--space-3);}.service-price{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary);margin-bottom:var(--space-2);}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);margin-top:var(--space-8);}.gallery-item{position:relative;overflow:hidden;border-radius:var(--radius-lg);}.gallery-image{width:100%;height:240px;object-fit:cover;transition:transform var(--transition-slow);}.gallery-item:hover .gallery-image{transform:scale(1.05);}.gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:var(--space-4);background:linear-gradient(transparent,rgba(0,0,0,0.8));color:var(--color-white);transform:translateY(100%);transition:transform var(--transition-normal);}.gallery-item:hover .gallery-caption{transform:translateY(0);}.testimonial-slider{position:relative;overflow:hidden;margin-top:var(--space-8);}.testimonial-track{display:flex;transition:transform var(--transition-slow);}.testimonial-card{flex:0 0 100%;padding:var(--space-6);background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);}.testimonial-rating{color:var(--color-secondary);margin-bottom:var(--space-4);}.testimonial-text{font-style:italic;margin-bottom:var(--space-4);}.testimonial-author{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);}.map-container{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);margin-top:var(--space-8);}#map{height:400px;width:100%;}.footer{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);padding:var(--space-12) 0 var(--space-8);margin-top:var(--space-12);}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-8);margin-bottom:var(--space-8);}.footer-title{font-size:var(--font-size-lg);color:var(--color-text-primary);margin-bottom:var(--space-4);}.footer-links{list-style:none;padding:0;}button,input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;}button{background:transparent;border:none;padding:0;cursor:pointer;}ul,ol{list-style:none;}.footer-links li{margin-bottom:var(--space-2);}.footer-links a:not(.btn){color:var(--color-text-secondary);}.footer-links a:not(.btn):hover{color:var(--color-primary);}.footer-bottom{padding-top:var(--space-8);border-top:1px solid var(--color-border);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);}.language-switcher{position:relative;display:inline-block;}.language-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);min-height:44px;}.language-btn:hover{border-color:var(--color-primary);color:var(--color-primary);}.language-flag{width:24px;height:18px;object-fit:contain;display:inline-block;vertical-align:middle;}.language-dropdown .language-flag{width:20px;height:15px;object-fit:contain;display:inline-block;vertical-align:middle;margin-right:var(--space-2);}.language-dropdown{position:absolute;top:100%;right:0;margin-top:var(--space-2);background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:auto;width:fit-content;z-index:var(--z-index-dropdown);display:none;flex-direction:column;align-items:center;}.language-dropdown.show{display:flex;}.language-option{display:block;width:100%;padding:var(--space-3) var(--space-4);text-align:left;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast);}.language-option:hover{background-color:var(--color-bg-secondary);color:var(--color-primary);}.dark-mode-toggle{display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);width:40px;height:40px;padding:0;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);}.dark-mode-toggle:hover{border-color:var(--color-primary);color:var(--color-primary);transform:scale(1.05);}.toggle-icon{font-size:var(--font-size-xl);line-height:1;}.loading{display:inline-block;width:1rem;height:1rem;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;}@keyframes spin{to{transform:rotate(360deg);}}.leaflet-popup.custom-popup .leaflet-popup-content{margin:0;padding:0;}button,input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;}button{background:transparent;border:none;padding:0;cursor:pointer;}ul,ol{list-style:none;}.leaflet-popup.custom-popup .leaflet-popup-content-wrapper{padding:0;border-radius:8px;}.leaflet-control-zoom a,.leaflet-control-custom a{background-color:var(--color-bg-primary) !important;color:var(--color-text-primary) !important;border:1px solid var(--color-border) !important;box-shadow:var(--shadow-sm) !important;opacity:1 !important;}.leaflet-control-zoom a:hover,.leaflet-control-custom a:hover{background-color:var(--color-bg-secondary) !important;color:var(--color-primary) !important;border-color:var(--color-primary) !important;}@media print{.navbar,.hero-cta,.footer{display:none;}body{font-size:12pt;line-height:1.5;}.container{max-width:100%;padding:0;}button,input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;}button{background:transparent;border:none;padding:0;cursor:pointer;}ul,ol{list-style:none;}.section{padding:1rem 0;break-inside:avoid;}a:not(.btn){color:#000;text-decoration:underline;}a[href^="http"]::after{content:" (" attr(href) ")";font-size:0.9em;font-weight:normal;}}