/*!
--------------------------------------------------------------------------
GENERAL
--------------------------------------------------------------------------
*/html{scroll-padding-top:80px}.color-background{background:#0c0c0c!important}.decoration-line-top{border-top:1px solid #f3f3f3;padding-top:25px}.decoration-line-top-grey{border-top:1px solid #7e7e7e;padding-top:25px}section[id]{scroll-margin-top:80px}section{background:#0c0c0c;position:relative;overflow:hidden;padding-top:0;padding-bottom:0;margin-bottom:var(--space-150)}section:last-of-type{margin-bottom:0}footer{margin-top:0;padding-top:250px;padding-bottom:50px;position:relative;overflow:hidden}.fadeIn{opacity:1!important}body{background:#0c0c0c;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#f3f3f3;font-size:clamp(15px, calc(14.17px + .222vw), 18px);line-height:clamp(22px, calc(21.17px + .222vw), 25px);font-family:NeueMontreal-Regular,sans-serif!important}p{color:#7e7e7e}.white-text{color:#f3f3f3!important}ul{list-style:none;margin:0;padding:0}img{max-width:100%;width:100%}.container{padding-left:0;padding-right:0;width:94%;max-width:1920px}a{color:#f3f3f3;text-decoration:none}a:hover{color:#f3f3f3;text-decoration:none}a,a:active,a:focus,a:hover,a:link,a:visited{text-decoration:none;outline:0}.row{display:flex;flex-wrap:wrap;align-items:stretch;margin-left:-17px;margin-right:-17px}.no-flex{display:block}@media (max-width:1280px){.custom-half{width:50%!important}}@media (max-width:768px){.custom-half{width:100%!important}}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:17px!important;padding-right:17px!important}.full-width{padding-right:0!important;padding-left:0!important;width:100%}.img-fullwidth{display:block;width:100vw;max-width:1920px;height:auto;margin-left:50%;transform:translateX(-50%)}.row.pie-proyecto{align-items:baseline}/*!
--------------------------------------------------------------------------
SECTION DARK
--------------------------------------------------------------------------
*/.section-dark{background:#f3f3f3;padding-top:var(--space-100);padding-bottom:var(--space-50)}.section-dark a,.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4,.section-dark li,.section-dark p{color:#0c0c0c}.section-dark .font-01,.section-dark .font-02,.section-dark .font-03,.section-dark .ul-01,.section-dark .ul-02,.section-dark .ul-03{color:#0c0c0c}.section-dark a:hover{color:#0c0c0c}/*!
--------------------------------------------------------------------------
ESPACIADOS
--------------------------------------------------------------------------
*//*!

MARGIN TOP AND BOTTOM
--------------------------------------------------------------------------
*/:root{--space-250:clamp(100px, calc(50px + 13.8889vw), 250px);--space-225:clamp( 90px, calc(45px + 12.5vw),    225px);--space-200:clamp( 80px, calc(40px + 11.1111vw), 200px);--space-175:clamp( 70px, calc(35px +  9.7222vw), 175px);--space-150:clamp( 60px, calc(30px +  8.3333vw), 150px);--space-125:clamp( 50px, calc(25px +  6.9444vw), 125px);--space-100:clamp( 40px, calc(20px +  5.5556vw), 100px);--space-75:clamp( 30px, calc(15px +  4.1667vw),  75px);--space-50:clamp( 20px, calc(10px +  2.7778vw),  50px);--space-25:clamp( 10px, calc( 5px +  1.3889vw),  25px);--space-15:clamp(  6px, calc( 3px +  0.8333vw),  15px);--space-10:clamp(  4px, calc( 2px +  0.5556vw),  10px)}.mt-200{margin-top:var(--space-200)!important}.mt-100{margin-top:var(--space-100)!important}.mt-75{margin-top:var(--space-75)!important}.mt-50{margin-top:var(--space-50)!important}.mt-25{margin-top:var(--space-25)!important}.mb-150{margin-bottom:var(--space-150)!important}.mb-125{margin-bottom:var(--space-125)!important}.mb-100{margin-bottom:var(--space-100)!important}.mb-75{margin-bottom:var(--space-75)!important}.mb-50{margin-bottom:var(--space-50)!important}.mb-25{margin-bottom:var(--space-25)!important}.mb-15{margin-bottom:var(--space-15)!important}.mb-0{margin-bottom:0!important}.row.gap-100{row-gap:var(--space-100)}.row.gap-75{row-gap:var(--space-75)}.row.gap-50{row-gap:var(--space-50)}.row.gap-25{row-gap:var(--space-25)}.li-gap-100 li+li{margin-top:var(--space-100)}.li-gap-75 li+li{margin-top:var(--space-75)}.li-gap-50 li+li{margin-top:var(--space-50)}.li-gap-25 li+li{margin-top:var(--space-25)}.li-gap-10 li+li{margin-top:10px}.li-gap-5 li+li{margin-top:5px}/*!

PADDING TOP AND BOTTOM
--------------------------------------------------------------------------
*/.pt-100{padding-top:var(--space-100)!important}.pt-50{padding-top:var(--space-50)!important}.pb-50{padding-bottom:var(--space-50)!important}/*!

PADDING RIGHT AND LEFT AND GENERAL
--------------------------------------------------------------------------
*//*!
--------------------------------------------------------------------------
RECURSOS FUENTES
--------------------------------------------------------------------------
*/@font-face{font-family:NeueMontreal-Regular;src:url('../fuentes/PPNeueMontreal-Regular.woff2') format('woff2'),url('../fuentes/PPNeueMontreal-Regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:FeatureDisplay;src:url('../fuentes/FeatureDisplay-Light-Web.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Merriweather;src:url('../fuentes/Merriweather-Bold-JohnAppleman.woff2') format('woff2');font-weight:700;font-style:normal;font-stretch:100%;font-display:swap;unicode-range:U+20,U+41,U+4A,U+61,U+65,U+68,U+6C-70,U+AE}h1,h2,h3,h4,h5,h6{font-weight:400;margin-top:0;margin-bottom:0}/*!
--------------------------------------------------------------------------
ANIMACIONES
--------------------------------------------------------------------------
*/.fade-in-bottom{-webkit-transform:translateY(150px) translateZ(0);transform:translateY(150px) translateZ(0);-webkit-transition:opacity .8s ease,transform .8s ease;-o-transition:opacity .8s ease,transform .8s ease;transition:opacity .8s ease,transform .8s ease;opacity:0}.inView{opacity:1;-webkit-transform:translateY(0) translateZ(0);transform:translateY(0) translateZ(0)}.marquee-clientes{overflow:hidden}.marquee-track{display:flex;width:max-content;will-change:transform;backface-visibility:hidden;contain:layout style}.marquee-set{display:flex;align-items:center;gap:40px;padding-right:40px;flex-shrink:0}.marquee-set img{display:block;width:350px;height:auto;flex-shrink:0;padding-right:79px;filter:brightness(0) invert(.494)}.marquee-left{animation:marquee-scroll-left 40s linear infinite}.marquee-right{animation:marquee-scroll-right 40s linear infinite}@keyframes marquee-scroll-left{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(-50%,0,0)}}@keyframes marquee-scroll-right{0%{transform:translate3d(-50%,0,0)}100%{transform:translate3d(0,0,0)}}.marquee-track+.marquee-track{margin-top:30px}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}/*!

PROYECTOS STACK - Sticky con Parallax
--------------------------------------------------------------------------
*/section.proyectos-section{overflow:visible;padding-top:0;padding-bottom:0}.proyecto-card>.container{height:100%}.proyectos-stack{position:relative}.proyecto-card{position:sticky;top:80px;height:auto;padding:0 0 40px 0;box-sizing:border-box}.proyecto-card:first-child{z-index:1}.proyecto-card:nth-child(2){z-index:2}.proyecto-card:nth-child(3){z-index:3}.proyecto-card:nth-child(4){z-index:4}.proyecto-ventana{position:relative;width:100%;aspect-ratio:3154/1566;overflow:hidden;background:#f3f3f3}.proyecto-imagen{position:absolute;top:0;left:0;width:100%;height:130%;object-fit:cover;will-change:transform}.proyecto-info{position:absolute;bottom:40px;left:40px;z-index:10}.proyecto-info a{color:#0c0c0c;text-decoration:none;transition:opacity .3s ease}.proyecto-info a:hover{opacity:.7}/*!

OPINIONES
--------------------------------------------------------------------------
*/.logo-opinion{width:170px;height:auto;margin-top:20px;filter:brightness(0) invert(.494)}.logo-tint{width:85%;height:auto;filter:brightness(0) invert(.494)}@media (max-width:1380px){.logo-tint{width:95%}}@media (max-width:1280px){.logo-tint{width:100%}}@media (max-width:1150px) and (min-width:992px){.clientes img.logo-tint{width:110%;max-width:none;display:block;margin-left:-5%}}@media (max-width:991px){.logo-tint{width:85%}}@media (max-width:850px){.logo-tint{width:95%}}@media (max-width:767px){.logo-tint{width:75%}}/*!

PROYECTOS GALERÍA Parallax
--------------------------------------------------------------------------
*/.galeria-info-debajo{padding:15px 5px}.galeria-info-debajo .name-project{margin-top:0}.galeria-info-debajo a{color:#f3f3f3;text-decoration:none}.galeria-info-debajo a:hover{opacity:1}.galeria-ventana{position:relative;width:100%;overflow:hidden;background:#0c0c0c}.galeria-imagen{position:absolute;top:0;left:0;width:100%;height:130%;object-fit:cover;will-change:transform}a.galeria-ventana{display:block;cursor:pointer}a.galeria-ventana:hover{opacity:1}.galeria-ventana.no-parallax .galeria-imagen{height:100%;position:absolute;top:50%;transform:translateY(-50%)}.galeria-ventana.no-parallax-auto{height:auto}.galeria-ventana.no-parallax-auto .galeria-imagen{display:block;position:relative;height:auto;width:100%;transform:none}.galeria-ventana.altura-4{height:250px}@media (max-width:1280px){.galeria-ventana.altura-4{height:200px}}@media (max-width:768px){.galeria-ventana.altura-4{height:250px}}/*!

FOOTER - EFECTO BLOB ORGÁNICO
--------------------------------------------------------------------------
*//*!
--------------------------------------------------------------------------
PÁGINAS CON CONTENIDO CENTRADO (Sticky Footer)
--------------------------------------------------------------------------
*/body,html{min-height:100vh}body{display:flex;flex-direction:column}.nav-container{flex-shrink:0}main{flex:1 0 auto;display:flex;flex-direction:column;padding-top:250px}main.main-home{padding-top:0}footer{flex-shrink:0}.section-centered{display:flex;align-items:center;justify-content:center;flex:1}/*!
--------------------------------------------------------------------------
LOGO
--------------------------------------------------------------------------
*/.logotext{font-family:Merriweather,serif;color:#f3f3f3;font-size:35px;margin-right:100px;margin-top:17px;font-weight:700;letter-spacing:-.02em;float:left}@media (max-width:1280px){.logotext{font-size:30px;margin-right:10px}}.logotextfoot{font-family:Merriweather,serif;font-size:25px;margin-right:100px;margin-bottom:78px;font-weight:700;letter-spacing:-.02em}.logotextfoot sup{font-size:9px;top:-1.1em!important}sup{font-size:11px;top:-1.1em!important}/*!
--------------------------------------------------------------------------
ESTILO DE TEXTOS
--------------------------------------------------------------------------
*/.font-01,.ul-01{font-family:FeatureDisplay,NeueMontreal-Regular,sans-serif!important;font-weight:300;font-size:clamp(25px, calc(18.38px + 1.764vw), 50px);line-height:clamp(30px, calc(22.06px + 2.117vw), 60px)}.font-02,.ul-02{font-family:NeueMontreal-Regular,sans-serif!important;font-size:clamp(20px, calc(18.68px + .353vw), 25px);line-height:clamp(26px, calc(24.41px + .423vw), 32px)}.font-03,.ul-03{font-family:NeueMontreal-Regular,sans-serif!important;font-size:clamp(15px, calc(14.17px + .222vw), 18px);line-height:clamp(22px, calc(21.17px + .222vw), 25px)}.font-04{font-family:NeueMontreal-Regular,sans-serif!important;font-size:15px!important;line-height:22px!important}/*!
--------------------------------------------------------------------------
TIPOGRAFÍA PROPORCIONAL — > 1792px
--------------------------------------------------------------------------
*/@media (min-width:1793px){.font-01,.ul-01{font-size:2.79vw;line-height:3.348vw}.font-02,.ul-02{font-size:1.395vw;line-height:1.786vw}.font-03,.ul-03,body{font-size:1.004vw;line-height:1.394vw}}/*!
--------------------------------------------------------------------------
CUSTOM BULLETS
--------------------------------------------------------------------------
*/.custom-bullets{list-style:none;padding-left:0}.custom-bullets li{position:relative;padding-left:35px}.custom-bullets li::before{content:"";position:absolute;left:0;top:.5em;transform:translateY(-50%);top:calc(.5em + 4px);width:22px;height:1px;background:#f3f3f3}/*!

GENERAL
--------------------------------------------------------------------------
*/.spacing{letter-spacing:-.01em!important}.text-center{text-align:center!important}/*!

PROYECTOS
--------------------------------------------------------------------------
*/.name-project{margin-top:5px!important;margin-bottom:3px!important;color:#f3f3f3!important}.description-project{margin-bottom:20px;color:#7e7e7e}/*!

FOOTER
--------------------------------------------------------------------------
*/footer p:not(.logotextfoot){font-size:15px;line-height:22px}.footer-links{font-size:15px;line-height:22px;margin-top:0!important;float:right}.footer-links li{padding-bottom:10px}.footer-links li a{position:relative;display:inline-flex;align-items:center;gap:8px}.footer-links li a::after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s ease}.footer-links li a:hover{text-decoration:none}.footer-links li a:hover::after{transform:scaleX(1)}.footer-links.footer-social{float:none}.footer-links li a:hover .mail-arrow{transform:translateX(0) rotate(45deg);opacity:1}@media (max-width:991px){.footer-links{float:left}}/*!

LISTAS
--------------------------------------------------------------------------
*/.list-width{width:100%}.list-01 li{margin-top:clamp(40px,calc(38.28px + .458vw),50px);padding-bottom:clamp(20px,calc(19.14px + .229vw),25px);-webkit-transition:all .3s ease;-moz-transition:all .3s ease;opacity:1}.list-01 li:hover{padding-left:15px;-webkit-transition:all .3s ease;-moz-transition:all .3s ease}.list-02 li{margin-top:0;padding-bottom:15px;opacity:1}.list-02 li.decoration-line-top{padding-top:15px}.list-02 li.decoration-line-top-grey{padding-top:15px}.list-cat{margin:0;border-top:1px solid #7e7e7e;padding-top:15px;padding-bottom:15px;font-family:inherit;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit}.list-sub li::before{content:"";display:inline-block;width:.75em;height:1px;background:currentColor;vertical-align:middle;margin-right:.3em}/*!

ICONOS LISTAS
--------------------------------------------------------------------------
*//*!
--------------------------------------------------------------------------
SERVICIOS ACORDEÓN
--------------------------------------------------------------------------
*/.servicios-accordion .servicio-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding-bottom:25px;transition:padding-bottom .45s ease}.servicios-accordion .servicio-item.open .servicio-header{padding-bottom:0}.servicios-accordion .servicio-header h3{margin:0;font:inherit;letter-spacing:inherit}.servicio-toggle{background:0 0;border:none;cursor:pointer;padding:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.servicio-chevron{display:block;width:28px;height:32px;flex-shrink:0;overflow:visible;margin-top:12px}.servicio-chevron line{stroke-dasharray:20,100;stroke-dashoffset:0}.servicio-answer{max-height:0;overflow:hidden;transition:max-height .45s ease}.servicio-answer-inner{padding-top:25px;padding-bottom:40px}.servicios-accordion.acordeon-lista .servicio-header{padding-top:15px;padding-bottom:15px}.servicios-accordion.acordeon-lista .servicio-item.open .servicio-header{padding-bottom:0}.servicios-accordion.acordeon-lista .servicio-chevron{width:16px;height:18px;margin-top:2px}.servicios-accordion.acordeon-lista .servicio-answer-inner{padding-top:15px;padding-bottom:25px}/*!
--------------------------------------------------------------------------
*//*!
--------------------------------------------------------------------------
BOTONES
--------------------------------------------------------------------------
*/.btn-01{font-family:NeueMontreal-Regular,sans-serif!important;padding:8px 25px!important;text-align:center;background:0 0!important;color:#f3f3f3!important;border:1px solid #f3f3f3!important;border-radius:999px!important;transition:all .4s ease!important;opacity:1;cursor:pointer}.btn-01:hover{background-color:#f3f3f3!important;color:#0c0c0c!important;border:1px solid #f3f3f3!important;-webkit-transition:all .4s ease;-moz-transition:all .4s ease;opacity:1}/*!
--------------------------------------------------------------------------
MENU
--------------------------------------------------------------------------
*//*!
1. NAV BASE
--------------------------------------------------------------------------
*/nav li{float:left;padding:0}/*!
2. NAV-1 CONTENEDOR PRINCIPAL + GLASSMORPHISM
--------------------------------------------------------------------------
*/.nav-1{background:0 0;-webkit-backdrop-filter:none;backdrop-filter:none;position:fixed;top:0;width:100%;z-index:99;transition:background .4s ease,backdrop-filter .4s ease,padding-bottom .3s ease;-webkit-transition:background .4s ease,-webkit-backdrop-filter .4s ease,padding-bottom .3s ease;left:0;right:0;margin:0 auto}.nav-1.scrolled{background:rgba(12,12,12,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}/*!
3. NAV-1 FILO INFERIOR
--------------------------------------------------------------------------
*//*!
4. NAV-1 ESTRUCTURA DE LISTAS
--------------------------------------------------------------------------
*/.nav-1 ul{overflow:visible}.nav-1 ul li{color:#f3f3f3}.nav-1 ul ul{position:absolute;top:100%;left:0;min-width:280px;background:0 0;padding:8px 0 0 0;opacity:0;pointer-events:none;transition:opacity .18s ease 0s;z-index:100}@media (min-width:1151px){.nav-1 ul li:has(:focus-visible)>ul,.nav-1 ul li:hover>ul{opacity:1;pointer-events:auto;transition:opacity .22s ease .38s}}.nav-1 ul ul li{float:none;border:none;padding:0}@media (min-width:1151px){.nav-1 .menu{float:none;position:absolute;top:0;left:calc(33.3333% + 15px);margin:0}.nav-social{float:right;display:flex;align-items:center;gap:22px;margin:0;padding:18px 0 19px}.nav-social a{display:inline-flex;align-items:center;height:clamp(22px,calc(21.17px + .222vw),25px);color:#f3f3f3;transition:opacity .3s ease}.nav-social a:hover{opacity:.6}.nav-social svg{width:19px;height:19px;display:block}.nav-1 .dropdown-servicios:has(.megamenu){position:static}.nav-1 .megamenu{left:0;right:auto;width:max-content;min-width:100%;display:grid;grid-template-columns:max-content max-content;column-gap:clamp(60px,7vw,120px);row-gap:5px;padding:8px 0 0}.nav-1 .megamenu>.megamenu-header{grid-column:1/-1}.nav-1 .megamenu ul{position:static;min-width:0;padding:0;opacity:1;transition:none}}@media (max-width:1150px){.nav-social{display:none}}.megamenu p{margin:0}.nav-1 .subnav a.item-menu-02{display:inline-flex;align-items:center;gap:8px}.nav-1 .subnav .mail-arrow{border-right-color:#0c0c0c;border-top-color:#0c0c0c}.nav-1 .subnav a.item-menu-02:hover .mail-arrow{transform:translateX(0) rotate(45deg);opacity:1}.megamenu p.megamenu-label{margin-bottom:5px}.nav-1 a:focus-visible{outline:1px solid currentColor;outline-offset:3px}@media (max-width:1150px){.nav-1 .dropdown-servicios.open-mega .megamenu,.nav-1 .dropdown-servicios.open-mega .megamenu ul{display:block;position:static;min-width:0;opacity:1;pointer-events:auto;padding:0;transition:none}.nav-1 .dropdown-servicios.open-mega .megamenu{padding:2px 0 12px}.megamenu .megamenu-label{padding:0 20px}.nav-1 .dropdown-servicios.open-mega .megamenu-label{margin:14px 0 6px}.nav-1.open-menu:has(.dropdown-servicios.open-mega){max-height:100vh;max-height:100dvh;overflow-y:auto}}/*!
5. NAV-1 ESTADOS HOVER (solo desktop)
--------------------------------------------------------------------------
*/@media (min-width:1151px){.nav-1:has(.has-dropdown :focus-visible),.nav-1:not(.hover-muted):has(.has-dropdown:hover){background:rgba(243,243,243,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav-1:has(.has-dropdown :focus-visible) .logotext,.nav-1:has(.has-dropdown :focus-visible) ul li a,.nav-1:not(.hover-muted):has(.has-dropdown:hover) .logotext,.nav-1:not(.hover-muted):has(.has-dropdown:hover) ul li a{color:#0c0c0c!important}.nav-1 ul li:has(:focus-visible)>ul,.nav-1 ul li:hover>ul{background:0 0}}/*!
6. MENU CONTENEDOR
--------------------------------------------------------------------------
*/.menu{margin:0;display:inline-block;float:right}.menu li:last-child{padding-right:0}.menu-last-item{padding-right:0!important}/*!
7. SUBNAV Y DROPDOWN
--------------------------------------------------------------------------
*/.has-dropdown{position:relative}.nav-1 .has-dropdown.force-close>ul{opacity:0!important;pointer-events:none!important;transition:none!important}.subnav{display:block}/*!
8. ITEMS DE MENU
--------------------------------------------------------------------------
*/.item-menu-01{display:inline-block;position:relative;padding:18px 42px 19px 0;margin:0;transition:all .4s ease;-webkit-transition:all .4s ease;-moz-transition:all .4s ease;opacity:1;cursor:pointer}.item-menu-01::after{content:'';position:absolute;bottom:19px;left:0;width:calc(100% - 42px);height:1px;background:#f3f3f3;transform:scaleX(0);transform-origin:left;transition:transform .45s ease,background .3s ease}.item-menu-01:hover::after{transform:scaleX(1)}.menu-last-item::after{width:100%}.nav-1:has(.has-dropdown :focus-visible) .item-menu-01::after,.nav-1:not(.hover-muted):has(.has-dropdown:hover) .item-menu-01::after{background:#0c0c0c}.item-menu-02{position:relative}.item-menu-02::after{content:'';position:absolute;bottom:5px;left:0;width:100%;height:1px;background:#0c0c0c;transform:scaleX(0);transform-origin:left;transition:transform .45s ease}.item-menu-02:hover::after{transform:scaleX(1)}.item-menu-02{display:inline-block;padding:5px 0 5px 0;margin:0;transition:all .4s ease;-webkit-transition:all .4s ease;-moz-transition:all .4s ease;opacity:1;cursor:pointer}/*!
9. MOBILE TOGGLE (HAMBURGUESA)
--------------------------------------------------------------------------
*/.mobile-toggle{position:absolute;right:3%;top:23px;cursor:pointer;display:none}/*!
10. BARRAS DE HAMBURGUESA
--------------------------------------------------------------------------
*/.bar-1,.bar-2{width:45px;height:2px;background:#f3f3f3;transition:all .3s ease;-webkit-transition:all .3s ease;-moz-transition:all .3s ease}.bar-1{margin-bottom:10px}.bar-2{position:relative;margin-top:6px}/*!
11. MEDIA QUERIES
--------------------------------------------------------------------------
*/@media (max-width:1440px){.item-menu-01{padding:18px 39px 19px 0}}@media (max-width:1280px){.item-menu-01{padding:18px 36px 19px 0}}@media (max-width:1440px){.item-menu-02{padding:5px 0 5px 0!important}}@media all and (max-width:1150px){.nav-1{max-height:60px;overflow:hidden;background:rgba(17,17,17,.6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:max-height .9s ease,background .4s ease,backdrop-filter .4s ease}.nav-1 .menu li:first-child{border-left:none}.nav-1 .menu li:last-child{border:none}.nav-1 ul ul{display:none}.nav-1.open-menu{background:rgba(243,243,243,.9)}.nav-1.open-menu .item-menu-01::after,.nav-1.open-menu .item-menu-02::after{display:none}.nav-1.open-menu ul li a{color:#0c0c0c!important}.nav-1.open-menu .logotext{color:#0c0c0c!important}.nav-1.open-menu .bar-1,.nav-1.open-menu .bar-2{background:#0c0c0c!important}.nav-1.open-menu .bar-1{transform:rotate(45deg) translate(5px,5px)}.nav-1.open-menu .bar-2:first-of-type{opacity:0}.nav-1.open-menu .bar-2:last-of-type{transform:rotate(-45deg) translate(5px,-5px)}.mobile-toggle{display:block}.menu{width:100%;margin-top:24px;margin-bottom:30px}.menu li{float:none;border:none!important;padding:0;padding-left:0!important}.menu li a{padding:6px 20px 5px 20px!important;opacity:0;transition:opacity .25s ease 0s}.open-menu{max-height:900px}.nav-1.open-menu .menu li a{opacity:1;transition:opacity .3s ease .45s}.nav-1 ul li a{font-size:clamp(20px, calc(18.68px + .353vw), 25px)!important;line-height:clamp(26px, calc(24.41px + .423vw), 32px)!important}.subnav li{margin-left:16px}}@media all and (max-width:767px){.nav-1{position:fixed!important}}/*!
--------------------------------------------------------------------------
IMÁGENES
--------------------------------------------------------------------------
*/.arrow{width:4%;margin-right:3%;margin-top:-8px}/*!
--------------------------------------------------------------------------
*/.clientes img{max-width:100%}.clientes [class*=col-]{margin-bottom:50px}.fichas-grid>[class*=col-]{display:flex;margin-bottom:40px}.pricing-table-2{padding:clamp(50px,42px + 1.15vw,75px) clamp(25px,17px + 1.15vw,50px);background:#0c0c0c;border-radius:15px;text-align:left;position:relative;display:flex;flex-direction:column;height:100%;width:100%}.pricing-table-2 a.btn-01{margin-top:auto;align-self:flex-start}.pricing-table-2 h2{margin-top:0;letter-spacing:2px;margin-right:-2px}/*!
// 13. Cookies - GLASSMORPHISM
// --------------------------------------------------*/.font-legal{font-family:NeueMontreal-Regular,sans-serif!important;font-size:15px!important;line-height:22px!important;color:#0c0c0c!important}#cookie-banner{position:fixed;bottom:0;left:0;right:0;background:rgba(243,243,243,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#0c0c0c;padding:12px 3%;display:none;align-items:center;flex-wrap:wrap;gap:12px 20px;z-index:1000}#cookie-banner>span{flex:1 1 280px}#cookie-banner .cookie-link{color:#0c0c0c!important;text-decoration:none;margin-left:4px}#cookie-banner .cookie-link::after{background:#0c0c0c}#cookie-banner .mail-arrow{border-right-color:#0c0c0c;border-top-color:#0c0c0c}#cookie-banner .cookie-buttons{display:flex;gap:10px;flex-shrink:0;margin-left:auto}#cookie-banner .cookie-buttons button{width:150px!important;min-height:44px;padding:8px 0!important;text-align:center;background:0 0!important;color:#f3f3f3!important;border:2px solid #f3f3f3!important;border-radius:999px!important;transition:all .4s ease!important;cursor:pointer}@media (max-width:600px){#cookie-banner>span{flex-basis:100%;min-width:0}#cookie-banner .cookie-buttons{width:100%}#cookie-banner .cookie-buttons button{width:auto!important;flex:1}}#cookie-banner .cookie-buttons .btn-rechazar{background-color:transparent!important;color:#0c0c0c!important;border-color:#0c0c0c!important}#cookie-banner .cookie-buttons .btn-rechazar:hover{background-color:#f3f3f3!important;color:#0c0c0c!important;border:2px solid #f3f3f3!important;transition:all .4s ease!important}#cookie-banner .cookie-buttons .btn-aceptar{background-color:#0c0c0c!important;color:#f3f3f3!important;border:2px solid #0c0c0c!important}#cookie-banner .cookie-buttons .btn-aceptar:hover{background-color:#f3f3f3!important;color:#0c0c0c!important;border:2px solid #f3f3f3!important;transition:all .4s ease!important}/*!
--------------------------------------------------------------------------
FAQ ACORDEÓN
--------------------------------------------------------------------------
*/.faq-accordion .faq-question{cursor:pointer;padding-bottom:30px;transition:padding-bottom .45s ease}.faq-item.open .faq-question{padding-bottom:0}.faq-accordion .faq-item:first-child .faq-question{border-top:none;padding-top:0}.faq-col-question{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.faq-col-question h3,.faq-col-question h4,.faq-col-question p{flex:1;margin-bottom:0}.faq-toggle{background:0 0;border:none;cursor:pointer;padding:20px 0 0 0;flex-shrink:0}.faq-icon{position:relative;display:block;width:28px;height:28px}.faq-icon::after,.faq-icon::before{content:'';position:absolute;background:#f3f3f3;transition:transform .35s ease,opacity .35s ease}.faq-icon::before{width:100%;height:1px;top:50%;left:0;transform:translateY(-50%)}.faq-icon::after{width:1px;height:100%;left:50%;top:0;transform:translateX(-50%)}.faq-item.open .faq-icon::after{transform:translateX(-50%) scaleY(0);opacity:0}.faq-answer{max-height:0;overflow:hidden;transition:max-height .45s ease;margin-left:calc(50% + 17px)}@media (max-width:767px){.faq-answer{margin-left:0}}.faq-answer-inner{padding-top:30px;padding-bottom:50px}/*!
--------------------------------------------------------------------------
MAPA GOOGLE PERSONALIZADO
--------------------------------------------------------------------------
*/.mapa-container{position:relative;overflow:hidden;height:500px;min-height:300px;width:100%}#map{position:absolute;top:0;left:0;right:0;bottom:0;height:100%!important;width:100%!important}@media (max-width:991px){.mapa-container{height:400px}}@media (max-width:768px){.mapa-container{height:350px}}@media (max-width:480px){.mapa-container{height:300px}}.gm-style-cc{display:none!important}.gm-style a[href^="https://maps.google.com/maps"]{display:none!important}/*!
--------------------------------------------------------------------------
MAIL LINK HOVER
--------------------------------------------------------------------------
*/.mail-link{position:relative;display:inline-flex;align-items:center;gap:8px;color:#f3f3f3}button.mail-link{background:0 0;border:0;padding:0;font:inherit;cursor:pointer;text-align:left}.mail-link::after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:#f3f3f3;transform:scaleX(0);transform-origin:left;transition:transform .45s ease}.mail-link:hover::after{transform:scaleX(1)}.text-link{color:#f3f3f3;background-image:linear-gradient(#f3f3f3,#f3f3f3);background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;transition:background-size .45s ease}.text-link:hover{background-size:100% 1px}.mail-arrow{display:inline-block;width:7.7px;height:7.7px;border-right:1px solid #f3f3f3;border-top:1px solid #f3f3f3;transform:translateX(-8px) rotate(45deg);opacity:0;transition:transform .45s ease,opacity .35s ease;flex-shrink:0;margin-top:2px}.mail-link:hover .mail-arrow{transform:translateX(0) rotate(45deg);opacity:1}.mail-row{display:flex;align-items:center;gap:12px}.mail-copy{background:0 0;border:none;cursor:pointer;padding:0;color:#f3f3f3;opacity:.35;display:flex;align-items:center;gap:6px;flex-shrink:0;transition:opacity .3s ease}.mail-copy:hover{opacity:1}.mail-copy-feedback{font-size:12px;font-family:NeueMontreal-Regular,sans-serif;letter-spacing:.02em;opacity:0;transform:translateX(-4px);transition:opacity .3s ease,transform .3s ease}.mail-copy.copied{opacity:1}.mail-copy.copied .mail-copy-feedback{opacity:1;transform:translateX(0)}/*!
--------------------------------------------------------------------------
PÁGINAS SIMPLES — centrado vertical (404, gracias, etc.)
--------------------------------------------------------------------------
*/body.page-simple{display:flex;flex-direction:column;min-height:100vh}body.page-simple .section-centrada{flex:1;display:flex;align-items:center;padding-top:80px;padding-bottom:0;margin-bottom:0}body.page-simple footer{padding-top:60px;flex-shrink:0}/*!
--------------------------------------------------------------------------
FORMULARIO DE CONTACTO — diseño minimal de línea
--------------------------------------------------------------------------
*/.form-contacto{width:100%}.form-contacto-trap{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;pointer-events:none!important}.form-contacto .form-group{margin-bottom:20px}.form-contacto label{display:block!important;color:rgba(243,243,243,.32)!important;margin-bottom:8px!important;letter-spacing:0;text-transform:none;font-weight:400}.form-contacto input[type=email],.form-contacto input[type=tel],.form-contacto input[type=text],.form-contacto textarea{width:100%!important;background:0 0!important;background-color:transparent!important;background-image:none!important;border:0!important;border-top:0!important;border-left:0!important;border-right:0!important;border-bottom:1px solid rgba(243,243,243,.32)!important;border-radius:0!important;color:#f3f3f3!important;font-family:NeueMontreal-Regular,sans-serif!important;font-size:15px!important;line-height:22px!important;padding:4px 0 6px 0!important;margin:0!important;outline:0!important;box-shadow:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;transition:border-color .35s ease}.form-contacto input[type=email]:focus,.form-contacto input[type=tel]:focus,.form-contacto input[type=text]:focus,.form-contacto textarea:focus{border-bottom-color:#f3f3f3!important;outline:0!important}.form-contacto textarea{resize:none;min-height:90px}.form-contacto input:-webkit-autofill,.form-contacto input:-webkit-autofill:active,.form-contacto input:-webkit-autofill:focus,.form-contacto input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px #0c0c0c inset!important;-webkit-text-fill-color:#f3f3f3!important;caret-color:#f3f3f3!important;transition:background-color 5000s ease-in-out 0s!important}.form-contacto .form-submit{margin-top:0;flex-shrink:0}.form-contacto input.input-error,.form-contacto textarea.input-error{border-bottom-color:#e05555!important}.form-opcional{color:rgba(243,243,243,.2);font-size:13px}.form-footer-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:8px}.form-privacidad{display:flex;align-items:flex-start;gap:12px;margin-bottom:0;margin-top:0;flex:1}.form-privacidad input[type=checkbox]{appearance:none;-webkit-appearance:none;width:16px;height:16px;min-width:16px;border:1px solid rgba(243,243,243,.32);border-radius:2px;background:0 0;cursor:pointer;margin-top:3px;position:relative;transition:border-color .3s ease}.form-privacidad input[type=checkbox]:checked{border-color:#f3f3f3;background:0 0}.form-privacidad input[type=checkbox]:checked::after{content:'';position:absolute;left:4px;top:1px;width:5px;height:9px;border-right:1px solid #f3f3f3;border-bottom:1px solid #f3f3f3;transform:rotate(45deg)}.form-privacidad label{color:rgba(243,243,243,.32)!important;cursor:pointer;line-height:22px}.form-privacidad label a{color:rgba(243,243,243,.32)}.form-privacidad label a .mail-text{text-decoration:underline;text-underline-offset:3px}.form-contacto-message{display:none;font-family:NeueMontreal-Regular,sans-serif;font-size:15px;line-height:22px;padding:14px 0;margin-bottom:24px;border-bottom:1px solid rgba(243,243,243,.15)}.form-contacto-message.error{color:#e05555;border-bottom-color:rgba(224,85,85,.3)}.form-contacto-message.exito{color:rgba(243,243,243,.75)}.form-contacto-loading{display:none;font-family:NeueMontreal-Regular,sans-serif;font-size:15px;line-height:22px;color:rgba(243,243,243,.4);margin-bottom:24px}/*!
============================================================================
PROYECTO — ESTILOS ESPECÍFICOS
============================================================================
Estilos específicos de las páginas de proyecto individuales (/proyectos/*).
No deben usarse fuera de esas páginas. Tipografía, colores y espaciados
generales → clases del sistema; aquí solo lo propio del proyecto.
============================================================================
*/.proyecto-galeria{--inset:calc((100vw - min(94vw, 1920px)) / 2)}.proyecto-galeria .container{width:100vw;max-width:1920px;margin-left:50%;transform:translateX(-50%)}.proyecto-galeria .row{margin-left:-7.5px;margin-right:-7.5px}.proyecto-galeria .row>[class*=col-]{padding-left:7.5px!important;padding-right:7.5px!important;margin-bottom:15px}.proyecto-galeria .row.proyecto-flush>[class*=col-]{margin-bottom:0}.proyecto-galeria-img{display:block;width:100%;height:auto}.proyecto-texto{padding-top:3vw;padding-left:var(--inset);padding-right:var(--inset)}.proyecto-par{display:flex;justify-content:center;gap:34px;padding-top:150px;padding-bottom:150px}.proyecto-par img{display:block;height:44.44vw;max-height:853px;width:auto}@media (max-width:767px){.proyecto-par{padding-top:50px;padding-bottom:50px;padding-left:var(--inset);padding-right:var(--inset)}.proyecto-par img{height:auto;max-height:none;width:calc(50% - 17px)}}.proyecto-trio{display:flex;justify-content:center;gap:34px;padding-top:150px;padding-bottom:150px}.proyecto-trio img{display:block;height:43.13vw;max-height:828px;width:auto}@media (max-width:767px){.proyecto-trio{flex-direction:column;padding-top:50px;padding-bottom:50px;padding-left:var(--inset);padding-right:var(--inset)}.proyecto-trio img{height:auto;max-height:none;width:100%}}.proyecto-trio-2-3{display:flex;justify-content:center;gap:34px;padding-top:150px;padding-bottom:150px}.proyecto-trio-2-3 img{display:block;height:32.35vw;max-height:621px;width:auto}@media (max-width:767px){.proyecto-trio-2-3{flex-direction:column;padding-top:50px;padding-bottom:50px;padding-left:var(--inset);padding-right:var(--inset)}.proyecto-trio-2-3 img{height:auto;max-height:none;width:100%}}.proyecto-destacada{display:flex;justify-content:center;padding-top:150px;padding-bottom:150px}.proyecto-destacada img{display:block;width:calc(66.666vw + 34px);max-width:1314px;height:auto}@media (max-width:767px){.proyecto-destacada{padding-top:50px;padding-bottom:50px;padding-left:var(--inset);padding-right:var(--inset)}.proyecto-destacada img{height:auto;max-height:none;width:100%}}.sector-content{display:flex;flex-direction:column}.sector-content .sector-description{margin-bottom:50px}@media (max-width:767px){.sector-content .project-block{order:1}.sector-content .sector-description{order:2;margin-bottom:0;margin-top:50px}}/*!
============================================================================
BLOG & POST — ESTILOS ESPECÍFICOS
============================================================================
Toda la CSS específica de las dos páginas del blog vive aquí, al final del
archivo, para mantenerla aislada del sistema global. No debe usarse fuera
de blog.html y post.html. Si un patrón visual termina siendo útil en otras
páginas, conviene promoverlo a una clase global y moverlo arriba.

Convención de naming:
   .blog-*  → blog.html (listado de artículos)
   .post-*  → post.html (artículo individual)
============================================================================
*/.blog-masonry{columns:3;column-gap:30px}.blog-card{break-inside:avoid;margin-bottom:var(--space-50);display:block;text-decoration:none;color:inherit}.blog-card-ficha{background:#f3f3f3;color:#0c0c0c;padding:calc(var(--space-50) * .6)}.blog-card-ficha p{color:#0c0c0c;margin-top:0}.blog-card-ficha p:first-child{margin-bottom:calc(var(--space-100) * 1.2)}.blog-card-ficha p:last-child{margin-bottom:0}.font-01-blog{font-family:FeatureDisplay,NeueMontreal-Regular,sans-serif!important;font-weight:300;font-size:clamp(20px, calc(14.704px + 1.4112vw), 40px);line-height:clamp(24px, calc(17.648px + 1.6936vw), 48px)}.font-01-md{font-family:FeatureDisplay,NeueMontreal-Regular,sans-serif!important;font-weight:300;font-size:clamp(20px, calc(14.704px + 1.4112vw), 40px);line-height:clamp(24px, calc(17.648px + 1.6936vw), 48px)}.font-01-sm{font-family:FeatureDisplay,NeueMontreal-Regular,sans-serif!important;font-weight:300;font-size:clamp(16px, calc(11.763px + 1.129vw), 32px);line-height:clamp(19px, calc(14.118px + 1.355vw), 38px)}@media (max-width:991px){.blog-masonry{columns:2;column-gap:24px}}@media (max-width:575px){.blog-masonry{columns:1}}.post-hero{position:relative;width:100%;height:35vh;min-height:240px;overflow:hidden;display:flex;align-items:flex-end}.post-hero-content{position:relative;z-index:2;padding-bottom:var(--space-50);width:100%}.post-blockquote{border-left:1px solid #7e7e7e;padding-left:var(--space-25);margin:var(--space-50) 0}.post-img-wrap{margin:var(--space-50) 0}.post-img-wrap img{width:100%;height:auto;display:block}section.post-inverted{background:#f3f3f3}.post-inverted .font-01,.post-inverted .font-02,.post-inverted .font-03,.post-inverted h1,.post-inverted h2,.post-inverted h3,.post-inverted h4{color:#0c0c0c}.post-inverted .white-text{color:#0c0c0c!important}.post-inverted .font-04{color:#7e7e7e}.post-inverted a{color:#0c0c0c}.post-body li a:not(.mail-link),.post-body p a:not(.mail-link){text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color .3s ease}.post-body li a:not(.mail-link):hover,.post-body p a:not(.mail-link):hover{color:#7e7e7e}.post-inverted .decoration-line-top{border-top-color:#0c0c0c}.post-inverted .mail-link{color:#0c0c0c}.post-inverted .mail-link::after{background:#0c0c0c}.post-inverted .mail-arrow{border-right-color:#0c0c0c;border-top-color:#0c0c0c}section.post-inverted{margin-bottom:0}.post-inverted li{color:#0c0c0c}body.page-post{background:#f3f3f3}body.page-post footer{background:#0c0c0c}.post-label{text-transform:uppercase}.post-btn{display:inline-block;padding:8px 25px;text-align:center;background-color:#0c0c0c;color:#f3f3f3!important;border:2px solid #0c0c0c;border-radius:999px;transition:all .4s ease;cursor:pointer}.post-btn:hover{background-color:transparent;color:#0c0c0c!important;border:2px solid #0c0c0c}.post-btn-dark{background-color:#f3f3f3;color:#0c0c0c!important;border:2px solid #f3f3f3}.post-btn-dark:hover{background-color:transparent;color:#f3f3f3!important;border:2px solid #f3f3f3}.post-btn-sm{padding:5px 20px;font-size:15px;line-height:22px}.post-cta-banner{background-color:#0c0c0c;border-radius:12px;padding:30px}.post-cta-banner .white-text{color:#f3f3f3!important}.post-cta-banner .font-04{color:rgba(243,243,243,.75)}@media (min-width:992px){.post-body{overflow:visible}.post-row{display:flex}.post-sidebar{position:sticky;top:100px;align-self:flex-start}}.post-accordion .faq-answer{margin-left:0}.post-accordion .project-arrow{display:inline-block;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:9px solid #f3f3f3;margin-right:12px;vertical-align:middle;position:relative;top:-1px}picture.picture-avif{display:contents}:where(picture.picture-avif img){height:auto}@media (max-width:767px){.row>.col-sm-6:not([class*=col-xs-]){width:100%}}
