:root{--color-primary:#2c7d01;--color-primary-dark:#1f5a00;--color-primary-light:#3d9e0f;--color-primary-rgb:44, 125, 1;--color-white:#fff;--color-black:#0a0a0a;--color-gray-50:#fafafa;--color-gray-100:#f5f5f5;--color-gray-200:#e5e5e5;--color-gray-300:#d4d4d4;--color-gray-400:#a3a3a3;--color-gray-500:#737373;--color-gray-600:#525252;--color-gray-700:#404040;--color-gray-800:#262626;--color-gray-900:#171717;--color-success:#22c55e;--color-warning:#f59e0b;--color-error:#ef4444;--font-primary:"Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-secondary:"Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--text-7xl:4.5rem;--font-regular:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.1;--leading-snug:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--transition-fast:.15s ease;--transition-base:.3s ease;--transition-slow:.5s ease;--transition-bounce:.5s cubic-bezier(.34, 1.56, .64, 1);--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:400;--z-modal:500;--z-popover:600;--z-tooltip:700;--container-max:1280px;--container-padding:1.5rem}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-SemiBold.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/Manrope-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/Manrope-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-secondary);font-size:var(--text-base);font-weight:var(--font-regular);line-height:var(--leading-normal);color:var(--color-gray-700);background-color:var(--color-white);overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}ul,ol{list-style:none}input,textarea,select{font-family:inherit;font-size:inherit}::selection{background-color:var(--color-primary);color:var(--color-white)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.container{width:100%;max-width:var(--container-max);padding-left:var(--container-padding);padding-right:var(--container-padding);margin-left:auto;margin-right:auto}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--color-gray-900)}h1{font-size:clamp(var(--text-3xl), 5vw, var(--text-6xl))}h2{font-size:clamp(var(--text-2xl), 4vw, var(--text-4xl))}h3{font-size:clamp(var(--text-xl), 3vw, var(--text-2xl))}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{margin-bottom:var(--space-4)}p:last-child{margin-bottom:0}.text-highlight{color:var(--color-primary);position:relative}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-medium);text-align:center;border-radius:var(--radius-lg);transition:all var(--transition-base);white-space:nowrap;line-height:1;display:inline-flex}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.btn-primary{background-color:var(--color-primary);color:var(--color-white);box-shadow:0 4px 14px 0 rgba(var(--color-primary-rgb), .4)}.btn-primary:hover{background-color:var(--color-primary-dark);box-shadow:0 6px 20px 0 rgba(var(--color-primary-rgb), .5);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:var(--color-gray-100);color:var(--color-gray-700)}.btn-secondary:hover{background-color:var(--color-gray-200)}.btn-outline{color:var(--color-gray-900);border:2px solid var(--color-gray-300);background-color:#0000}.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-white{background-color:var(--color-white);color:var(--color-primary)}.btn-white:hover{background-color:var(--color-gray-100);transform:translateY(-2px)}.btn-outline-white{color:var(--color-white);border:2px solid var(--color-white);background-color:#0000}.btn-outline-white:hover{background-color:var(--color-white);color:var(--color-primary)}.btn-link{color:var(--color-gray-600);padding:var(--space-2);background:0 0}.btn-link:hover{color:var(--color-primary)}.btn-block{width:100%}.section-header{text-align:center;max-width:700px;margin:0 auto var(--space-16)}.section-badge{padding:var(--space-2) var(--space-4);background:linear-gradient(135deg, rgba(var(--color-primary-rgb), .1), rgba(var(--color-primary-rgb), .05));color:var(--color-primary);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);border-radius:var(--radius-full);margin-bottom:var(--space-4);letter-spacing:.025em;display:inline-block}.section-title{margin-bottom:var(--space-4)}.section-description{font-size:var(--text-lg);color:var(--color-gray-600)}.header{z-index:var(--z-fixed);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-gray-100);transition:all var(--transition-base);background-color:#fffffff2;position:fixed;top:0;left:0;right:0}.header.scrolled{box-shadow:var(--shadow-md)}.nav{justify-content:space-between;align-items:center;height:80px;display:flex}.nav-logo{align-items:center;display:flex}.logo-img{width:auto;height:50px}.nav-menu{align-items:center;display:flex}.nav-list{align-items:center;gap:var(--space-1);display:flex}.nav-link{padding:var(--space-2) var(--space-4);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-gray-700);border-radius:var(--radius-md);transition:all var(--transition-fast);display:block}.nav-link:hover,.nav-link.active{color:var(--color-primary);background-color:rgba(var(--color-primary-rgb), .05)}.nav-item{position:relative}.nav-item.has-dropdown>.nav-link{align-items:center;gap:var(--space-2);display:flex}.nav-item.has-dropdown>.nav-link svg{width:12px;height:12px;transition:transform var(--transition-fast)}.nav-item.has-dropdown:hover>.nav-link svg{transform:rotate(180deg)}.nav-dropdown{background:var(--color-white);border-radius:var(--radius-lg);min-width:240px;box-shadow:var(--shadow-xl);padding:var(--space-2);opacity:0;visibility:hidden;transition:all var(--transition-fast);z-index:var(--z-dropdown);border:1px solid var(--color-gray-100);position:absolute;top:100%;left:0;transform:translateY(10px)}.nav-item.has-dropdown:hover .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown-link{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-gray-700);border-radius:var(--radius-md);transition:all var(--transition-fast);display:flex}.nav-dropdown-link:hover{background-color:rgba(var(--color-primary-rgb), .08);color:var(--color-primary)}.nav-dropdown-link svg{width:18px;height:18px;color:var(--color-primary);flex-shrink:0}.nav-actions{align-items:center;gap:var(--space-4);display:flex}.nav-phone{align-items:center;gap:var(--space-2);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-gray-700);display:none}.nav-phone:hover,.nav-phone svg{color:var(--color-primary)}.nav-cta{display:none}.nav-toggle{width:44px;height:44px;color:var(--color-gray-700);border-radius:var(--radius-md);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.nav-toggle:hover{background-color:var(--color-gray-100)}.nav-close{display:none}@media (width<=1023px){.nav-menu{background-color:var(--color-white);width:100%;max-width:320px;height:100vh;padding:var(--space-20) var(--space-6);box-shadow:var(--shadow-2xl);transition:right var(--transition-base);z-index:var(--z-modal);flex-direction:column;align-items:flex-start;position:fixed;top:0;right:-100%}.nav-menu.active{right:0}.nav-list{flex-direction:column;align-items:flex-start;width:100%}.nav-item{width:100%}.nav-link{width:100%;padding:var(--space-4);font-size:var(--text-base)}.nav-close{top:var(--space-6);right:var(--space-6);width:44px;height:44px;color:var(--color-gray-700);border-radius:var(--radius-md);justify-content:center;align-items:center;display:flex;position:absolute}.nav-close:hover{background-color:var(--color-gray-100)}.nav-dropdown{background:var(--color-gray-50);border-radius:var(--radius-md);width:100%;min-width:auto;box-shadow:none;padding:var(--space-2);opacity:1;visibility:visible;max-height:0;transition:max-height var(--transition-base), padding var(--transition-base);border:none;margin-top:0;position:static;overflow:hidden;transform:none}.nav-item.has-dropdown.active .nav-dropdown{max-height:500px;padding:var(--space-2);margin-top:var(--space-2)}.nav-item.has-dropdown>.nav-link svg{margin-left:auto}.nav-dropdown-link{padding:var(--space-3);font-size:var(--text-sm)}}@media (width>=768px){.nav-phone{display:flex}}@media (width>=1024px){.nav-toggle{display:none}.nav-cta{display:inline-flex}}.hero{min-height:100vh;padding:calc(80px + var(--space-12)) 0 var(--space-12);background:linear-gradient(135deg, var(--color-gray-50) 0%, var(--color-white) 50%, rgba(var(--color-primary-rgb), .03) 100%);align-items:center;display:flex;position:relative;overflow:hidden}.hero-bg{background-image:radial-gradient(circle at 20% 80%, rgba(var(--color-primary-rgb), .08) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(var(--color-primary-rgb), .05) 0%, transparent 40%);z-index:0;position:absolute;inset:0}.hero-container{gap:var(--space-12);z-index:1;grid-template-columns:1fr;align-items:center;display:grid;position:relative}.hero-content{text-align:center}.hero-badge{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light));color:var(--color-white);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);border-radius:var(--radius-full);margin-bottom:var(--space-6);box-shadow:0 4px 14px rgba(var(--color-primary-rgb), .3);display:inline-flex}.hero-title{margin-bottom:var(--space-6);font-size:clamp(var(--text-3xl), 6vw, var(--text-5xl))}.hero-description{max-width:600px;margin:0 auto var(--space-8);font-size:var(--text-lg);color:var(--color-gray-600)}.hero-buttons{gap:var(--space-4);margin-bottom:var(--space-12);flex-direction:column;display:flex}.hero-stats{gap:var(--space-4);padding-top:var(--space-8);border-top:1px solid var(--color-gray-200);grid-template-columns:repeat(3,1fr);display:grid}.stat-item{text-align:center}.stat-number{font-family:var(--font-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-primary);margin-bottom:var(--space-1);line-height:1;display:block}.stat-number:after{content:"+"}.stat-label{font-size:var(--text-xs);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em}.hero-image{display:none}.hero-image-wrapper{position:relative}.hero-image-wrapper img{border-radius:var(--radius-2xl);width:100%;height:auto;box-shadow:var(--shadow-2xl)}.hero-image-decoration{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light));border-radius:var(--radius-2xl);z-index:-1;opacity:.2;width:200px;height:200px;position:absolute;bottom:-20px;right:-20px}.hero-scroll{bottom:var(--space-8);position:absolute;left:50%;transform:translate(-50%)}.scroll-indicator{width:44px;height:44px;color:var(--color-gray-400);border:2px solid var(--color-gray-200);border-radius:var(--radius-full);justify-content:center;align-items:center;animation:2s infinite bounce;display:flex}.scroll-indicator:hover{color:var(--color-primary);border-color:var(--color-primary)}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}@media (width>=640px){.hero-buttons{flex-direction:row;justify-content:center}}@media (width>=1024px){.hero-container{text-align:left;grid-template-columns:1fr 1fr}.hero-content{text-align:left}.hero-description{margin-left:0}.hero-buttons{justify-content:flex-start}.hero-image{display:block}.hero-stats{max-width:500px}}.main-image-section{padding:var(--space-16) 0;background-color:var(--color-white)}.main-image-wrapper{border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);position:relative;overflow:hidden}.main-featured-image{object-fit:cover;object-position:center top;width:100%;height:auto;max-height:600px}.main-image-overlay{padding:var(--space-8);background:linear-gradient(#0000,#000c);position:absolute;bottom:0;left:0;right:0}.overlay-content{color:var(--color-white)}.overlay-content h2{color:var(--color-white);font-size:var(--text-2xl);margin-bottom:var(--space-2)}.overlay-content p{color:var(--color-gray-300);margin:0}.services{padding:var(--space-24) 0;background-color:var(--color-gray-50)}.services-grid{gap:var(--space-6);grid-template-columns:1fr;display:grid}.service-card{background-color:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);cursor:pointer;color:inherit;text-decoration:none;transition:transform .3s,box-shadow .3s;display:block;position:relative;overflow:hidden}.service-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-8px)}.service-card:hover .service-title{color:var(--color-primary)}.service-card:hover .service-link{gap:var(--space-3)}.service-image{height:200px;position:relative;overflow:hidden}.service-image img{object-fit:cover;width:100%;height:100%}.service-overlay{background:linear-gradient(#0000 50%,#0000004d);position:absolute;inset:0}.service-content{padding:var(--space-6)}.service-icon{background:linear-gradient(135deg, rgba(var(--color-primary-rgb), .1), rgba(var(--color-primary-rgb), .05));width:56px;height:56px;color:var(--color-primary);border-radius:var(--radius-lg);margin-bottom:var(--space-4);justify-content:center;align-items:center;display:inline-flex}.service-title{font-size:var(--text-xl);margin-bottom:var(--space-3)}.service-description{color:var(--color-gray-600);margin-bottom:var(--space-4);font-size:var(--text-sm)}.service-link{align-items:center;gap:var(--space-2);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-primary);transition:gap .2s;display:inline-flex}@media (width>=640px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.services-grid{grid-template-columns:repeat(3,1fr)}.service-card-wide{grid-column:span 2}.service-card-wide .service-image{height:250px}}.about{padding:var(--space-24) 0;background-color:var(--color-white)}.about-grid{gap:var(--space-12);grid-template-columns:1fr;align-items:center;display:grid}.about-images{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid;position:relative}.about-image-main{grid-column:span 2}.about-image-main img,.about-image-secondary img{object-fit:cover;border-radius:var(--radius-xl);width:100%;height:250px;box-shadow:var(--shadow-lg)}.about-image-secondary img{height:180px}.about-experience-badge{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));width:120px;height:120px;color:var(--color-white);border-radius:var(--radius-full);box-shadow:var(--shadow-xl);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-20px;right:20px}.experience-number{font-family:var(--font-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);line-height:1}.experience-text{font-size:var(--text-xs);line-height:var(--leading-tight);margin-top:var(--space-1)}.about-content .section-badge{margin-bottom:var(--space-4)}.about-content .section-title{margin-bottom:var(--space-6)}.about-text{color:var(--color-gray-600);margin-bottom:var(--space-4)}.about-features{gap:var(--space-4);margin:var(--space-8) 0;flex-direction:column;display:flex}.feature-item{align-items:flex-start;gap:var(--space-4);display:flex}.feature-icon{background-color:rgba(var(--color-primary-rgb), .1);width:48px;height:48px;color:var(--color-primary);border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;display:flex}.feature-text h4{font-size:var(--text-base);margin-bottom:var(--space-1)}.feature-text p{font-size:var(--text-sm);color:var(--color-gray-500);margin:0}@media (width>=768px){.about-image-main img{height:350px}.about-image-secondary img{height:250px}}@media (width>=1024px){.about-grid{grid-template-columns:1fr 1fr}}.projects{padding:var(--space-24) 0;background-color:var(--color-gray-50)}.projects-gallery{gap:var(--space-4);grid-template-columns:1fr;display:grid}.project-item{border-radius:var(--radius-xl);cursor:pointer;position:relative;overflow:hidden}.project-item img{object-fit:cover;width:100%;height:250px}.project-label{top:var(--space-3);left:var(--space-3);color:var(--color-white);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;z-index:10;font-weight:700;position:absolute}.project-label.antes{background-color:#dc2626}.project-label.despues{background-color:#16a34a}.project-overlay{padding:var(--space-6);opacity:0;transition:opacity var(--transition-base);background:linear-gradient(#0000 40%,#000c 100%);flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.project-item:hover .project-overlay{opacity:1}.project-category{font-size:var(--text-xs);color:var(--color-primary-light);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-2)}.project-title{font-size:var(--text-lg);color:var(--color-white);margin:0}@media (width>=640px){.projects-gallery{grid-template-columns:repeat(2,1fr)}.project-item.large{grid-row:span 2}.project-item.large img{height:100%;min-height:520px}}@media (width>=1024px){.projects-gallery{grid-template-columns:repeat(3,1fr)}}.testimonials{padding:var(--space-24) 0;background-color:var(--color-white)}.testimonials-grid{gap:var(--space-6);grid-template-columns:1fr;display:grid}.testimonial-card{background-color:var(--color-gray-50);padding:var(--space-8);border-radius:var(--radius-xl);transition:all var(--transition-base)}.testimonial-card:hover{background-color:var(--color-white);box-shadow:var(--shadow-xl);transform:translateY(-4px)}.testimonial-rating{gap:var(--space-1);margin-bottom:var(--space-4);color:#fbbf24;display:flex}.testimonial-text{font-size:var(--text-lg);color:var(--color-gray-700);font-style:italic;line-height:var(--leading-relaxed);margin-bottom:var(--space-6)}.testimonial-author{align-items:center;gap:var(--space-4);display:flex}.author-avatar{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light));width:48px;height:48px;color:var(--color-white);font-family:var(--font-primary);font-weight:var(--font-semibold);border-radius:var(--radius-full);justify-content:center;align-items:center;display:flex}.author-info{flex-direction:column;display:flex}.author-name{font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-gray-900);font-style:normal}.author-location{font-size:var(--text-sm);color:var(--color-gray-500)}@media (width>=768px){.testimonials-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.testimonials-grid{grid-template-columns:repeat(3,1fr)}}.cta-section{padding:var(--space-20) 0;background:linear-gradient(135deg, var(--color-primary-dark), var(--color-primary), var(--color-primary-light));position:relative;overflow:hidden}.cta-section:before{content:"";background-image:radial-gradient(circle at 20%,#ffffff1a 0%,#0000 50%),radial-gradient(circle at 80%,#ffffff0d 0%,#0000 40%);position:absolute;inset:0}.cta-content{text-align:center;z-index:1;position:relative}.cta-title{color:var(--color-white);margin-bottom:var(--space-4)}.cta-description{color:#ffffffe6;font-size:var(--text-lg);max-width:600px;margin:0 auto var(--space-8)}.cta-buttons{gap:var(--space-4);flex-direction:column;justify-content:center;display:flex}@media (width>=640px){.cta-buttons{flex-direction:row}}.contact{padding:var(--space-24) 0;background-color:var(--color-gray-50)}.contact-grid{gap:var(--space-12);grid-template-columns:1fr;display:grid}.contact-info .section-badge{margin-bottom:var(--space-4)}.contact-info .section-title{margin-bottom:var(--space-6)}.contact-description{color:var(--color-gray-600);margin-bottom:var(--space-8)}.contact-details{gap:var(--space-6);flex-direction:column;display:flex}.contact-item{align-items:flex-start;gap:var(--space-4);display:flex}.contact-icon{background-color:rgba(var(--color-primary-rgb), .1);width:48px;height:48px;color:var(--color-primary);border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-text{flex-direction:column;display:flex}.contact-label{font-size:var(--text-sm);color:var(--color-gray-500);margin-bottom:var(--space-1)}.contact-text a,.contact-text span{font-size:var(--text-base);color:var(--color-gray-700)}.contact-text a:hover{color:var(--color-primary)}.contact-form-wrapper{background-color:var(--color-white);padding:var(--space-8);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.contact-form{gap:var(--space-5);flex-direction:column;display:flex}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-row{gap:var(--space-5);grid-template-columns:1fr;display:grid}.form-group label{font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-gray-700)}.form-group input,.form-group select,.form-group textarea{padding:var(--space-3) var(--space-4);border:2px solid var(--color-gray-200);border-radius:var(--radius-lg);font-size:var(--text-base);color:var(--color-gray-700);background-color:var(--color-white);transition:all var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb), .1);outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-gray-400)}.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='%23737373' 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 var(--space-3) center;padding-right:var(--space-10);background-size:18px}.form-group textarea{resize:vertical;min-height:120px}.form-checkbox{align-items:flex-start;gap:var(--space-3);flex-direction:row}.form-checkbox input{cursor:pointer;width:20px;height:20px;accent-color:var(--color-primary);flex-shrink:0;margin-top:2px}.form-checkbox label{font-size:var(--text-sm);color:var(--color-gray-600);cursor:pointer}.form-checkbox label a{color:var(--color-primary);text-decoration:underline}.form-checkbox label a:hover{color:var(--color-primary-dark)}@media (width>=640px){.form-row{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.contact-grid{grid-template-columns:1fr 1fr}}.footer{background-color:var(--color-gray-900);padding:var(--space-16) 0 var(--space-8);color:var(--color-gray-400)}.footer-grid{gap:var(--space-10);margin-bottom:var(--space-12);grid-template-columns:1fr;display:grid}.footer-logo{margin-bottom:var(--space-4);display:inline-block}.footer-logo img{width:auto;height:50px}.footer-description{font-size:var(--text-sm);line-height:var(--leading-relaxed);margin-bottom:var(--space-6);max-width:300px}.footer-contact{gap:var(--space-3);flex-direction:column;display:flex}.footer-contact a{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-gray-400);transition:color var(--transition-fast);display:flex}.footer-contact a:hover{color:var(--color-primary-light)}.footer-contact svg{color:var(--color-primary);flex-shrink:0}.footer-links h4{color:var(--color-white);font-size:var(--text-base);margin-bottom:var(--space-4)}.footer-links ul{gap:var(--space-3);flex-direction:column;display:flex}.footer-links a{font-size:var(--text-sm);color:var(--color-gray-400);transition:color var(--transition-fast)}.footer-links a:hover{color:var(--color-primary-light)}.footer-bottom{padding-top:var(--space-8);border-top:1px solid var(--color-gray-800);text-align:center}.footer-bottom p{font-size:var(--text-sm);margin:0}@media (width>=640px){.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}.whatsapp-button{bottom:var(--space-6);right:var(--space-6);background-color:var(--color-primary);width:60px;height:60px;color:var(--color-white);border-radius:var(--radius-full);box-shadow:0 4px 20px rgba(var(--color-primary-rgb), .4);z-index:var(--z-fixed);transition:all var(--transition-base);justify-content:center;align-items:center;display:flex;position:fixed}.whatsapp-button:hover{background-color:var(--color-primary-dark);box-shadow:0 6px 30px rgba(var(--color-primary-rgb), .5);transform:scale(1.1)}.whatsapp-button:before{content:"";border-radius:var(--radius-full);background-color:var(--color-primary);z-index:-1;width:100%;height:100%;animation:2s infinite whatsapp-pulse;position:absolute}@keyframes whatsapp-pulse{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.cookie-banner{background-color:var(--color-gray-900);padding:var(--space-6);z-index:var(--z-modal);transition:transform var(--transition-base);position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.cookie-banner.active{transform:translateY(0)}.cookie-content{max-width:var(--container-max);gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.cookie-content p{color:var(--color-gray-300);font-size:var(--text-sm);margin:0}.cookie-content a{color:var(--color-primary-light);text-decoration:underline}.cookie-buttons{gap:var(--space-3);flex-wrap:wrap;display:flex}@media (width>=768px){.cookie-content{flex-direction:row;justify-content:space-between;align-items:center}.cookie-content p{flex:1}}.fade-in-up{opacity:0;transform:translateY(30px)}.fade-in-up.animated{opacity:1;transform:translateY(0)}.fade-in{opacity:0}.fade-in.animated{opacity:1}.scale-in{opacity:0;transform:scale(.9)}.scale-in.animated{opacity:1;transform:scale(1)}.stagger-children>*{opacity:0;transform:translateY(20px)}.stagger-children.animated>*{opacity:1;transform:translateY(0)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body.no-scroll{overflow:hidden}.nav-overlay{opacity:0;visibility:hidden;transition:all var(--transition-base);z-index:calc(var(--z-modal) - 1);background-color:#00000080;position:fixed;inset:0}.nav-overlay.active{opacity:1;visibility:visible}.legal-page{padding:calc(80px + var(--space-16)) 0 var(--space-16)}.legal-content{max-width:800px;margin:0 auto}.legal-content h1{margin-bottom:var(--space-8)}.legal-content h2{font-size:var(--text-xl);margin-top:var(--space-10);margin-bottom:var(--space-4)}.legal-content h3{font-size:var(--text-lg);margin-top:var(--space-6);margin-bottom:var(--space-3)}.legal-content p{color:var(--color-gray-600);margin-bottom:var(--space-4)}.legal-content ul{margin-bottom:var(--space-4);padding-left:var(--space-6)}.legal-content ul li{color:var(--color-gray-600);margin-bottom:var(--space-2);list-style:outside}.legal-content a{color:var(--color-primary);text-decoration:underline}.legal-content a:hover{color:var(--color-primary-dark)}.legal-update{color:var(--color-gray-500);font-size:var(--text-sm);margin-bottom:var(--space-8)}@media print{.header,.footer,.whatsapp-button,.cookie-banner{display:none}body{font-size:12pt;line-height:1.5}.hero{min-height:auto;padding:2rem 0}a[href]:after{content:" (" attr(href) ")";color:var(--color-gray-500);font-size:.8em}}.service-hero{padding:calc(80px + var(--space-16)) 0 var(--space-16);background:linear-gradient(135deg, var(--color-gray-50) 0%, var(--color-white) 50%, rgba(var(--color-primary-rgb), .03) 100%)}.service-hero-content{max-width:800px}.back-link{align-items:center;gap:var(--space-2);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-primary);margin-bottom:var(--space-6);transition:gap var(--transition-fast);display:inline-flex}.back-link:hover{gap:var(--space-3)}.service-hero h1{font-size:clamp(var(--text-3xl), 5vw, var(--text-5xl));margin-bottom:var(--space-6)}.service-hero-description{font-size:var(--text-lg);color:var(--color-gray-600);line-height:var(--leading-relaxed);margin-bottom:var(--space-8)}.service-hero-features{gap:var(--space-4);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.hero-feature{align-items:center;gap:var(--space-2);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-gray-700);display:flex}.hero-feature svg{color:var(--color-primary);flex-shrink:0}.service-gallery{padding:var(--space-16) 0;background-color:var(--color-white)}.service-gallery h2{text-align:center;margin-bottom:var(--space-10)}.gallery-grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}.gallery-item{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:280px}.gallery-label{top:var(--space-3);left:var(--space-3);color:var(--color-white);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;z-index:10;font-weight:700;position:absolute}.gallery-label.antes{background-color:#dc2626}.gallery-label.durante{background-color:#f59e0b}.gallery-label.despues{background-color:#16a34a}.project-subtitle{font-size:var(--text-lg);color:var(--color-gray-700);margin-top:var(--space-8);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:2px solid var(--color-primary);display:inline-block}.gallery-comparison{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}.gallery-comparison-triple{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=768px){.gallery-comparison,.gallery-comparison-triple{grid-template-columns:1fr}}@media (width>=640px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-item img{height:320px}}.service-details{padding:var(--space-16) 0;background-color:var(--color-gray-50)}.details-grid{gap:var(--space-10);grid-template-columns:1fr;display:grid}.details-content h2{margin-bottom:var(--space-6)}.details-list{gap:var(--space-4);flex-direction:column;display:flex}.details-list li{align-items:flex-start;gap:var(--space-3);font-size:var(--text-base);color:var(--color-gray-700);display:flex}.details-list li svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}.cta-card{background:linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));padding:var(--space-8);border-radius:var(--radius-xl);color:var(--color-white)}.cta-card h3{color:var(--color-white);font-size:var(--text-xl);margin-bottom:var(--space-3)}.cta-card p{color:#ffffffe6;margin-bottom:var(--space-6)}.cta-card .btn-block{margin-bottom:var(--space-3)}.cta-card .btn-block:last-child{margin-bottom:0}.cta-card .btn-outline{color:var(--color-white);border-color:#ffffff80}.cta-card .btn-outline:hover{background-color:var(--color-white);color:var(--color-primary);border-color:var(--color-white)}@media (width>=1024px){.details-grid{grid-template-columns:1fr 400px;align-items:start}}
