:root{--color-olive-900: #2d3a1f;--color-olive-800: #3a4a28;--color-olive-700: #4a5d2e;--color-olive-600: #5a6d3e;--color-olive-500: #6b7c4a;--color-olive-400: #8a9a6a;--color-olive-300: #a3b387;--color-olive-200: #c4d4a8;--color-olive-100: #e0ebc8;--color-beige-50: #fdfcfa;--color-beige-100: #faf8f5;--color-beige-200: #f4f0e8;--color-beige-300: #e8e0d4;--color-beige-400: #d4c8b8;--color-beige-500: #b8a890;--color-text-primary: #1a1a1a;--color-text-secondary: #3a3a3a;--color-text-muted: #6a6a6a;--color-text-light: #faf8f5;--color-accent: #8b7355;--color-accent-dark: #6b5a45;--color-background: var(--color-beige-100);--color-surface: var(--color-beige-50);--color-primary: var(--color-olive-700);--color-primary-dark: var(--color-olive-900);--font-display: "Playfair Display", Georgia, serif;--font-body: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;--text-xs: clamp(.75rem, .7rem + .25vw, .875rem);--text-sm: clamp(.875rem, .8rem + .35vw, 1rem);--text-base: clamp(1rem, .9rem + .5vw, 1.125rem);--text-lg: clamp(1.125rem, 1rem + .6vw, 1.25rem);--text-xl: clamp(1.25rem, 1.1rem + .75vw, 1.5rem);--text-2xl: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);--text-3xl: clamp(1.875rem, 1.5rem + 1.875vw, 2.5rem);--text-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3.5rem);--text-5xl: clamp(3rem, 2rem + 5vw, 5rem);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--space-5xl: 8rem;--container-max: 1400px;--container-padding: clamp(1rem, 5vw, 3rem);--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--transition-slower: .8s cubic-bezier(.16, 1, .3, 1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .1);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--radius-full: 9999px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:1.6;color:var(--color-text-primary);background-color:var(--color-background);overflow-x:hidden}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;line-height:1.2;color:var(--color-text-primary)}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{margin-bottom:var(--space-md);color:var(--color-text-secondary)}a{color:inherit;text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-primary)}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none}ul,ol{list-style:none}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.section{padding:var(--space-5xl) 0}.section-header{text-align:center;margin-bottom:var(--space-4xl)}.section-subtitle{font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-md);display:block}.section-title{margin-bottom:var(--space-lg)}.section-description{max-width:600px;margin:0 auto;color:var(--color-text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-sm);transition:all var(--transition-base);cursor:pointer}.btn-primary{background-color:var(--color-primary);color:var(--color-text-light);border:2px solid var(--color-primary)}.btn-primary:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-text-light);transform:translateY(-2px)}.btn-outline{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover{background-color:var(--color-primary);color:var(--color-text-light);transform:translateY(-2px)}.btn-light{background-color:var(--color-beige-100);color:var(--color-primary-dark);border:2px solid var(--color-beige-100)}.btn-light:hover{background-color:var(--color-beige-200);border-color:var(--color-beige-200);transform:translateY(-2px)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-muted{color:var(--color-text-muted)}.text-light{color:var(--color-text-light)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--transition-slower) forwards}.animate-fade-in-up{animation:fadeInUp var(--transition-slower) forwards}.animate-slide-in-left{animation:slideInLeft var(--transition-slower) forwards}.animate-slide-in-right{animation:slideInRight var(--transition-slower) forwards}.animate-scale-in{animation:scaleIn var(--transition-slower) forwards}.reveal{opacity:0;transform:translateY(30px);transition:opacity var(--transition-slower),transform var(--transition-slower)}.reveal.active{opacity:1;transform:translateY(0)}::selection{background-color:var(--color-olive-300);color:var(--color-olive-900)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-beige-200)}::-webkit-scrollbar-thumb{background:var(--color-olive-400);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-olive-500)}@media(pointer:fine){body,a,button,.project-card,.service-card,.testimonial-card,input,select,textarea{cursor:none}}.cursor{position:fixed;top:0;left:0;width:40px;height:40px;border:1.5px solid var(--color-olive-600);border-radius:50%;pointer-events:none;z-index:9999;will-change:transform;opacity:0;transition:width .25s cubic-bezier(.16,1,.3,1),height .25s cubic-bezier(.16,1,.3,1),opacity .2s ease}.cursor--visible{opacity:1}.cursor--hovering{width:60px;height:60px;border-color:var(--color-olive-400);background-color:#4a5d2e14}.cursor-dot{position:fixed;top:0;left:0;width:6px;height:6px;background-color:var(--color-olive-700);border-radius:50%;pointer-events:none;z-index:10000;will-change:transform;opacity:0;transition:opacity .2s ease}.cursor-dot--visible{opacity:1}@media(pointer:coarse){.cursor,.cursor-dot{display:none!important}}.preloader{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background-color:var(--color-beige-100)}.preloader-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl);text-align:center}.preloader-logo{width:80px;height:80px}.logo-img{width:100%;height:100%;object-fit:contain}.preloader-text{display:flex;flex-direction:column;gap:var(--space-sm)}.preloader-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:500;color:var(--color-olive-900);letter-spacing:.02em}.preloader-tagline{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-olive-600);margin:0}.preloader-progress{width:200px}.progress-track{height:2px;background-color:var(--color-beige-300);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background-color:var(--color-olive-700);border-radius:var(--radius-full);transition:width 50ms linear}@media(min-width:768px){.preloader-logo{width:100px;height:100px}.preloader-progress{width:250px}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:var(--space-md) 0;transition:all var(--transition-base)}.navbar--scrolled{background-color:#faf8f5f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);padding:var(--space-sm) 0}.navbar-container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);display:flex;align-items:center;justify-content:space-between}.navbar-logo{display:flex;align-items:center;gap:var(--space-sm);text-decoration:none;color:var(--color-text-primary)}.navbar-logo-img{width:40px;height:40px;object-fit:contain}.navbar-logo-text{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--color-olive-900);display:none}@media(min-width:768px){.navbar-logo-text{display:block}}.navbar-nav{display:none;gap:var(--space-xl)}@media(min-width:1024px){.navbar-nav{display:flex}}.navbar-link{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);text-decoration:none;position:relative;padding:var(--space-sm) 0;background:none;border:none;cursor:pointer;transition:color var(--transition-fast)}.navbar-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--color-olive-700);transition:width var(--transition-base)}.navbar-link:hover{color:var(--color-olive-700)}.navbar-link:hover:after{width:100%}.navbar-cta{display:none;padding:var(--space-sm) var(--space-lg)}@media(min-width:1024px){.navbar-cta{display:inline-flex}}.navbar-hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:30px;height:30px;background:none;border:none;cursor:pointer;padding:0}@media(min-width:1024px){.navbar-hamburger{display:none}}.navbar-hamburger span{display:block;width:100%;height:2px;background-color:var(--color-olive-900);transition:all var(--transition-base);transform-origin:center}.navbar-hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.navbar-hamburger.active span:nth-child(2){opacity:0}.navbar-hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-menu{position:absolute;top:100%;left:0;right:0;background-color:var(--color-beige-100);border-top:1px solid var(--color-beige-300);box-shadow:var(--shadow-lg);overflow:hidden}@media(min-width:1024px){.mobile-menu{display:none}}.mobile-nav{display:flex;flex-direction:column;padding:var(--space-lg) var(--container-padding);gap:var(--space-sm)}.mobile-nav-link{font-size:var(--text-lg);font-weight:500;color:var(--color-text-secondary);text-decoration:none;text-align:left;padding:var(--space-md) 0;background:none;border:none;border-bottom:1px solid var(--color-beige-300);cursor:pointer;width:100%;transition:color var(--transition-fast)}.mobile-nav-link:hover{color:var(--color-olive-700)}.mobile-nav-cta{margin-top:var(--space-md);text-align:center}.footer{background-color:var(--color-olive-900);color:var(--color-beige-200);padding:var(--space-4xl) 0 var(--space-xl)}.footer-content{display:grid;grid-template-columns:1fr;gap:var(--space-2xl);margin-bottom:var(--space-3xl)}@media(min-width:768px){.footer-content{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.footer-content{grid-template-columns:2fr 1fr 1fr 1fr}}.footer-brand{max-width:300px}.footer-logo{display:flex;align-items:center;gap:var(--space-sm);text-decoration:none;margin-bottom:var(--space-md)}.footer-logo-img{width:48px;height:48px;object-fit:contain}.footer-logo-text{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--color-beige-100)}.footer-tagline{font-size:var(--text-sm);color:var(--color-beige-400);line-height:1.7}.footer-heading{font-family:var(--font-display);font-size:var(--text-base);font-weight:500;color:var(--color-beige-100);margin-bottom:var(--space-lg)}.footer-nav{display:flex;flex-direction:column;gap:var(--space-sm)}.footer-nav a{font-size:var(--text-sm);color:var(--color-beige-400);text-decoration:none;transition:color var(--transition-fast)}.footer-nav a:hover{color:var(--color-beige-100)}.footer-address{font-style:normal;font-size:var(--text-sm);color:var(--color-beige-400);line-height:1.8}.footer-address p{margin:0;color:inherit}.footer-social-links{display:flex;gap:var(--space-md)}.footer-social-link{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--color-olive-800);border-radius:var(--radius-md);color:var(--color-beige-300);transition:all var(--transition-fast)}.footer-social-link:hover{background-color:var(--color-olive-700);color:var(--color-beige-100);transform:translateY(-2px)}.footer-social-link svg{width:20px;height:20px}.footer-bottom{padding-top:var(--space-xl);border-top:1px solid var(--color-olive-800);text-align:center}.footer-copyright{font-size:var(--text-xs);color:var(--color-beige-500);margin:0}.whatsapp-float{position:fixed;bottom:2rem;right:2rem;width:60px;height:60px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #25d36666,0 2px 4px #0000001a;transition:all .3s cubic-bezier(.16,1,.3,1);z-index:9999;text-decoration:none}.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 6px 20px #25d36680,0 4px 8px #00000026}.whatsapp-float:active{transform:scale(.95)}.whatsapp-float svg{width:32px;height:32px}.whatsapp-tooltip{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);background:var(--color-olive-800, #2d3a24);color:var(--color-beige-100, #f5f3ef);padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s ease;pointer-events:none}.whatsapp-tooltip:after{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:var(--color-olive-800, #2d3a24)}.whatsapp-float:hover .whatsapp-tooltip{opacity:1;visibility:visible}@keyframes whatsapp-pulse{0%,to{box-shadow:0 4px 12px #25d36666,0 2px 4px #0000001a,0 0 #25d36666}50%{box-shadow:0 4px 12px #25d36666,0 2px 4px #0000001a,0 0 0 12px #25d36600}}.whatsapp-float{animation:whatsapp-pulse 2s ease-in-out 3}@media(max-width:768px){.whatsapp-float{width:54px;height:54px;bottom:1.5rem;right:1.5rem}.whatsapp-float svg{width:28px;height:28px}.whatsapp-tooltip{display:none}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:var(--color-beige-100)}.hero-background{position:absolute;inset:0;z-index:0;overflow:hidden}.hero-gradient-mesh{position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 40%,rgba(163,179,135,.12) 0%,transparent 50%),radial-gradient(ellipse 60% 60% at 80% 20%,rgba(212,200,184,.15) 0%,transparent 40%),radial-gradient(ellipse 50% 80% at 60% 80%,rgba(107,124,74,.08) 0%,transparent 50%)}.hero-decorative{position:absolute;inset:0;pointer-events:none;overflow:hidden}.hero-decorative-element{position:absolute;opacity:0}.hero-circle-1{width:clamp(300px,40vw,600px);height:clamp(300px,40vw,600px);border:1px solid rgba(74,93,46,.1);border-radius:50%;top:-10%;right:-10%}.hero-circle-2{width:clamp(200px,25vw,400px);height:clamp(200px,25vw,400px);border:1px solid rgba(74,93,46,.08);border-radius:50%;bottom:10%;left:-5%}.hero-circle-3{width:clamp(80px,10vw,150px);height:clamp(80px,10vw,150px);background:radial-gradient(circle,rgba(163,179,135,.15) 0%,transparent 70%);border-radius:50%;top:50%;right:15%;transform:translateY(-50%)}.hero-line-1{width:1px;height:30vh;background:linear-gradient(to bottom,transparent,rgba(74,93,46,.15),transparent);top:10%;left:20%}.hero-line-2{width:20vw;height:1px;background:linear-gradient(to right,transparent,rgba(74,93,46,.12),transparent);bottom:30%;right:10%}.hero-arch{width:clamp(150px,20vw,300px);height:clamp(200px,30vw,450px);border:1px solid rgba(74,93,46,.1);border-bottom:none;border-radius:clamp(75px,10vw,150px) clamp(75px,10vw,150px) 0 0;bottom:-5%;right:20%}.hero-grid-pattern{position:absolute;inset:0;background-image:linear-gradient(rgba(74,93,46,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(74,93,46,.04) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 0%,transparent 70%);mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 0%,transparent 70%)}.hero-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-5xl) var(--container-padding);text-align:center}.hero-text-wrapper{max-width:900px;display:flex;flex-direction:column;align-items:center}.hero:not(.hero--loaded) .hero-subtitle,.hero:not(.hero--loaded) .hero-title-line,.hero:not(.hero--loaded) .hero-description,.hero:not(.hero--loaded) .hero-ctas,.hero:not(.hero--loaded) .hero-scroll-indicator{opacity:0}.hero-subtitle{display:inline-block;font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--color-olive-600);margin-bottom:var(--space-xl);padding:var(--space-sm) var(--space-lg);border:1px solid rgba(74,93,46,.25);border-radius:var(--radius-full);background-color:#4a5d2e0d}.hero-title{font-family:var(--font-display);font-size:clamp(2.75rem,7vw,6rem);font-weight:400;line-height:1.1;color:var(--color-olive-900);margin-bottom:var(--space-xl)}.hero-title-line{display:block;overflow:hidden}.hero-title-word{display:inline-block;margin-right:.15em}.hero-title-word:last-child{margin-right:0}.hero-title-outline{color:transparent;-webkit-text-stroke:1.5px var(--color-olive-700)}.hero-title-accent{font-style:italic;color:var(--color-olive-600)}.hero-description{font-size:var(--text-lg);color:var(--color-text-muted);line-height:1.8;max-width:600px;margin-bottom:var(--space-2xl)}.hero-ctas{display:flex;flex-direction:column;gap:var(--space-md);align-items:center}@media(min-width:480px){.hero-ctas{flex-direction:row;justify-content:center}}.hero-btn{display:inline-flex;align-items:center;gap:var(--space-sm)}.hero-btn svg{width:18px;height:18px;transition:transform var(--transition-base)}.hero-btn:hover svg{transform:translate(4px)}.hero-scroll-indicator{position:absolute;bottom:var(--space-3xl);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-md);cursor:pointer;transition:opacity var(--transition-base)}.hero-scroll-indicator:hover{opacity:.7}.hero-scroll-indicator span{font-size:var(--text-xs);font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-muted)}.scroll-line{width:1px;height:60px;background-color:#4a5d2e33;position:relative;overflow:hidden}.scroll-dot{width:3px;height:10px;background-color:var(--color-olive-600);border-radius:var(--radius-full);position:absolute;left:-1px;animation:scrollDot 2s ease-in-out infinite}@keyframes scrollDot{0%,to{top:0;opacity:0}20%{opacity:1}80%{opacity:1}to{top:50px;opacity:0}}.hero-side-accent{position:absolute;right:var(--container-padding);top:50%;transform:translateY(-50%) rotate(90deg);transform-origin:center;display:none;align-items:center;gap:var(--space-lg);font-size:var(--text-xs);font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-muted)}@media(min-width:1024px){.hero-side-accent{display:flex}}.hero-side-line{width:60px;height:1px;background-color:#4a5d2e33}@media(max-width:767px){.hero-content{padding-top:100px;padding-bottom:var(--space-2xl)}.hero-text-wrapper{padding:0;max-width:100%}.hero-title{font-size:clamp(2.5rem,12vw,4rem);margin-bottom:var(--space-2xl);line-height:1.2;word-spacing:.1em}.hero-subtitle{font-size:.65rem;letter-spacing:.2em;padding:var(--space-sm) var(--space-lg);margin-bottom:var(--space-2xl)}.hero-description{font-size:var(--text-lg);margin-bottom:var(--space-3xl);line-height:1.8}.hero-scroll-indicator{display:none;visibility:hidden;height:0;overflow:hidden;pointer-events:none}.hero-arch{display:none}.hero-ctas{width:auto;flex-direction:column;align-items:center;gap:var(--space-md)}.hero-ctas .btn{width:auto;min-width:200px;justify-content:center;padding:var(--space-md) var(--space-2xl);font-size:.85rem}}.hero ::selection{background-color:var(--color-olive-300);color:var(--color-olive-900)}.responsive-image{display:block;width:100%;height:auto}.responsive-image img{display:block;width:100%;height:auto;max-width:100%;object-fit:cover}.about{background-color:var(--color-beige-100)}.about-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3xl);align-items:center}@media(min-width:1024px){.about-grid{grid-template-columns:1fr 1fr;gap:var(--space-4xl)}}.about-content{order:2}@media(min-width:1024px){.about-content{order:1}}.about-subtitle{text-align:left}.about-title{text-align:left;color:var(--color-olive-900)}.about-description{font-size:var(--text-lg);color:var(--color-text-secondary);margin-bottom:var(--space-lg)}.about-story{color:var(--color-text-muted);margin-bottom:var(--space-2xl)}.about-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-beige-300)}.value-item{padding:var(--space-md) 0}.value-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;color:var(--color-olive-800);margin-bottom:var(--space-xs)}.value-description{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.about-image{order:1;border-radius:var(--radius-lg);overflow:hidden}@media(min-width:1024px){.about-image{order:2}}.about-image img{width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover}.about-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg);margin-top:var(--space-4xl);padding:var(--space-xl);background-color:var(--color-olive-900);border-radius:var(--radius-lg);width:100%;max-width:100%;box-sizing:border-box}@media(min-width:768px){.about-stats{grid-template-columns:repeat(4,1fr);gap:var(--space-xl);padding:var(--space-2xl)}}.stat-item{text-align:center;padding:var(--space-sm)}.stat-value{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:500;color:var(--color-beige-100);display:block;margin-bottom:var(--space-xs)}.stat-label{font-size:var(--text-sm);font-weight:500;color:var(--color-olive-300);text-transform:uppercase;letter-spacing:.05em}.services{background-color:var(--color-beige-200);overflow:hidden}.services .section-title{font-size:clamp(2.5rem,5vw,4rem)}.services .section-description{max-width:700px;margin-left:auto;margin-right:auto}.services-list{display:flex;flex-direction:column;gap:var(--space-4xl)}.service-card-horizontal{display:grid;grid-template-columns:1fr;gap:var(--space-xl);align-items:center;padding:var(--space-xl);background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-beige-300);overflow:hidden}@media(min-width:768px){.service-card-horizontal{grid-template-columns:1fr 1fr;gap:var(--space-3xl);padding:var(--space-2xl)}.service-card-horizontal.layout-right .service-content{order:2}.service-card-horizontal.layout-right .service-image{order:1}}@media(min-width:1024px){.service-card-horizontal{grid-template-columns:1fr 1fr;padding:var(--space-3xl)}}.service-number{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:linear-gradient(135deg,var(--color-olive-600),var(--color-olive-800));color:var(--color-beige-100);font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.service-content{will-change:transform,opacity}.service-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;color:var(--color-olive-900);margin-bottom:var(--space-md);line-height:1.3}@media(min-width:768px){.service-title{font-size:var(--text-3xl)}}.service-description{font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-xl)}.service-features{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.service-features li{font-size:var(--text-xs);font-weight:500;color:var(--color-olive-700);background-color:var(--color-olive-100);padding:4px 10px;border-radius:var(--radius-full)}@media(min-width:768px){.service-features{gap:var(--space-sm)}.service-features li{font-size:var(--text-sm);padding:var(--space-xs) var(--space-md)}}.service-image{will-change:transform,opacity;border-radius:var(--radius-lg);overflow:hidden}.service-image img{width:100%;height:300px;object-fit:cover;display:block;transition:transform .5s ease}@media(min-width:768px){.service-image img{height:350px}}@media(min-width:1024px){.service-image img{height:400px}}.service-card-horizontal:hover{border-color:var(--color-olive-300)}.service-card-horizontal:hover .service-image img{transform:scale(1.05)}.project-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer}.project-card-image{position:relative;aspect-ratio:4 / 3;overflow:hidden}.project-card-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.project-card:nth-child(7) .project-card-image img{object-fit:cover;object-position:bottom}.project-card:hover .project-card-image img{transform:scale(1.05)}.project-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(45,58,31,.95) 0%,rgba(45,58,31,.5) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-xl);opacity:.9;transition:opacity var(--transition-base)}.project-card:hover .project-card-overlay{opacity:1}.project-card-category{font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-olive-300);margin-bottom:var(--space-sm)}.project-card-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;color:var(--color-beige-100);margin-bottom:var(--space-xs)}.project-card-location{font-size:var(--text-sm);color:var(--color-beige-300);margin:0}.project-card--featured{grid-column:span 2}.project-card--featured .project-card-image{aspect-ratio:16 / 9}@media(max-width:767px){.project-card--featured{grid-column:span 1}.project-card--featured .project-card-image{aspect-ratio:4 / 3}}.projects{background-color:var(--color-beige-100)}.projects-grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl)}@media(min-width:768px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.projects-grid{grid-template-columns:repeat(3,1fr)}}.projects-cta{text-align:center;margin-top:var(--space-3xl)}.testimonial-card{background-color:var(--color-surface);padding:var(--space-2xl);border-radius:var(--radius-lg);border:1px solid var(--color-beige-300);position:relative;transition:all var(--transition-base)}.testimonial-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-olive-200)}.testimonial-quote-mark{font-family:var(--font-display);font-size:5rem;line-height:1;color:var(--color-olive-200);position:absolute;top:var(--space-md);left:var(--space-lg);opacity:.5}.testimonial-quote{font-family:var(--font-body);font-size:var(--text-base);font-style:italic;line-height:1.8;color:var(--color-text-secondary);margin:0 0 var(--space-xl) 0;position:relative;z-index:1}.testimonial-author{display:flex;align-items:center;gap:var(--space-md)}.testimonial-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--color-olive-200)}.testimonial-author-info{display:flex;flex-direction:column;gap:2px}.testimonial-author-name{font-family:var(--font-display);font-size:var(--text-base);font-weight:500;color:var(--color-olive-900)}.testimonial-author-role{font-size:var(--text-sm);color:var(--color-text-muted)}.testimonial-project{font-size:var(--text-xs);font-weight:500;color:var(--color-olive-600)}.testimonials{background-color:var(--color-beige-200)}.testimonials-grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl)}@media(min-width:768px){.testimonials-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.testimonials-grid{grid-template-columns:repeat(2,1fr)}}.contact{background-color:var(--color-beige-100)}.contact-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3xl)}@media(min-width:1024px){.contact-grid{grid-template-columns:1fr 1.2fr;gap:var(--space-4xl)}}.contact-info{display:flex;flex-direction:column;gap:var(--space-lg)}.contact-card{display:flex;gap:var(--space-lg);padding:var(--space-lg);background-color:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-beige-300);transition:all var(--transition-base)}.contact-card:hover{border-color:var(--color-olive-300);box-shadow:var(--shadow-sm)}.contact-card-icon{width:48px;height:48px;min-width:48px;display:flex;align-items:center;justify-content:center;background-color:var(--color-olive-100);border-radius:var(--radius-md);color:var(--color-olive-700)}.contact-card-icon svg{width:24px;height:24px}.contact-card-content h4{font-family:var(--font-display);font-size:var(--text-base);font-weight:500;color:var(--color-olive-900);margin-bottom:var(--space-xs)}.contact-card-content p{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;line-height:1.6}.contact-card-content a{font-size:var(--text-sm);color:var(--color-olive-700);text-decoration:none;transition:color var(--transition-fast)}.contact-card-content a:hover{color:var(--color-olive-900)}.contact-address-link{display:block}.contact-address-link p{color:var(--color-olive-700)}.contact-form-container{background-color:var(--color-surface);padding:var(--space-2xl);border-radius:var(--radius-lg);border:1px solid var(--color-beige-300)}.contact-form-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;color:var(--color-olive-900);margin-bottom:var(--space-xl)}.contact-form{display:flex;flex-direction:column;gap:var(--space-lg)}.form-row{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}@media(min-width:768px){.form-row{grid-template-columns:1fr 1fr}}.form-group{display:flex;flex-direction:column;gap:var(--space-sm)}.form-group label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary)}.form-group input,.form-group select,.form-group textarea{padding:var(--space-md);font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);background-color:var(--color-beige-100);border:1px solid var(--color-beige-300);border-radius:var(--radius-md);transition:all var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-olive-500);background-color:var(--color-beige-50)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236a6a6a' 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}.form-group textarea{resize:vertical;min-height:120px}.form-submit{align-self:flex-start;min-width:180px}.form-submit:disabled{opacity:.7;cursor:not-allowed}.form-success{font-size:var(--text-sm);color:var(--color-olive-700);background-color:var(--color-olive-100);padding:var(--space-md);border-radius:var(--radius-md);margin:0}.app{min-height:100vh}.main-content{opacity:0;visibility:hidden}.main-content.visible{visibility:visible;opacity:0}.main-content.loaded{opacity:1;transition:opacity .4s ease}html{scroll-behavior:smooth}
