.elementor-59 .elementor-element.elementor-element-29c3f1{--display:flex;--min-height:40vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--padding-top:170px;--padding-bottom:72px;--padding-left:48px;--padding-right:48px;}.elementor-59 .elementor-element.elementor-element-29c3f1:not(.elementor-motion-effects-element-type-background), .elementor-59 .elementor-element.elementor-element-29c3f1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1C1813;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-59 .elementor-element.elementor-element-6a93ef{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 26px) 0px;}.elementor-59 .elementor-element.elementor-element-6a93ef .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:13px;font-weight:500;text-transform:uppercase;line-height:1em;letter-spacing:0.5px;color:#A9743F;}.elementor-59 .elementor-element.elementor-element-3b53f0{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-59 .elementor-element.elementor-element-3b53f0 .elementor-heading-title{font-family:"Inter Tight", Sans-serif;font-size:92px;font-weight:500;line-height:0.98em;color:#F1ECE2;}.elementor-59 .elementor-element.elementor-element-b023f4{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--padding-top:72px;--padding-bottom:110px;--padding-left:48px;--padding-right:48px;}.elementor-59 .elementor-element.elementor-element-b023f4:not(.elementor-motion-effects-element-type-background), .elementor-59 .elementor-element.elementor-element-b023f4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F1ECE2;}.elementor-59 .elementor-element.elementor-element-0ca3f3{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-59 .elementor-element.elementor-element-55c3f2{font-family:"Inter", Sans-serif;font-size:16px;line-height:1.8em;color:#3a352d;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-59 .elementor-element.elementor-element-0ca3f3{--content-width:880px;}}@media(max-width:1024px){.elementor-59 .elementor-element.elementor-element-29c3f1{--flex-wrap:wrap;}.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );}.elementor-59 .elementor-element.elementor-element-6a93ef .elementor-heading-title{font-size:11px;}.elementor-59 .elementor-element.elementor-element-3b53f0 .elementor-heading-title{font-size:75px;}.elementor-59 .elementor-element.elementor-element-b023f4{--flex-wrap:wrap;}.elementor-59 .elementor-element.elementor-element-0ca3f3{--flex-wrap:wrap;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-59 .elementor-element.elementor-element-29c3f1{--min-height:440px;--padding-top:52px;--padding-bottom:56px;--padding-left:20px;--padding-right:20px;}.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );}.elementor-59 .elementor-element.elementor-element-6a93ef .elementor-heading-title{font-size:13px;}.elementor-59 .elementor-element.elementor-element-3b53f0 .elementor-heading-title{font-size:55px;}.elementor-59 .elementor-element.elementor-element-b023f4{--padding-top:52px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}/* Start custom CSS */.elementor-widget-heading em,.elementor-widget-text-editor em{font-family:"Fraunces",serif!important;font-style:italic!important;font-weight:300!important;letter-spacing:0!important;text-transform:none!important}
.h-giant .elementor-heading-title{font-size:clamp(50px,9.4vw,138px)!important;line-height:.94!important;letter-spacing:-.03em!important;font-weight:300!important}
.h-big .elementor-heading-title{font-size:clamp(40px,7vw,104px)!important;line-height:.98!important;letter-spacing:-.022em!important;font-weight:400!important}
.h-2 .elementor-heading-title{font-size:clamp(30px,4.7vw,64px)!important;line-height:1.06!important;letter-spacing:-.015em!important;font-weight:500!important}
.h-3 .elementor-heading-title{font-size:clamp(22px,2.5vw,40px)!important;line-height:1.1!important;letter-spacing:-.01em!important;font-weight:500!important}
/* banda oscura: enlaces heredan el color claro */
#pagehero a,#cta a{color:inherit!important}
#pagehero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,13,9,.72) 0%,rgba(18,13,9,.42) 50%,rgba(18,13,9,.78) 100%);z-index:1;pointer-events:none}
#pagehero>*{position:relative;z-index:2}
/* fotos de obra: grado cálido + barrido */
.pz{overflow:hidden!important;display:block;aspect-ratio:16/10;background:#1C1813;clip-path:inset(0 0 100% 0)}
.pz img{width:100%;height:100%;object-fit:cover;filter:sepia(.22) saturate(.84) contrast(1.05);transform:scale(1.04);transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.pz.g4 img,.g4.pz{aspect-ratio:4/3}
.proj-card:hover .pz img{transform:scale(1.05)}
.proj-card:hover .pname .elementor-heading-title{transform:translateX(12px);color:#A9743F!important}
.pname .elementor-heading-title{transition:transform .5s cubic-bezier(.2,.8,.2,1),color .4s}
/* botones / pills */
.elementor-button{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.elementor-button:hover{transform:translateY(-3px)}
/* enlaces de datos (tel/email) */
.datalink a{color:inherit!important;text-decoration:none;transition:color .3s}
.datalink a:hover{color:#A9743F!important}
/* mapa: estirar el widget html DENTRO de su columna (no la columna) */
#mapcol .elementor-widget-html,#mapcol .elementor-widget-container,#mapcol .mapwrap{width:100%!important}
.mapwrap iframe{display:block;width:100%!important;height:560px;border:0;filter:grayscale(.18) contrast(1.04) sepia(.06)}
@media(max-width:767px){.mapwrap iframe{height:360px}}
/* GSAP reveals */
.reveal{opacity:0;transform:translateY(42px)}
html.no-gsap .reveal{opacity:1!important;transform:none!important}
html.no-gsap .pz{clip-path:none!important}
html.no-gsap .pz img{transform:none!important}
@media(max-width:1024px){.oh-hidem{display:none!important}}

.legaltext h3{font-family:"Inter Tight",sans-serif!important;font-weight:600!important;font-size:22px!important;line-height:1.25!important;margin:38px 0 10px!important;color:#1C1813!important;letter-spacing:-.01em!important}
.legaltext p{margin:0 0 15px!important}
.legaltext a{color:#A9743F!important;text-decoration:underline}
.legaltext strong{font-weight:600!important;color:#1C1813!important}
.legaltext{font-size:16px;line-height:1.8;color:#3a352d}/* End custom CSS */