:root{--color-bg: #FFFFFF;--color-surface: #F3F4F6;--color-text: #1F2937;--color-text-muted: #4B5563;--color-accent: #B48342;--font-heading: "Playfair Display", serif;--font-body: "Lora", serif;--transition-slow: .6s cubic-bezier(.25, 1, .5, 1);--transition-fast: .3s ease}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text)}p{text-align:justify;word-break:break-word;overflow-wrap:break-word}a{color:inherit;text-decoration:none}.fade-up{opacity:0;transform:translateY(40px);transition:opacity 1s ease-out,transform 1s ease-out}.fade-up.visible{opacity:1;transform:translateY(0)}.highlight{color:var(--color-accent)}nav{position:fixed;top:0;width:100%;padding:1rem 4rem;display:flex;justify-content:space-between;align-items:center;z-index:100;background-color:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 30px #00000014;transition:padding var(--transition-fast),box-shadow var(--transition-fast)}nav.scrolled{padding:.75rem 4rem;box-shadow:0 12px 40px #0000001f}.brand-logo{height:60px;width:auto;object-fit:contain;border-radius:50%;box-shadow:0 4px 10px #0000000d}.nav-links{display:flex;gap:1.25rem;align-items:center;margin-left:auto}.nav-links a{font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;position:relative;transition:color var(--transition-fast)}.nav-links a:hover{color:var(--color-accent)}.nav-links a:after{content:"";position:absolute;width:0;height:2px;bottom:-4px;left:0;background-color:var(--color-accent);transition:width var(--transition-fast)}.nav-links a:hover:after{width:100%}.nav-btn-eco{padding:.75rem 1.5rem;background-color:var(--color-accent);color:#fff!important;font-weight:700;border-radius:4px;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;transition:all var(--transition-fast)!important;margin-left:1rem}.nav-btn-eco:hover{background-color:#936b36;transform:translateY(-2px);color:#fff!important}.nav-btn-eco:after{display:none!important}.hero{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;padding:0 2rem;overflow:hidden;width:100%;text-align:center}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle,#fffc,#fff6);z-index:-1}.hero-content{max-width:900px;width:100%;display:flex;flex-direction:column;align-items:center;padding:4rem 0}.hero h1{font-size:clamp(2rem,5vw,5.5rem);line-height:1.2;margin-bottom:3.5rem;color:#111827;font-weight:800;letter-spacing:.08em}.hero h1 span{color:var(--color-accent);position:relative;display:inline-block}.hero p{font-size:1.15rem;color:#4b5563;max-width:950px;line-height:2;margin:0 auto;letter-spacing:.05em;text-align:center}.philosophy{padding:12rem 6rem;display:grid;grid-template-columns:1fr 1fr;gap:8rem;align-items:center;background-color:var(--color-bg);position:relative;z-index:10;box-shadow:0 20px 50px -10px #0000000f,0 -20px 50px -10px #0000000f;overflow:hidden;width:100%}.philosophy-text{max-width:600px;margin:0 auto;text-align:justify}.philosophy h2{font-size:2.8rem;margin-bottom:2.5rem;line-height:1.2;letter-spacing:.05em;text-align:center;font-weight:800;text-transform:uppercase}.philosophy p{font-size:1.15rem;color:var(--color-text-muted);margin-bottom:2rem;line-height:1.8;text-align:justify}.projects{padding:4rem;background-color:var(--color-bg);position:relative;z-index:10;box-shadow:0 20px 50px -10px #0000000f,0 -20px 50px -10px #0000000f;overflow:hidden;width:100%}.projects-header{margin-bottom:4rem;display:flex;justify-content:space-between;align-items:flex-end}.projects-header h2{font-size:3rem}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.project-card{position:relative;overflow:hidden;aspect-ratio:4/4;cursor:pointer;border-radius:4px;box-shadow:0 10px 15px -3px #0000001a}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.project-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;justify-content:center;padding:2.5rem;opacity:0;transition:opacity var(--transition-slow)}.project-card:hover img{transform:scale(1.05)}.project-card:hover .project-overlay{opacity:1}.project-overlay h3{font-size:1.7rem;margin-bottom:.25rem;transform:translateY(20px);transition:transform var(--transition-slow);color:var(--color-text)}.project-overlay p{color:var(--color-accent);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;font-weight:700;transform:translateY(20px);transition:transform var(--transition-slow) .1s}.project-overlay .project-desc{color:var(--color-text-muted);text-transform:none;font-weight:400;font-size:.95rem;letter-spacing:normal;margin-top:1rem;transform:translateY(20px);transition:transform var(--transition-slow) .2s;text-align:left}.project-card:hover .project-overlay h3,.project-card:hover .project-overlay p,.project-card:hover .project-overlay .project-desc{transform:translateY(0)}.sate-technical{padding:8rem 4rem;background-color:var(--color-surface);position:relative;z-index:1;overflow:hidden;width:100%}.technical-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:3rem;align-items:center;min-width:0}.technical-content h3{font-size:2rem;margin-bottom:1.5rem;color:var(--color-text)}.technical-content ul{list-style:none;margin:1.5rem 0}.technical-content li{margin-bottom:1rem;padding-left:1.5rem;position:relative;font-size:1.1rem;color:var(--color-text-muted);text-align:left}.technical-content li:before{content:"✓";position:absolute;left:0;color:var(--color-accent);font-weight:700}.subsidies-box{background-color:var(--color-surface);padding:2rem;border-left:4px solid var(--color-accent);margin-top:2rem;border-radius:4px}.subsidies-box h4{font-size:1.25rem;margin-bottom:.5rem}.subsidies-box p{color:var(--color-text-muted);font-size:1rem}.technical-images{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.technical-images img{width:100%;height:100%;object-fit:cover;aspect-ratio:1 / 1;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a}.case-study{padding:8rem 4rem;background-color:var(--color-bg);position:relative;z-index:10;width:100%}.case-study-header{text-align:center;margin-bottom:3rem;max-width:800px;margin-left:auto;margin-right:auto}.case-study-header h2{font-size:2.5rem;margin-bottom:1rem}.case-study-desc{font-size:1.15rem;color:var(--color-text-muted);text-align:justify}.comparison-wrapper{max-width:1200px;margin:0 auto;box-shadow:0 20px 40px -10px #00000026;border-radius:8px;overflow:hidden}.comparison-container{position:relative;width:100%;overflow:hidden;cursor:ew-resize;-webkit-user-select:none;user-select:none;background-color:var(--color-surface)}.comparison-after{position:relative;width:100%;line-height:0}.comparison-before{position:absolute;top:0;left:0;width:100%;height:100%}.comparison-after img{width:100%;height:auto;display:block;pointer-events:none}.comparison-before img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.comparison-before{z-index:2}.comparison-label{position:absolute;top:20px;padding:.5rem 1rem;background-color:#0009;color:#fff;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.1em;font-size:.85rem;border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}.before-label{left:20px;z-index:3}.after-label{right:20px;z-index:1}.comparison-slider{position:absolute;top:0;bottom:0;width:2px;z-index:4;pointer-events:none}.slider-line{position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:4px;background-color:#fff;box-shadow:0 0 10px #00000080}.slider-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;background-color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #0000004d;color:var(--color-accent)}.contact{padding:8rem 4rem 4rem;border-top:1px solid rgba(0,0,0,.05);background-color:var(--color-surface);position:relative;z-index:1}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.contact-title{font-size:2.5rem;margin-bottom:1.75rem;line-height:1.15}.contact-form-container p{color:var(--color-text-muted);margin-bottom:1.5rem;font-size:1.1rem}.contact-person{display:inline-flex;flex-direction:column;gap:.25rem;background-color:#00000008;border-left:4px solid var(--color-accent);padding:.85rem 1.25rem;border-radius:0 6px 6px 0;margin-bottom:1.5rem;font-weight:500;font-size:1.05rem}.contact-person a{color:var(--color-accent);font-weight:700;font-size:1.2rem;letter-spacing:.02em}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:1rem 1.5rem;background-color:var(--color-surface);border:1px solid rgba(0,0,0,.1);color:var(--color-text);font-family:var(--font-body);font-size:1rem;outline:none;transition:border-color var(--transition-fast);border-radius:4px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--color-accent)}.map-wrapper{width:100%;height:500px;background-color:var(--color-surface);position:relative;overflow:hidden;border-radius:4px;transition:opacity var(--transition-slow)}.contact-button{display:block;width:100%;padding:1rem 2rem;background-color:var(--color-accent);color:#fff;border:1px solid var(--color-accent);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.1em;font-size:1rem;cursor:pointer;transition:all var(--transition-fast);border-radius:4px}.contact-button:hover{background-color:#2c5282;border-color:#2c5282}.contact-footer{margin-top:8rem;display:flex;justify-content:space-between;color:var(--color-text-muted);font-size:.9rem}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;z-index:200}.hamburger span{display:block;width:24px;height:2px;background-color:var(--color-text);border-radius:2px;transition:transform var(--transition-fast),opacity var(--transition-fast)}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#fffffffa;z-index:150;flex-direction:column;align-items:center;justify-content:center;gap:2rem;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-menu.open{display:flex}.mobile-menu a{font-size:1.5rem;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text);transition:color var(--transition-fast)}.mobile-menu a:hover{color:var(--color-accent)}.mobile-menu .nav-btn-eco{font-size:1rem;padding:.85rem 2.5rem}.mobile-lang-switcher{display:flex;gap:1rem;margin-top:1rem;border-top:1px solid #E2E8F0;padding-top:1.5rem}.mobile-lang-switcher button{background:none;border:none;cursor:pointer;font-size:1rem;font-family:var(--font-body)}@media (max-width: 768px){nav{padding:1rem 1.5rem}nav.scrolled{padding:.75rem 1.5rem}.brand-logo{height:56px}.nav-links{display:none}.hamburger{display:flex}.hero{padding:0 1.5rem;align-items:center;justify-content:center;text-align:center;height:auto;padding-top:120px;padding-bottom:60px}.hero-content{display:flex;flex-direction:column;align-items:center;max-width:100%;padding:0}.hero h1{font-size:clamp(1.6rem,7.5vw,2.2rem);word-break:normal;overflow-wrap:break-word;line-height:1.1;margin-bottom:1.5rem;text-align:center;width:100%}.hero p{font-size:.95rem;width:100%;max-width:100%;text-align:center;line-height:1.6}.philosophy{grid-template-columns:1fr;padding:5rem 1.5rem;gap:2.5rem;text-align:center;width:100%}.philosophy-text{max-width:100%;text-align:center}.philosophy h2{font-size:1.8rem;margin-bottom:1.25rem;text-align:center}.philosophy p{font-size:.95rem;text-align:center;width:100%;max-width:100%;line-height:1.6}.projects{padding:3rem 1.5rem;text-align:center}.projects-header{flex-direction:column;align-items:center;gap:1rem;margin-bottom:2rem}.projects-header h2{font-size:1.8rem}.projects-grid{grid-template-columns:1fr;gap:1.5rem}.project-card{aspect-ratio:4/3}.sate-technical{padding:3rem 1.5rem}.sate-technical>.fade-up{text-align:center}.sate-technical h2{font-size:1.8rem;text-align:center}.technical-grid{grid-template-columns:1fr;gap:2rem}.technical-content h3{font-size:1.35rem;text-align:center}.technical-content p,.technical-content li{font-size:.95rem;text-align:center}.technical-images{grid-template-columns:1fr 1fr;gap:.75rem}.case-study{padding:3rem 1.5rem}.case-study-header h2{font-size:1.8rem;text-align:center}.case-study-desc{font-size:.95rem;text-align:center}.comparison-label{font-size:.7rem;padding:.35rem .75rem;top:10px}.before-label{left:10px}.after-label{right:10px}.slider-button{width:36px;height:36px}.slider-button svg{width:18px;height:18px}.contact{padding:4rem 1.5rem 2rem}.contact-grid{grid-template-columns:1fr;gap:2.5rem}.contact-title{font-size:1.6rem;text-align:center}.contact-form .form-row-2{grid-template-columns:1fr}.contact-person{font-size:1rem}.contact-person a{font-size:1.1rem}.map-wrapper{height:280px}.contact-footer{margin-top:3rem;flex-direction:column;gap:.5rem;align-items:center;text-align:center}}.footer{background-color:#111827;color:#f9fafb;padding:8rem 4rem 4rem;width:100%}.footer-content{max-width:1200px;margin:0 auto}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 2fr;gap:4rem;margin-bottom:6rem;align-items:flex-start}.footer-brand{display:flex;flex-direction:column;align-items:center;text-align:center}.footer-logo{height:250px;width:auto;margin:0;object-fit:contain}.footer-brand .footer-tagline{color:#9ca3af;font-size:1.15rem;line-height:1.2;max-width:300px;margin:0;padding-top:0;text-align:center}.footer h3{color:#fff;font-size:1.3rem;margin-bottom:2rem;text-transform:uppercase;letter-spacing:.1em;text-align:left}.footer-contact p,.footer-links li,.footer-legal p{color:#9ca3af;font-size:1.1rem;line-height:1.8;margin-bottom:.75rem;text-align:left}.footer-links ul{list-style:none;padding:0}.footer-legal .legal-text{text-align:justify;font-size:.95rem;line-height:1.6}.footer-bottom{padding-top:3rem;border-top:1px solid #374151;text-align:center;color:#6b7280;font-size:1.05rem}@media (max-width: 1024px){.footer-grid{grid-template-columns:1fr 1fr;gap:3rem}}@media (max-width: 768px){.footer{padding:6rem 2rem 2rem}.footer-grid{grid-template-columns:1fr;gap:3rem;text-align:center}.footer-brand{align-items:center;margin-bottom:2rem}.footer-logo{height:120px}.footer-legal .legal-text{text-align:justify}}.admin-login-page{height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-surface)}.login-card{background:#fff;padding:3rem;border-radius:8px;box-shadow:0 10px 25px #0000001a;width:100%;max-width:400px;text-align:center}.login-card h2{margin-bottom:2rem;font-size:1.5rem}.login-card input{width:100%;padding:.75rem;margin-bottom:1rem;border:1px solid #ddd;border-radius:4px}.back-link{background:none;border:none;color:var(--color-text-muted);margin-top:1rem;cursor:pointer;text-decoration:underline}.admin-dashboard{background-color:var(--color-surface);min-height:100vh;padding:2rem}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;padding-bottom:1rem;border-bottom:2px solid var(--color-accent)}.admin-main{max-width:1200px;margin:0 auto}.stats-bar{margin-bottom:2rem}.stat-item{background:#fff;padding:1.5rem;border-radius:8px;display:inline-block;box-shadow:0 2px 10px #0000000d}.stat-item span{color:var(--color-text-muted);margin-right:1rem}.stat-item strong{font-size:1.5rem;color:var(--color-accent)}.contacts-table-container{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000000d;overflow-x:auto}.contacts-table{width:100%;border-collapse:collapse;text-align:left}.contacts-table th,.contacts-table td{padding:1rem;border-bottom:1px solid #eee}.contacts-table th{background-color:#f9f9f9;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;color:var(--color-text-muted)}.delete-btn{background-color:#ef4444;color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.8rem}.admin-access-btn{background:none;border:1px solid var(--color-accent);color:var(--color-accent);cursor:pointer;font-size:.7rem;padding:.2rem .5rem;margin-left:1rem;border-radius:4px;text-transform:uppercase;font-weight:700;transition:all var(--transition-fast);opacity:.8}.admin-access-btn:hover{opacity:1;background-color:var(--color-accent);color:#fff}.capitalize{text-transform:capitalize}@media (max-width: 768px){.admin-header h1{font-size:1.2rem}.admin-dashboard{padding:1rem}.stats-bar{text-align:center}.contacts-table thead{display:none}.contacts-table tr{display:block;background:#fff;margin-bottom:1.5rem;padding:1.5rem;border-radius:8px;box-shadow:0 2px 10px #0000000d;border:1px solid #eee}.contacts-table td{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f9f9f9;font-size:.9rem;text-align:right}.contacts-table td:before{content:attr(data-label);font-weight:700;color:var(--color-text-muted);text-transform:uppercase;font-size:.75rem;text-align:left}.contacts-table td:last-child{border-bottom:none;justify-content:center;padding-top:1rem}.delete-btn{width:100%;padding:.75rem}}
