@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&family=Playfair+Display:wght@400;700&display=swap";:root{--color-primary:#ccd12e;--color-primary-dark:#a3a81d;--color-primary-light:#e2e570;--color-primary-bg:#f8f9e6;--color-primary-rgb:204, 209, 46;--color-dark:#1e1e1e;--color-dark-mid:#2b2b2b;--color-dark-surface:#333;--color-gray-dark:#4a4a4a;--color-gray:#6e6e6e;--color-gray-mid:#9e9e9e;--color-gray-light:#d8d8d8;--color-gray-bg:#f4f4f4;--color-white:#fff;--color-off-white:#fafafa;--font-heading:"Playfair Display", Georgia, serif;--font-body:"Montserrat", "Arial", sans-serif;--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.375rem;--fs-xl:1.75rem;--fs-2xl:2.25rem;--fs-3xl:3rem;--fs-4xl:4rem;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:48px;--space-2xl:80px;--space-3xl:120px;--container-max:1500px;--container-pad:24px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--shadow-sm:0 2px 8px #00000014;--shadow-md:0 4px 20px #0000001f;--shadow-lg:0 8px 40px #0000002e;--shadow-card:0 2px 16px #0000001a;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-spring:cubic-bezier(.175, .885, .32, 1.15);--transition-fast:.16s var(--ease-out);--transition-base:.24s var(--ease-out);--transition-slow:.4s var(--ease-out);--navbar-height:80px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}[id]{scroll-margin-top:calc(var(--navbar-height) + 8px)}body{font-family:var(--font-body);font-size:var(--fs-base);color:var(--color-dark-mid);background-color:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2}.container{max-width:var(--container-max);padding:0 var(--container-pad);margin:0 auto}.section{padding:var(--space-2xl) 0}.section--dark{background-color:var(--color-dark-mid);color:var(--color-white)}.section--gray{background-color:var(--color-gray-bg)}.section-tag{font-family:var(--font-body);font-size:var(--fs-xs);letter-spacing:4px;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-md);font-weight:700;display:inline-block}.section-title{font-family:var(--font-heading);font-size:var(--fs-3xl);color:var(--color-dark);margin-bottom:var(--space-md);font-weight:700}.section-title--light{color:var(--color-white)}.section-subtitle{font-size:var(--fs-base);color:var(--color-gray);max-width:600px;line-height:1.8}.section-subtitle--light{color:var(--color-gray-light)}.btn{align-items:center;gap:var(--space-sm);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--fs-sm);letter-spacing:1.5px;text-transform:uppercase;transition:transform var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast);cursor:pointer;will-change:transform;padding:14px 32px;font-weight:700;display:inline-flex}.btn:active{transform:scale(.97)!important}.btn-primary{background-color:var(--color-primary);color:#181818;border:2px solid var(--color-primary);font-weight:700}@media (hover:hover) and (pointer:fine){.btn-primary:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);color:#fff;box-shadow:0 8px 24px rgba(var(--color-primary-rgb), .35);transform:translateY(-2px)}}.btn-outline{color:var(--color-white);background-color:#0000;border:2px solid #ffffffb3}@media (hover:hover) and (pointer:fine){.btn-outline:hover{border-color:var(--color-white);background-color:#ffffff1a;transform:translateY(-2px)}}.btn-outline--dark{color:var(--color-dark-mid);border-color:var(--color-dark-mid)}@media (hover:hover) and (pointer:fine){.btn-outline--dark:hover{background-color:var(--color-dark-mid);color:var(--color-white)}}.divider{background-color:var(--color-primary);width:25%;height:3px;margin:var(--space-md) 0 var(--space-lg);border-radius:2px}.reveal-init{opacity:0;filter:blur(4px);transition:opacity .75s var(--ease-out), transform .75s var(--ease-out), filter .75s var(--ease-out);will-change:opacity, transform, filter;transform:translateY(40px)}.reveal-visible{opacity:1;filter:blur();transform:translateY(0)}.stagger-parent>*{opacity:0;filter:blur(3px);transition:opacity .7s var(--ease-out), transform .7s var(--ease-out), filter .7s var(--ease-out);will-change:opacity, transform, filter;transform:translateY(36px)scale(.96)}.stagger-parent.is-visible>*{opacity:1;filter:blur();transform:translateY(0)scale(1)}.stagger-parent.is-visible>:first-child{transition-delay:80ms}.stagger-parent.is-visible>:nth-child(2){transition-delay:.18s}.stagger-parent.is-visible>:nth-child(3){transition-delay:.28s}.stagger-parent.is-visible>:nth-child(4){transition-delay:.38s}.stagger-parent.is-visible>:nth-child(5){transition-delay:.48s}.stagger-parent.is-visible>:nth-child(6){transition-delay:.58s}.stagger-parent.is-visible>:nth-child(7){transition-delay:.68s}.stagger-parent.is-visible>:nth-child(8){transition-delay:.78s}.fade-in-up{animation:fadeInUp .5s var(--ease-out) forwards}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-gray-bg)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:3px}::selection{background-color:var(--color-primary);color:var(--color-white)}@media (width<=768px){.container{max-width:100%;padding:0 var(--container-pad);margin:0 auto}.section-title{font-size:var(--fs-2xl)}.section-subtitle{font-size:var(--fs-base)}}@media (width<=425px){.section-title{font-size:var(--fs-lg)}.section-subtitle{font-size:var(--fs-sm)}}.navbar{z-index:1000;height:var(--navbar-height);transition:background-color var(--transition-base), box-shadow var(--transition-base);background-color:#0000;position:fixed;top:0;left:0;right:0}.navbar--scrolled{-webkit-backdrop-filter:blur(12px);background-color:#1e1e1ef2;box-shadow:0 2px 24px #0000004d}.navbar__inner{justify-content:space-between;align-items:center;height:100%;display:flex}.navbar__logo{transition:opacity var(--transition-fast);flex-shrink:0;align-items:center;display:flex}.navbar__logo:hover{opacity:.85}.navbar__logo img{width:auto;height:54px;transition:transform var(--transition-fast)}@media (width<=1024px){.navbar__logo img{height:48px}}.navbar__links{align-items:center;gap:var(--space-xl);display:flex}.navbar__link{font-size:var(--fs-sm);letter-spacing:1.5px;text-transform:uppercase;color:#fffc;transition:color var(--transition-fast);font-weight:600;position:relative}.navbar__link:after{content:"";background-color:var(--color-primary);width:0;height:2px;transition:width var(--transition-fast);position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}@media (hover:hover) and (pointer:fine){.navbar__link:hover{color:var(--color-white)}.navbar__link:hover:after{width:100%}}.navbar__cta{font-size:var(--fs-xs);padding:10px 24px}.navbar__hamburger{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.navbar__hamburger:active{transform:scale(.92)}.navbar__hamburger span{background-color:var(--color-white);width:26px;height:2px;transition:transform var(--transition-fast), opacity var(--transition-fast);transform-origin:50%;border-radius:2px;display:block}.navbar__hamburger--active span:first-child{transform:translateY(7px)rotate(45deg)}.navbar__hamburger--active span:nth-child(2){opacity:0;transform:scaleX(0)}.navbar__hamburger--active span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.navbar__mobile{top:var(--navbar-height);height:calc(100dvh - var(--navbar-height));-webkit-backdrop-filter:blur(16px);padding:var(--space-xl) var(--space-lg);justify-content:center;align-items:center;gap:var(--space-lg);z-index:999;opacity:0;visibility:hidden;transition:opacity var(--transition-fast), transform var(--transition-fast), visibility var(--transition-fast);pointer-events:none;background-color:#1a1a1afa;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:scale(.97)}.navbar__mobile--open{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1)}.navbar__mobile nav{align-items:center;gap:var(--space-xl);flex-direction:column;width:100%;display:flex}.navbar__mobile-link{font-size:var(--fs-xl);letter-spacing:2px;text-transform:uppercase;color:#ffffffd9;transition:color var(--transition-fast);text-align:center;padding:8px 16px;font-weight:600}.navbar__mobile-link:hover{color:var(--color-primary)}.navbar__mobile-cta{margin-top:var(--space-md);justify-content:center;width:100%;padding:16px}@media (width<=768px){.navbar__links{display:none}.navbar__hamburger{display:flex}}@media (width<=500px){.navbar__logo img{height:36px}}.hero{background-color:var(--color-dark,#141414);flex-direction:column;justify-content:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero__backgrounds{z-index:0;position:absolute;inset:0;overflow:hidden}.hero__bg-slide{opacity:0;will-change:opacity;background-position:50%;background-repeat:no-repeat;background-size:cover;transition:opacity 1.5s ease-in-out;position:absolute;inset:0}.hero__bg-slide--active{opacity:1}.hero__overlay{z-index:1;background:linear-gradient(135deg,#141414e8 0%,#191919c7 50%,#141414a6 100%);position:absolute;inset:0}.hero__content{z-index:3;padding-top:calc(var(--navbar-height) + 60px);max-width:var(--container-max);margin:0 0 0 200px;padding-bottom:160px;position:relative}.hero__tag{font-size:var(--fs-xs);letter-spacing:5px;color:var(--color-primary);margin-bottom:var(--space-lg);opacity:0;animation:heroLineReveal .6s var(--ease-out) 1.3s forwards;padding-left:40px;font-weight:700;display:inline-block;position:relative;transform:translateY(16px)}.hero__tag:before{content:"";background-color:var(--color-primary);width:28px;height:2px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.hero__title{font-family:var(--font-heading);font-size:clamp(2.8rem, 6vw, var(--fs-4xl));color:var(--color-white);margin-bottom:var(--space-lg);font-weight:700;line-height:1.15}.hero__title-line{opacity:0;filter:blur(3px);animation:heroLineReveal .7s var(--ease-out) forwards;display:block;transform:translateY(24px)scale(.98)}.hero__title-line:first-child{animation-delay:1.45s}.hero__title-line:nth-child(2){animation-delay:1.6s}.hero__title-line:nth-child(3){animation-delay:1.75s}@keyframes heroLineReveal{to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.hero__title--accent{color:var(--color-primary);transition:transform var(--transition-fast);font-style:italic;display:inline-block;position:relative}.hero__actions{gap:var(--space-md);opacity:0;animation:heroLineReveal .6s var(--ease-out) 1.9s forwards;flex-wrap:wrap;display:flex;transform:translateY(16px)}.hero__scroll{align-items:center;gap:var(--space-sm);z-index:3;flex-direction:column;animation:1s 1s both fadeIn;display:flex;position:absolute;bottom:180px;right:48px}.hero__scroll-label{letter-spacing:3px;text-transform:uppercase;color:#ffffff80;writing-mode:vertical-rl;font-size:10px;font-weight:700}.hero__scroll-line{background:linear-gradient(#ffffff80,#0000);width:1px;height:60px;animation:2s ease-in-out infinite scrollLine}@keyframes scrollLine{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.4;transform:scaleY(.4)}}.hero__bg-controls{z-index:4;-webkit-backdrop-filter:blur(8px);background:#12121273;border:1px solid #ffffff26;border-radius:20px;align-items:center;gap:10px;padding:6px 14px;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.hero__bg-dot{cursor:pointer;background:#ffffff59;border:none;border-radius:50%;width:9px;height:9px;padding:0;transition:all .3s}.hero__bg-dot:hover{background:#ffffffb3;transform:scale(1.2)}.hero__bg-dot--active{background:var(--color-primary,#8dc21f);border-radius:6px;width:22px}@media (width<=1024px){.hero__content{margin:0 auto}.hero__line,.hero__scroll{display:none}}@media (width<=768px){.hero__content{padding-top:calc(var(--navbar-height) + 40px)}.hero__title{font-size:clamp(2.2rem,8vw,3rem)}.hero__subtitle{font-size:var(--fs-base)}.hero__actions{flex-direction:column}.hero__actions .btn{justify-content:center;width:70%}}.about{padding:var(--space-2xl) 0;background-color:#d3d3d3bd}.about__container{max-width:1500px;margin:0 auto}.about__header{text-align:center;margin-bottom:var(--space-2xl)}.about__header .section-subtitle{max-width:1000px;margin:0 auto}.about__header .divider{margin:var(--space-md) auto var(--space-lg)}.about__values{gap:var(--space-2xl);grid-template-columns:repeat(3,1fr);display:grid}.about__value-card{flex-direction:column;display:flex}.about__value-title{font-family:var(--font-body);font-size:var(--fs-xl);color:var(--color-dark-mid);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.5px;text-align:center;font-weight:700}.about__value-line{background:linear-gradient(to right, var(--color-primary) 30%, var(--color-gray-mid) 30%);height:3px;margin-bottom:var(--space-sm);width:100%}.about__value-subtitle{font-family:var(--font-body);font-size:var(--fs-md);letter-spacing:.6em;color:var(--color-dark-mid);margin-bottom:var(--space-lg);text-transform:uppercase;text-align:center;font-weight:400}.about__value-text{font-size:var(--fs-sm);color:var(--color-gray-dark);line-height:1.8}@media (width<=1024px){.about__values{gap:var(--space-xl)}.about__value-title{font-size:var(--fs-md)}.about__value-subtitle{font-size:var(--fs-sm)}}@media (width<=768px){.about__values{gap:var(--space-xl);grid-template-columns:1fr}.about__value-title{font-size:var(--fs-md)}.about__value-subtitle{font-size:var(--fs-sm)}.about__container{max-width:70%;padding:0 var(--container-pad);margin:0 auto}}@media (width<=425px){.about__container{max-width:100%;padding:0 var(--container-pad);margin:0 auto}}.services{margin:0;padding-bottom:0}.services__header{text-align:center;margin-bottom:var(--space-2xl);z-index:2;position:relative}.services__header .section-subtitle{margin:0 auto}.services__header .divider{margin:var(--space-md) auto var(--space-lg)}.services__grid{gap:var(--space-2xl) var(--space-2xl);z-index:2;grid-template-columns:repeat(3,1fr);display:grid;position:relative}.service-item{padding:var(--space-lg);background-color:var(--color-white);transition:transform var(--transition-base), box-shadow var(--transition-base);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);will-change:transform;border:1px solid #0000000d;flex-direction:column;align-items:flex-start;display:flex}.service-item:active{transform:scale(.985)}@media (hover:hover) and (pointer:fine){.service-item:hover{box-shadow:var(--shadow-md);border-color:rgba(var(--color-primary-rgb), .35);transform:translateY(-4px)}}.service-item__icon{width:44px;height:44px;color:var(--color-primary);margin-bottom:var(--space-md);transition:transform var(--transition-fast), color var(--transition-fast);transform-origin:bottom}@media (hover:hover) and (pointer:fine){.service-item:hover .service-item__icon{color:var(--color-primary-dark);transform:translateY(-2px)scale(1.08)}}.service-item__title{font-family:var(--font-body);font-size:var(--fs-lg);color:var(--color-dark);margin-bottom:var(--space-sm);font-weight:700;line-height:1.3}.service-item__desc{font-size:var(--fs-sm);color:var(--color-gray-dark);margin-bottom:var(--space-md);line-height:1.8}.service-item__btn{padding-top:var(--space-sm);font-family:var(--font-body);font-size:var(--fs-xs);color:var(--color-primary);text-transform:uppercase;letter-spacing:1.5px;transition:color var(--transition-fast), transform var(--transition-fast);cursor:pointer;align-items:center;gap:4px;margin-top:auto;font-weight:700;display:inline-flex}.service-item__btn:active{transform:scale(.96)}@media (hover:hover) and (pointer:fine){.service-item__btn:hover{color:var(--color-primary-dark);transform:translate(4px)}}.divider__card{background-color:var(--color-primary);width:100%;height:3px;margin:var(--space-md) auto var(--space-lg);display:none}@media (width<=1024px){.services__grid{gap:var(--space-xl) var(--space-xl);grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.services__header{margin-bottom:var(--space-xl)}.services__grid{gap:var(--space-lg);grid-template-columns:1fr}.container__services{max-width:100%;padding:0 var(--container-pad);margin-top:0}.divider__card{display:none}.service-item{padding:var(--space-lg) var(--space-md)}}@media (width<=425px){.service-item{padding:var(--space-lg) var(--space-md)}.service-item__title{font-size:var(--fs-md)}.service-item__desc{font-size:.875rem}}@media (width<=375px){.service-item{padding:var(--space-md)}.service-item__title{font-size:1.05rem}}.projects-sec{background-color:var(--color-white)}.projects-sec__header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;display:flex}.projects-sec__header .btn{margin-bottom:0}.projects-sec__grid{gap:var(--space-lg);grid-template-columns:repeat(3,1fr);display:grid}.projects-sec__mobile-action{margin-top:var(--space-xl);text-align:center;display:none}@media (width<=1024px){.projects-sec__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.projects-sec__header{flex-direction:column;align-items:flex-start;margin-bottom:0}.projects-sec__header .btn{display:none}.projects-sec__grid{grid-template-columns:1fr;max-width:500px;margin:0 auto}.projects-sec__mobile-action{display:block}.projects-sec__mobile-action .btn{justify-content:center;width:100%}}.project-card{background:var(--color-white);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--transition-base), box-shadow var(--transition-base);box-shadow:var(--shadow-md);will-change:transform;flex-direction:column;display:flex;overflow:hidden}.project-card:active{transform:scale(.985)}@media (hover:hover) and (pointer:fine){.project-card:hover,.project-card:focus-visible{outline:none;transform:translateY(-6px);box-shadow:0 16px 36px #00000029}}.project-card__img-wrap{background-color:var(--color-gray-bg);width:100%;padding-top:66%;position:relative;overflow:hidden}.project-card__img{object-fit:cover;width:100%;height:100%;transition:transform .4s var(--ease-out);will-change:transform;position:absolute;top:0;left:0}@media (hover:hover) and (pointer:fine){.project-card:hover .project-card__img,.project-card:focus-visible .project-card__img{transform:scale(1.04)}}.project-card__overlay{-webkit-backdrop-filter:blur(2px);opacity:0;transition:opacity var(--transition-fast);z-index:1;background-color:#14141473;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.project-card:hover .project-card__overlay,.project-card:focus-visible .project-card__overlay{opacity:1}}.project-card__overlay-btn{color:var(--color-white);font-family:var(--font-body);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:1px;border:2px solid var(--color-white);border-radius:var(--radius-sm);transition:transform var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);padding:10px 24px;font-weight:700;transform:translateY(12px)}.project-card__overlay-btn:hover{background-color:var(--color-white);color:var(--color-dark)}@media (hover:hover) and (pointer:fine){.project-card:hover .project-card__overlay-btn,.project-card:focus-visible .project-card__overlay-btn{transform:translateY(0)}}.project-card__badge{background-color:var(--color-primary);color:var(--color-white);text-transform:uppercase;letter-spacing:1px;z-index:2;box-shadow:var(--shadow-sm);border-radius:2px;padding:4px 10px;font-size:11px;font-weight:700;position:absolute;top:16px;left:16px}.project-card__info{padding:var(--space-lg);flex-direction:column;flex:1;display:flex}.project-card__meta{color:var(--color-gray-mid);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;font-size:12px;display:flex}.project-card__year{color:var(--color-primary);font-weight:700}.project-card__title{font-family:var(--font-heading);font-size:var(--fs-xl);color:var(--color-dark);margin-bottom:4px;font-weight:700;line-height:1.2}.project-card__area{font-size:var(--fs-xs);color:var(--color-gray);margin-bottom:var(--space-xs);font-weight:500}.project-card__cta{padding-top:var(--space-xs);font-family:var(--font-body);font-size:var(--fs-xs);color:var(--color-primary);text-transform:uppercase;letter-spacing:1.5px;transition:color var(--transition-fast);align-items:center;gap:6px;margin-top:auto;font-weight:700;display:inline-flex}.project-card__arrow{transition:transform var(--transition-fast);display:inline-block}.project-card:hover .project-card__cta,.project-card:focus-visible .project-card__cta{color:var(--color-primary-dark)}.project-card:hover .project-card__arrow,.project-card:focus-visible .project-card__arrow{transform:translate(4px)}@media (width<=1024px){.project-card__cta{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-gray-light);justify-content:space-between;width:100%}}@media (width<=425px){.project-card__title{font-size:var(--fs-lg)}}.contact-sec{background-color:var(--color-dark-mid)}.contact-sec__inner{gap:var(--space-3xl);grid-template-columns:1.2fr .8fr;align-items:start;display:grid}.section-tag--light{color:var(--color-primary-light)}.contact-form{margin-top:var(--space-xl);gap:var(--space-lg);flex-direction:column;display:flex}.contact-form__row{gap:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.contact-form__group{gap:var(--space-sm);flex-direction:column;display:flex}.contact-form__label{font-family:var(--font-body);font-size:var(--fs-xs);letter-spacing:1px;text-transform:uppercase;color:var(--color-gray-mid);font-weight:600}.contact-form__input{border-radius:var(--radius-sm);width:100%;color:var(--color-white);font-family:var(--font-body);font-size:var(--fs-base);transition:border-color var(--transition-fast), background-color var(--transition-fast);background-color:#ffffff0d;border:1px solid #ffffff1a;padding:16px}.contact-form__input:focus{border-color:var(--color-primary);background-color:#ffffff14;outline:none}.contact-form__input::placeholder{color:#ffffff4d}.contact-form__textarea{resize:vertical;min-height:150px}.contact-form__submit{margin-top:var(--space-md);align-self:flex-start}.contact-info-card{background-color:var(--color-dark);padding:var(--space-2xl);border-radius:var(--radius-md);border-top:4px solid var(--color-primary)}.contact-info-card__title{font-family:var(--font-heading);font-size:var(--fs-xl);color:var(--color-white);margin-bottom:var(--space-xl)}.contact-info-list{margin-bottom:var(--space-xl);flex-direction:column;gap:32px;display:flex}.contact-info-item{align-items:flex-start;gap:var(--space-md);display:flex}.contact-info-icon{width:24px;height:24px;color:var(--color-primary);flex-shrink:0;margin-top:2px}.contact-info-label{font-size:var(--fs-xs);color:var(--color-gray-mid);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;display:block}.contact-info-value{font-size:var(--fs-base);color:var(--color-white);transition:color var(--transition-fast);font-weight:500;line-height:1.4;display:block}a.contact-info-value:hover{color:var(--color-primary)}.contact-social__title{font-size:var(--fs-xs);color:var(--color-gray-mid);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-md);padding-top:var(--space-xl);border-top:1px solid #ffffff1a;display:block}.contact-social__link{color:var(--color-primary);font-weight:600;font-size:var(--fs-base);transition:color var(--transition-fast);align-items:center;display:inline-flex}.contact-social__link:hover{color:var(--color-primary-light)}@media (width<=1024px){.contact-sec__inner{gap:var(--space-2xl);grid-template-columns:1fr}.contact-info-card{padding:var(--space-xl)}}@media (width<=640px){.contact-sec{overflow-x:hidden}.contact-sec__inner{gap:var(--space-xl)}.contact-form{margin-top:var(--space-md);gap:var(--space-md)}.contact-form__row{grid-template-columns:1fr}.contact-form__input{font-size:var(--fs-sm);padding:12px 14px}.contact-form__submit{box-sizing:border-box;width:100%;max-width:100%;font-size:var(--fs-xs);letter-spacing:1px;white-space:normal;text-align:center;word-break:break-word;justify-content:center;padding:14px 16px}.contact-info-card{padding:var(--space-lg) var(--space-md);box-sizing:border-box;width:100%}.contact-info-card__title{font-size:var(--fs-lg);margin-bottom:var(--space-md)}.contact-info-list{margin-bottom:var(--space-lg);gap:24px}.contact-info-value{font-size:var(--fs-sm);word-break:break-word}}.footer{background-color:var(--color-dark);color:var(--color-white);padding-top:var(--space-2xl);border-top:1px solid #ffffff0d}.footer__top{justify-content:space-between;gap:var(--space-xl);padding-bottom:var(--space-2xl);border-bottom:1px solid #ffffff1a;display:flex}.footer__brand{max-width:320px}.footer__logo{width:auto;height:56px;margin-bottom:var(--space-md);opacity:.95}.footer__desc{font-size:var(--fs-sm);color:var(--color-gray-mid);line-height:1.6}.footer__links{gap:var(--space-2xl);display:flex}.footer__title{font-family:var(--font-body);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:1px;color:var(--color-primary);margin-bottom:var(--space-lg);font-weight:700}.footer__nav ul,.footer__social ul{gap:var(--space-md);flex-direction:column;display:flex}.footer__nav a,.footer__social a{font-size:var(--fs-sm);color:var(--color-gray-light);transition:color var(--transition-fast)}.footer__nav a:hover,.footer__social a:hover{color:var(--color-white)}.footer__bottom{padding:var(--space-lg) 0;color:var(--color-gray-mid);justify-content:space-between;align-items:center;font-size:13px;display:flex}.footer__credits-name{color:var(--color-white);font-weight:600}@media (width<=768px){.footer{padding-top:var(--space-lg)}.footer__top{flex-direction:column}.footer__links{gap:var(--space-xl);flex-direction:column}.footer__bottom{gap:var(--space-md);text-align:center;flex-direction:column}}@media (width<=500px){.footer__logo{height:42px;margin-bottom:var(--space-md)}}.project-detail{background-color:var(--color-white);padding-top:var(--navbar-height)}.project-detail__hero{height:60vh;min-height:400px;padding-bottom:var(--space-2xl);background-position:50%;background-size:cover;align-items:flex-end;display:flex;position:relative}.project-detail__hero-overlay{background:linear-gradient(#1414141a 0%,#1414144d 50%,#141414e6 100%);position:absolute;inset:0}.project-detail__hero-content{z-index:2;color:var(--color-white);animation:.8s both fadeInUp;position:absolute}.project-detail__category{background-color:var(--color-primary);color:var(--color-white);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:var(--space-md);border-radius:2px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-block}.project-detail__title{font-family:var(--font-heading);font-size:clamp(2.5rem, 5vw, var(--fs-4xl));margin-bottom:var(--space-sm);font-weight:700;line-height:1.1}.project-detail__location{font-size:var(--fs-lg);color:#fffc}.project-detail__content{padding:var(--space-3xl) var(--container-pad)}.project-detail__grid{gap:var(--space-3xl);grid-template-columns:300px 1fr;align-items:start;display:grid}.project-detail__meta{border-radius:var(--radius-md);gap:var(--space-lg);flex-direction:column;display:flex}.project-detail__meta-item{flex-direction:column;gap:4px;display:flex}.project-detail__meta-label{font-size:var(--fs-xs);color:var(--color-gray-mid);text-transform:uppercase;letter-spacing:1px;font-weight:600}.project-detail__meta-value{font-size:var(--fs-base);color:var(--color-dark);font-weight:500}.project-detail__meta-value--area{flex-direction:column;gap:3px;display:flex}.project-detail__area-line{display:block}.project-detail__subtitle{font-family:var(--font-heading);font-size:var(--fs-2xl);color:var(--color-dark)}.project-detail__text{font-size:var(--fs-base);color:var(--color-gray-dark);white-space:pre-line;line-height:1.9}.project-detail__gallery{padding-bottom:var(--space-4xl);margin-bottom:var(--space-2xl)}.project-detail__gallery-justified{flex-wrap:wrap;gap:12px;width:100%;display:flex}.project-detail__gallery-justified:after{content:"";flex-grow:1000000000;min-width:120px;height:0}.project-detail__justified-item{border-radius:var(--radius-md,8px);cursor:pointer;background-color:var(--color-off-white);content-visibility:auto;contain-intrinsic-size:280px 360px;border:1px solid #00000014;height:280px;max-height:360px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 4px 14px #0000000d}.project-detail__justified-item:hover{z-index:2;transform:translateY(-3px);box-shadow:0 12px 24px #0000001f}.project-detail__justified-item img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.project-detail__justified-item:hover img{transform:scale(1.03)}.project-detail__justified-overlay{opacity:0;z-index:2;background:linear-gradient(#1113 0%,#1111111a 50%,#111111b3 100%);flex-direction:column;justify-content:center;align-items:center;gap:6px;transition:opacity .25s;display:flex;position:absolute;inset:0}.project-detail__justified-item:hover .project-detail__justified-overlay{opacity:1}.project-detail__justified-overlay svg{color:#fff;filter:drop-shadow(0 2px 6px #00000080);width:28px;height:28px;transition:transform .25s;transform:scale(.9)}.project-detail__justified-item:hover .project-detail__justified-overlay svg{transform:scale(1)}.project-detail__justified-overlay-text{color:#ffffffeb;letter-spacing:.5px;text-transform:uppercase;filter:drop-shadow(0 2px 4px #0006);font-size:11px;font-weight:500;transition:transform .25s;transform:translateY(3px)}.project-detail__justified-item:hover .project-detail__justified-overlay-text{transform:translateY(0)}.lightbox-modal{z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-user-select:none;user-select:none;background-color:#0a0a0af0;justify-content:center;align-items:center;animation:.25s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-modal__content{justify-content:center;align-items:center;max-width:90vw;max-height:85vh;display:flex;position:relative}.lightbox-modal__img{object-fit:contain;border-radius:var(--radius-sm);max-width:100%;max-height:85vh;animation:.25s ease-out zoomIn;box-shadow:0 10px 40px #0009}@keyframes zoomIn{0%{opacity:.8;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.lightbox-modal__close{color:#fff;cursor:pointer;z-index:1010;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:24px;transition:background .2s,transform .2s;display:flex;position:absolute;top:24px;right:28px}.lightbox-modal__close:hover{background:#ffffff40;transform:scale(1.08)}.lightbox-modal__nav{color:#fff;cursor:pointer;z-index:1010;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;transition:background .2s,transform .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-modal__nav:hover{background:#ffffff40;transform:translateY(-50%)scale(1.08)}.lightbox-modal__nav--prev{left:24px}.lightbox-modal__nav--next{right:24px}.lightbox-modal__counter{color:#ffffffd9;letter-spacing:1px;background:#00000080;border:1px solid #ffffff1a;border-radius:20px;padding:6px 16px;font-size:14px;font-weight:500;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.project-detail__nav{padding:var(--space-xl) 0 var(--space-3xl);border-top:1px solid var(--color-gray-light)}@media (width<=992px){.project-detail__grid{gap:var(--space-xl);grid-template-columns:1fr}.project-detail__justified-item{height:230px}.project-detail__content{padding:var(--space-xl) var(--container-pad)}}@media (width<=600px){.project-detail__gallery-justified{gap:8px}.project-detail__justified-item{height:180px;flex-grow:1!important}.lightbox-modal__nav{width:40px;height:40px}.lightbox-modal__nav--prev{left:10px}.lightbox-modal__nav--next{right:10px}}.all-projects{background-color:var(--color-gray-bg);min-height:100vh}.all-projects__header{padding-top:calc(var(--navbar-height) + var(--space-2xl));padding-bottom:var(--space-2xl)}.all-projects__content{padding:var(--space-2xl) 0 var(--space-3xl)}.all-projects__filters{gap:var(--space-md);margin-bottom:var(--space-xl);margin-top:var(--space-xl);flex-wrap:wrap;justify-content:center;display:flex}.all-projects__filter-btn{font-family:var(--font-body);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:1px;color:var(--color-gray-dark);background-color:var(--color-white);transition:all var(--transition-fast);border:1px solid #00000014;border-radius:30px;padding:10px 24px;font-weight:700}.all-projects__filter-btn:hover{background-color:var(--color-gray-light);color:var(--color-dark)}.all-projects__filter-btn.active{background-color:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-sm);border-color:var(--color-primary)}.all-projects__grid{gap:var(--space-xl);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.all-projects__empty{text-align:center;color:var(--color-gray);padding:var(--space-2xl) 0;font-size:var(--fs-lg)}@media (width<=768px){.all-projects__header{padding-top:calc(var(--navbar-height) + var(--space-xl));padding-bottom:var(--space-xl)}.all-projects__content{padding:var(--space-xl) 0 var(--space-2xl)}.all-projects__grid{gap:var(--space-xl);grid-template-columns:1fr;max-width:520px;margin:0 auto}}@media (width<=480px){.all-projects__header{padding-top:calc(var(--navbar-height) + var(--space-lg));padding-bottom:var(--space-lg)}.all-projects__content{padding:var(--space-lg) 0 var(--space-xl)}.all-projects__grid{gap:var(--space-lg)}}.service-detail-page{background-color:var(--color-gray-bg);padding-top:var(--navbar-height)}.service-detail-hero{min-height:calc(100vh - var(--navbar-height));background-image:linear-gradient(#ebe8e3cc, #ebe8e3cc), var(--hero-bg-image,url(/FondoServicios.jpeg));padding:var(--space-3xl) 0;background-position:50%;background-repeat:no-repeat;background-size:cover;align-items:center;display:flex;position:relative;overflow:hidden}.service-detail-hero__band{mix-blend-mode:multiply;z-index:1;background-color:#cad900;height:320px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.service-detail-hero__container{z-index:2;justify-content:flex-end;width:100%;display:flex;position:relative}.service-detail-card{color:var(--color-white);padding:var(--space-xl);border-radius:var(--radius-sm);width:100%;max-width:650px;box-shadow:var(--shadow-lg);gap:var(--space-md);-webkit-backdrop-filter:blur(8px);background-color:#2b2b2bf0;border:1px solid #ffffff0d;flex-direction:column;display:flex}.service-detail-card__header{border-bottom:2px solid var(--color-primary);padding-bottom:var(--space-sm)}.service-detail-card__title{font-family:var(--font-body);font-size:var(--fs-lg);color:var(--color-white);text-transform:uppercase;letter-spacing:1px;font-weight:700;line-height:1.3}.service-detail-card__body{gap:var(--space-md);flex-direction:column;display:flex}.service-detail-card__description{font-size:var(--fs-sm);color:#ffffffe6;line-height:1.8}.service-detail-card__ver-mas{font-size:var(--fs-sm);border-left:3px solid var(--color-primary);padding-left:var(--space-md);margin:var(--space-xs) 0;line-height:1.8}.ver-mas-label{color:var(--color-primary-light);margin-right:var(--space-xs);font-style:italic;font-weight:700}.ver-mas-text{color:#ffffffe6}.service-detail-card__subsections{gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-sm);background-color:#ffffff08;border:1px solid #ffffff0d;flex-direction:column;display:flex}.service-detail-card__sub-item{font-size:var(--fs-sm);color:#ffffffd9;line-height:1.7}.service-detail-card__sub-item strong{color:var(--color-primary);letter-spacing:.5px;margin-bottom:2px;font-weight:700;display:block}.service-detail-card__list-section{margin-top:var(--space-xs)}.service-detail-card__list-title{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--color-white);margin-bottom:var(--space-sm);font-weight:700}.service-detail-card__list{gap:var(--space-sm);flex-direction:column;display:flex}.service-detail-card__list-item{align-items:flex-start;gap:var(--space-sm);display:flex}.list-item-check{color:var(--color-primary);font-weight:700;font-size:var(--fs-base);-webkit-user-select:none;user-select:none;line-height:1}.list-item-text{font-size:var(--fs-sm);color:#ffffffd9;line-height:1.6}.service-detail-card__footer{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;display:flex}.service-detail-card__back-btn{color:#fff9;font-family:var(--font-body);font-weight:600;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:1.5px;transition:color var(--transition-fast), transform var(--transition-fast);align-items:center;display:inline-flex}.service-detail-card__back-btn:hover{color:var(--color-primary);transform:translate(-4px)}.service-detail-card__logo{opacity:.95;filter:drop-shadow(0 2px 4px #0003);width:auto;height:48px}@media (width<=1024px){.service-detail-hero__container{justify-content:center}.service-detail-card{max-width:600px}}@media (width<=768px){.service-detail-hero{padding:var(--space-xl) 0}.service-detail-hero__band{height:400px}.service-detail-card{padding:var(--space-lg);gap:var(--space-sm)}.service-detail-card__title{font-size:var(--fs-md)}.service-detail-card__logo{height:40px}}@media (width<=480px){.service-detail-hero__band{height:320px}.service-detail-card{box-shadow:var(--shadow-lg);padding:var(--space-md);border-radius:var(--radius-sm);background-color:#2b2b2bf0;border:1px solid #ffffff0d;width:100%;margin:0}}.preloader{z-index:99999;backface-visibility:hidden;will-change:opacity, transform;background-color:#141414;background-image:radial-gradient(circle,#222 0%,#0d0d0d 100%);justify-content:center;align-items:center;transition:opacity .55s cubic-bezier(.25,1,.5,1),transform .55s cubic-bezier(.25,1,.5,1);display:flex;position:fixed;inset:0;overflow:hidden}.preloader--hiding{opacity:0;pointer-events:none;transition:opacity .55s cubic-bezier(.25,1,.5,1),transform .55s cubic-bezier(.25,1,.5,1);transform:scale(1.02)}.preloader--hiding .preloader__glow{transition:opacity .3s;opacity:0!important}.preloader__content{text-align:center;z-index:2;backface-visibility:hidden;flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex;position:relative}.preloader__logo-wrap{justify-content:center;align-items:center;width:160px;height:130px;display:flex;position:relative}.preloader__logo-e{backface-visibility:hidden;width:160px;height:130px;animation:1.8s cubic-bezier(.16,1,.3,1) forwards logoPulse;transform:translateZ(0)}.e-part{opacity:0;transform-origin:50%;animation:.9s forwards partAppear}.e-front{animation-delay:.1s}.e-dark{animation-delay:.3s}.e-shadow1,.e-shadow2{animation-delay:.5s}.e-inner1,.e-inner2,.e-inner3,.e-inner4{animation-delay:.7s}.preloader__glow{pointer-events:none;z-index:-1;background:radial-gradient(circle,#ccd12e24 0%,#ccd12e00 70%);border-radius:50%;width:240px;height:240px;animation:1.8s ease-in-out infinite alternate glowPulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.preloader__text{flex-direction:column;align-items:center;gap:4px;display:flex}.preloader__title{letter-spacing:7px;color:#fff;opacity:0;font-family:Montserrat,sans-serif;font-size:1.6rem;font-weight:800;animation:.8s .4s forwards textFadeIn}.preloader__subtitle{letter-spacing:8px;color:#ccd12e;text-transform:uppercase;opacity:0;font-family:Montserrat,sans-serif;font-size:.75rem;font-weight:600;animation:.8s .6s forwards textFadeIn}.preloader__bar-container{background-color:#ffffff1a;border-radius:2px;width:170px;height:2px;margin-top:8px;position:relative;overflow:hidden}.preloader__bar-fill{background-color:#ccd12e;width:0%;height:100%;animation:1.9s cubic-bezier(.4,0,.2,1) .2s forwards barProgress;box-shadow:0 0 12px #ccd12e}@keyframes partAppear{0%{opacity:0;transform:translateY(14px)scale(.88)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes logoPulse{0%{opacity:0;transform:scale(.75)}40%{opacity:1;transform:scale(1.06)}70%{transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes glowPulse{0%{opacity:.35;transform:translate(-50%,-50%)scale(.8)}to{opacity:.85;transform:translate(-50%,-50%)scale(1.2)}}@keyframes textFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes barProgress{0%{width:0%}50%{width:65%}to{width:100%}}
