:root{--carbon:oklch(16% .01 60);--white:oklch(97% .005 75);--on-dark-ch:97% .005 75;--gold:oklch(78% .1 85);--gold-dark:oklch(58% .09 85);--bg-ch:16% .01 60;--bg-alt-ch:21% .01 60;--bg-alt2-ch:26% .012 60;--fg-ch:97% .005 75;--bg:oklch(var(--bg-ch));--bg-alt:oklch(var(--bg-alt-ch));--bg-alt-2:oklch(var(--bg-alt2-ch));--fg:oklch(var(--fg-ch));--accent:var(--gold);--numeral-a:var(--gold);--numeral-b:var(--gold-dark);--line:oklch(var(--fg-ch) / .15);--line-strong:oklch(var(--fg-ch) / .4);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font:"Archivo", sans-serif;--container-max:1320px;--gap-section:clamp(64px, 9vw, 140px);--ease-premium:cubic-bezier(.16,.84,.44,1)}:root[data-theme=light]{--bg-ch:97.5% .007 80;--bg-alt-ch:94% .01 80;--bg-alt2-ch:90% .012 80;--fg-ch:20% .012 60;--accent:oklch(46% .1 75);--numeral-a:oklch(62% .11 80);--numeral-b:oklch(47% .1 78);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.hero,.project-card,.proyectos-nav,.creditos,.site-header:not(.is-scrolled) .header-inner{--fg-ch:var(--on-dark-ch);--fg:var(--white);--accent:var(--gold);--line:oklch(var(--on-dark-ch) / .15);--line-strong:oklch(var(--on-dark-ch) / .4);color:var(--fg)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);transition:background-color .35s var(--ease-premium), color .35s var(--ease-premium);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-weight:300;line-height:1.5}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}ul{margin:0;padding:0;list-style:none}h1,h2,h3,p,blockquote,figure{margin:0}::selection{background:oklch(78% .1 85/.3)}.container{max-width:var(--container-max);margin-inline:auto;padding-inline:clamp(20px,4vw,56px)}.skip-link{z-index:1000;background:var(--gold);color:var(--carbon);padding:12px 20px;font-weight:700;position:absolute;top:0;left:-999px}.skip-link:focus{top:16px;left:16px}.accent{color:var(--accent)}.vertical-label{writing-mode:vertical-rl;font:700 11px/1 var(--font);letter-spacing:.22em;text-transform:uppercase;color:oklch(var(--fg-ch) / .55)}.section-title{font:800 clamp(32px, 4.4vw, 40px)/1.2 var(--font);text-transform:uppercase;letter-spacing:.02em}.lead{font:300 clamp(17px, 1.6vw, 20px)/1.6 var(--font);color:oklch(var(--fg-ch) / .9);margin-bottom:20px}.body{font:300 16px/1.7 var(--font);color:oklch(var(--fg-ch) / .65);margin-bottom:20px}.callout{font:800 clamp(20px, 2vw, 26px)/1.3 var(--font);text-transform:uppercase;letter-spacing:.02em;color:var(--accent);margin-bottom:40px}.btn{font:700 12px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.btn-pill{border-radius:100px;padding:13px 24px}.btn-gold{background:var(--gold);color:var(--carbon);transition:background .3s var(--ease-premium), transform .3s var(--ease-premium)}.btn-gold:hover{background:var(--fg);color:var(--bg)}.btn-gold .btn-arrow{transition:transform .3s var(--ease-premium)}.btn-gold:hover .btn-arrow{transform:translate(4px)}.btn-outline{border:1px solid var(--line-strong);color:var(--fg)}.link-underline{font:600 13px/1 var(--font);color:var(--accent);border-bottom:1px solid var(--accent);transition:opacity .3s var(--ease-premium);padding-bottom:2px;display:inline-block}.link-underline:hover{opacity:.7}.numeral-block{align-items:center;gap:24px;display:flex}.numeral{font:800 clamp(56px, 7vw, 96px)/1 var(--font);background:repeating-linear-gradient(135deg, var(--numeral-a), var(--numeral-a) 6px, var(--numeral-b) 6px, var(--numeral-b) 12px);color:#0000;-webkit-background-clip:text;background-clip:text}.numeral-caption{font:600 12px/1.5 var(--font);letter-spacing:.05em;text-transform:uppercase;color:oklch(var(--fg-ch) / .5);max-width:160px}.site-header{inset-inline:0;z-index:100;transition:background .4s var(--ease-premium), backdrop-filter .4s var(--ease-premium);background:linear-gradient(oklch(10% .01 60/.55),#0000);position:fixed;top:0}.site-header.is-scrolled{background:oklch(var(--bg-ch) / .92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.header-inner{justify-content:space-between;align-items:center;padding-block:20px;display:flex}.logo img{width:auto;height:48px}.main-nav{align-items:center;gap:36px;display:flex}.main-nav>a:not(.btn){font:600 12px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;position:relative}.main-nav>a:not(.btn):after{content:"";background:var(--gold);height:1px;transition:right .3s var(--ease-premium);position:absolute;bottom:-6px;left:0;right:100%}.main-nav>a:not(.btn):hover:after{right:0}.lang-switch{border:1px solid var(--line-strong);border-radius:100px;align-items:center;gap:2px;padding:3px;display:flex}.lang-opt{min-width:36px;height:28px;font:700 11px/1 var(--font);letter-spacing:.08em;color:var(--fg);opacity:.6;transition:background .3s var(--ease-premium), color .3s var(--ease-premium), opacity .3s var(--ease-premium);border-radius:100px;place-items:center;padding:0 10px;display:grid}a.lang-opt:hover{opacity:1}.lang-opt.is-active{background:var(--gold);color:var(--carbon);opacity:1}.theme-switch{border:1px solid var(--line-strong);border-radius:100px;align-items:center;gap:2px;padding:3px;display:flex}.theme-btn{width:28px;height:28px;color:var(--fg);opacity:.6;transition:background .3s var(--ease-premium), color .3s var(--ease-premium), opacity .3s var(--ease-premium);border-radius:50%;place-items:center;display:grid}.theme-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.theme-btn:hover{opacity:1}.theme-btn[aria-pressed=true]{background:var(--gold);color:var(--carbon);opacity:1}.mobile-nav .nav-tools{align-items:center;gap:12px;margin-top:16px;display:flex}.menu-toggle{flex-direction:column;gap:5px;width:24px;padding:4px;display:none}.menu-toggle span{background:var(--fg);width:100%;height:1.6px;transition:transform .3s,opacity .3s;display:block}.menu-toggle.is-open span:first-child{transform:translateY(6.6px)rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){transform:translateY(-6.6px)rotate(-45deg)}.mobile-nav{background:oklch(var(--bg-ch) / .98);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;gap:4px;padding:0 20px 24px;display:none}.mobile-nav>a{font:600 13px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--line);padding:14px 4px}.mobile-nav>a.btn{text-align:center;border:none;justify-content:center;margin-top:12px}.mobile-nav.is-open{display:flex}.hero{isolation:isolate;align-items:flex-end;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-media{z-index:-2;position:absolute;inset:-10% 0 0}.hero-video{object-fit:cover;width:100%;height:110%}.hero-overlay{background:linear-gradient(oklch(10% .01 60/.55),oklch(10% .01 60/.3) 45%,oklch(10% .01 60/.8));position:absolute;inset:0}.hero-microlabel{z-index:1;position:absolute;top:120px;bottom:140px;left:clamp(16px,2vw,24px)}.hero-content{z-index:1;width:100%;padding-bottom:clamp(48px,6vw,72px);position:relative}.hero-quote{max-width:1000px;min-height:clamp(140px,22vw,200px)}.hero-quote-text{font:800 clamp(28px, 4.6vw, 58px)/1.2 var(--font);text-transform:uppercase;letter-spacing:.01em;text-wrap:pretty;margin-bottom:18px}.hero-quote-text .word,.reveal-split .word{display:inline-block}.hero-quote-author{font:600 13px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;color:oklch(var(--fg-ch) / .6);font-style:normal}.hero-controls{align-items:center;gap:16px;margin-top:36px;display:flex}.hero-counter{letter-spacing:.05em;color:oklch(var(--fg-ch) / .7);font:600 13px/1 ui-monospace,monospace}.hero-count-sep{color:oklch(var(--fg-ch) / .3)}.hero-progress{gap:8px;display:flex}.hero-progress-bar{background:oklch(var(--fg-ch) / .35);width:10px;height:2px;transition:width .4s var(--ease-premium), background .4s var(--ease-premium)}.hero-progress-bar.is-active{background:var(--gold);width:28px}.hero-nav{z-index:1;gap:14px;display:flex;position:absolute;bottom:clamp(48px,6vw,56px);right:clamp(20px,4vw,56px)}.hero-nav-btn{border:1px solid var(--line-strong);width:38px;height:38px;transition:transform .3s var(--ease-premium), border-color .3s var(--ease-premium), background .3s var(--ease-premium);border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.hero-nav-btn:hover{background:oklch(var(--fg-ch) / .08);transform:scale(1.08)}.hero-nav-btn--accent{border-color:var(--gold);color:var(--gold)}.nosotros{padding-block:var(--gap-section)}.nosotros-grid{grid-template-columns:300px 1fr;gap:80px;margin-bottom:88px;display:grid}.nosotros-copy{max-width:760px}.clients-label{font:700 11px/1 var(--font);letter-spacing:.1em;text-transform:uppercase;color:oklch(var(--fg-ch) / .5);margin-bottom:28px}.clients-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.clients-track{filter:grayscale()brightness(1.6);will-change:transform;gap:10px;width:max-content;animation:50s linear infinite clients-marquee;display:flex}:root[data-theme=light] .clients-track{filter:grayscale()}.clients-marquee:hover .clients-track{animation-play-state:paused}@keyframes clients-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.clients-track{animation:none}}.client-logo{flex:none;justify-content:center;align-items:center;width:240px;height:120px;display:flex}.client-logo img{object-fit:contain;width:auto;max-width:100%;height:100%}@media (width<=640px){.client-logo{width:180px;height:90px}}.equipo{padding-block:var(--gap-section);background:var(--bg-alt);transition:background-color .35s var(--ease-premium);position:relative}.equipo .container{position:relative}.equipo-microlabel{position:absolute;top:160px;left:-8px}.section-intro{max-width:520px;font:300 16px/1.6 var(--font);color:oklch(var(--fg-ch) / .6);margin-top:16px;margin-bottom:56px}.team-grid{grid-template-columns:repeat(4,1fr);gap:28px;display:grid}.team-photo{aspect-ratio:4/5;background:var(--bg-alt-2);width:100%;margin-bottom:14px;overflow:hidden}.team-photo img{object-fit:cover;filter:grayscale();width:100%;height:100%;transition:filter .5s var(--ease-premium), transform .6s var(--ease-premium)}.team-card:hover .team-photo img{filter:grayscale(0);transform:scale(1.04)}.team-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.team-name{font:600 15px/1.3 var(--font)}.team-role{font:600 11px/1.4 var(--font);letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.team-linkedin{border:1px solid var(--line-strong);width:24px;height:24px;font:600 10px/1 var(--font);transition:background .3s var(--ease-premium), color .3s var(--ease-premium);flex:none;justify-content:center;align-items:center;display:flex}.team-linkedin:hover{background:var(--gold);color:var(--carbon);border-color:var(--gold)}.proyectos{padding-block:var(--gap-section) 0}.proyectos-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:40px;display:flex}.proyectos-filter{gap:8px;display:flex}.filter-btn{font:700 11px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line-strong);color:var(--fg);transition:background .3s var(--ease-premium), color .3s var(--ease-premium), border-color .3s var(--ease-premium);border-radius:100px;padding:11px 20px}.filter-btn.is-active{background:var(--gold);color:var(--carbon);border-color:var(--gold)}.proyectos-gallery{padding-bottom:var(--gap-section);position:relative}.proyectos-track-wrap{scroll-snap-type:x proximity;scrollbar-width:none;overflow-x:auto}.proyectos-track-wrap::-webkit-scrollbar{display:none}.proyectos-track{gap:2px;padding-inline:clamp(20px,4vw,56px);display:flex}.proyectos-nav{z-index:5;width:48px;height:48px;color:var(--white);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .3s var(--ease-premium), color .3s var(--ease-premium), transform .3s var(--ease-premium);background:oklch(16% .01 60/.4);border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.proyectos-nav:hover{color:var(--carbon);border-color:var(--gold);background:oklch(78% .1 85/.85)}.proyectos-nav--prev{left:clamp(8px,2vw,24px)}.proyectos-nav--next{right:clamp(8px,2vw,24px)}@media (width<=640px){.proyectos-nav{width:36px;height:36px;font-size:14px}}.project-card{scroll-snap-align:start;flex:none;width:min(460px,82vw);height:clamp(360px,46vw,560px);display:none;position:relative;overflow:hidden}.project-card[data-category=ejecucion]{display:block}.proyectos-track.show-ejecutados .project-card[data-category=ejecucion]{display:none}.proyectos-track.show-ejecutados .project-card[data-category=ejecutados]{display:block}.project-media{transition:transform .7s var(--ease-premium);background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.001)}.project-card:hover .project-media{transform:scale(1.08)}.project-overlay{background:linear-gradient(oklch(10% .01 60/.05),oklch(10% .01 60/.7));position:absolute;inset:0}.project-label-vertical{writing-mode:vertical-rl;font:700 10px/1 var(--font);letter-spacing:.22em;text-transform:uppercase;color:oklch(var(--fg-ch) / .55);position:absolute;top:24px;bottom:24px;left:16px}.project-info{position:absolute;bottom:28px;left:40px;right:24px}.project-name{font:800 clamp(18px, 2vw, 24px)/1.25 var(--font);text-transform:uppercase;letter-spacing:.01em;margin-bottom:6px}.project-area{color:var(--gold);font:600 13px/1 ui-monospace,monospace}.ubicaciones{padding-block:calc(var(--gap-section) * .55) var(--gap-section);background:var(--bg-alt);transition:background-color .35s var(--ease-premium)}.locations-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.location-card{background:var(--bg);border:1px solid var(--line);transition:background-color .35s var(--ease-premium)}.location-map{background-color:var(--bg-alt-2);background-image:radial-gradient(oklch(var(--fg-ch) / .18) 1.5px, transparent 1.5px);background-size:18px 18px;height:160px;position:relative}.location-pin{background:var(--gold);border-radius:50%;width:14px;height:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 6px oklch(78% .1 85/.18)}.location-body{padding:24px}.location-city{font:600 18px/1.3 var(--font);margin-bottom:6px}.location-detail{font:300 14px/1.5 var(--font);color:oklch(var(--fg-ch) / .55);margin-bottom:16px}.contacto{padding-block:var(--gap-section)}.contacto-grid{grid-template-columns:1fr 520px;gap:80px;display:grid}.contacto-intro .section-title{margin-bottom:20px}.contacto-intro .body{max-width:380px;color:oklch(var(--fg-ch) / .55)}.contacto-form{flex-direction:column;gap:20px;display:flex;position:relative}.field-group label{font:600 11px/1 var(--font);letter-spacing:.05em;text-transform:uppercase;color:oklch(var(--fg-ch) / .45);margin-bottom:8px;display:block}.field-group input,.field-group textarea{border:none;border-bottom:1px solid var(--line-strong);width:100%;color:var(--fg);font:300 16px/1.5 var(--font);resize:none;transition:border-color .3s var(--ease-premium);background:0 0;padding-bottom:10px}.field-group input:focus,.field-group textarea:focus{border-color:var(--accent);outline:none}.field-group input::placeholder,.field-group textarea::placeholder{color:oklch(var(--fg-ch) / .3)}.field-hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contacto-form button[type=submit]{width:fit-content;margin-top:8px}.contacto-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.form-status{font:300 13px/1.5 var(--font);border:1px solid #0000;padding:14px 16px;display:none}.form-status.is-visible{display:block}.form-status.is-success{color:var(--fg);background:oklch(78% .1 85/.1);border-color:oklch(78% .1 85/.4)}.form-status.is-error{background:oklch(var(--fg-ch) / .04);border-color:oklch(var(--fg-ch) / .2);color:var(--fg)}.site-footer{border-top:1px solid var(--line);padding-block:48px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.footer-inner .logo{font:800 16px/1 var(--font);text-transform:uppercase;letter-spacing:.06em}.social-list{gap:14px;display:flex}.social-list a{border:1px solid var(--line-strong);width:32px;height:32px;font:600 11px/1 var(--font);transition:background .3s var(--ease-premium), color .3s var(--ease-premium);justify-content:center;align-items:center;display:flex}.social-list a:hover{background:var(--gold);color:var(--carbon);border-color:var(--gold)}.footer-copy{font:12px/1 var(--font);color:oklch(var(--fg-ch) / .45)}.footer-copy a{color:oklch(var(--fg-ch) / .7);text-underline-offset:2px;text-decoration:underline}.creditos{text-align:center;background:#000;padding:16px 20px}.creditos__link{font:600 11px/1 var(--font);letter-spacing:.02em;color:oklch(var(--fg-ch) / .5);transition:color .3s var(--ease-premium);align-items:center;gap:8px;display:inline-flex}.creditos__link:hover{color:var(--white)}.creditos__logo{width:auto;height:16px}.whatsapp-float{z-index:90;background:var(--gold);color:var(--carbon);font:700 13px/1 var(--font);opacity:0;pointer-events:none;transition:background .3s var(--ease-premium), opacity .4s var(--ease-premium), transform .4s var(--ease-premium), bottom .3s var(--ease-premium);border-radius:100px;align-items:center;gap:9px;padding:14px 22px;display:inline-flex;position:fixed;bottom:clamp(16px,3vw,24px);right:clamp(16px,3vw,24px);transform:translateY(16px)scale(.92);box-shadow:0 10px 24px oklch(10% .01 60/.35)}.whatsapp-float.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.whatsapp-float:hover{background:var(--fg);color:var(--bg)}.whatsapp-float:active{background:var(--gold-dark);transform:scale(.97)}@media (width<=1023px){.main-nav{display:none}.menu-toggle{display:flex}.nosotros-grid{grid-template-columns:1fr;gap:32px}.equipo-microlabel{display:none}.team-grid{grid-template-columns:repeat(3,1fr);gap:20px}.contacto-grid{grid-template-columns:1fr;gap:48px}.contacto-intro .body{max-width:100%}.location-map{height:120px}}@media (width<=640px){:root{--gap-section:64px}.team-grid{grid-template-columns:repeat(2,1fr);gap:16px}.locations-grid{grid-template-columns:1fr}.hero-quote-text{font-size:clamp(26px,8vw,32px)}.hero-microlabel{display:none}.project-card{width:84vw;height:62vw}.whatsapp-label{display:none}.whatsapp-float{padding:14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.001ms!important;animation-duration:.001ms!important}}
