.elementor-21 .elementor-element.elementor-element-d444266{--display:flex;--position:fixed;--min-height:80px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:0px;--z-index:999;}body:not(.rtl) .elementor-21 .elementor-element.elementor-element-d444266{left:0px;}body.rtl .elementor-21 .elementor-element.elementor-element-d444266{right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );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 );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-21 .elementor-element.elementor-element-3def1cd > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-21 .elementor-element.elementor-element-3def1cd{text-align:start;}.elementor-21 .elementor-element.elementor-element-3def1cd img{width:150px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-21 .elementor-element.elementor-element-b309945{width:var( --container-widget-width, 51.998% );max-width:51.998%;--container-widget-width:51.998%;--container-widget-flex-grow:0;--e-nav-menu-horizontal-menu-item-margin:calc( 36px / 2 );}.elementor-21 .elementor-element.elementor-element-b309945 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-21 .elementor-element.elementor-element-b309945.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-21 .elementor-element.elementor-element-b309945 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-21 .elementor-element.elementor-element-b309945 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-21 .elementor-element.elementor-element-b309945 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-21 .elementor-element.elementor-element-b309945 .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-21 .elementor-element.elementor-element-b309945 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#C49A3C;}.elementor-21 .elementor-element.elementor-element-b309945 .elementor-nav-menu--main .elementor-item{padding-left:0px;padding-right:0px;padding-top:0px;padding-bottom:0px;}.elementor-21 .elementor-element.elementor-element-b309945 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:36px;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-21 .elementor-element.elementor-element-08b1a4f .elementor-icon-wrapper{text-align:center;}.elementor-21 .elementor-element.elementor-element-08b1a4f.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );color:var( --e-global-color-primary );}.elementor-21 .elementor-element.elementor-element-08b1a4f.elementor-view-framed .elementor-icon, .elementor-21 .elementor-element.elementor-element-08b1a4f.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-21 .elementor-element.elementor-element-08b1a4f.elementor-view-framed .elementor-icon, .elementor-21 .elementor-element.elementor-element-08b1a4f.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-21 .elementor-element.elementor-element-08b1a4f.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-21 .elementor-element.elementor-element-08b1a4f.elementor-view-stacked .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-21 .elementor-element.elementor-element-08b1a4f .elementor-icon{padding:6px;}.elementor-21 .elementor-element.elementor-element-0fbfccb{--display:flex;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#EAEAEA17;--border-color:#EAEAEA17;--padding-top:64px;--padding-bottom:64px;--padding-left:64px;--padding-right:64px;}.elementor-21 .elementor-element.elementor-element-0fbfccb:not(.elementor-motion-effects-element-type-background), .elementor-21 .elementor-element.elementor-element-0fbfccb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}body:not(.rtl) .elementor-21 .elementor-element.elementor-element-8d7561f{right:64px;}body.rtl .elementor-21 .elementor-element.elementor-element-8d7561f{left:64px;}.elementor-21 .elementor-element.elementor-element-8d7561f{top:64px;}.elementor-21 .elementor-element.elementor-element-8d7561f .elementor-icon-wrapper{text-align:center;}.elementor-21 .elementor-element.elementor-element-8d7561f.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-text );}.elementor-21 .elementor-element.elementor-element-8d7561f.elementor-view-stacked .elementor-icon{color:var( --e-global-color-text );}.elementor-21 .elementor-element.elementor-element-8d7561f.elementor-view-stacked .elementor-icon svg{fill:var( --e-global-color-text );}.elementor-21 .elementor-element.elementor-element-8d7561f.elementor-view-stacked .elementor-icon:hover{background-color:var( --e-global-color-primary );}.elementor-21 .elementor-element.elementor-element-8d7561f.elementor-view-framed .elementor-icon:hover, .elementor-21 .elementor-element.elementor-element-8d7561f.elementor-view-default .elementor-icon:hover{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-21 .elementor-element.elementor-element-8d7561f.elementor-view-framed .elementor-icon:hover, .elementor-21 .elementor-element.elementor-element-8d7561f.elementor-view-default .elementor-icon:hover svg{fill:var( --e-global-color-primary );}.elementor-21 .elementor-element.elementor-element-8d7561f .elementor-icon{font-size:32px;padding:6px;}.elementor-21 .elementor-element.elementor-element-8d7561f .elementor-icon svg{height:32px;}.elementor-21 .elementor-element.elementor-element-e30b6d2 img{width:125px;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-21 .elementor-element.elementor-element-514efce{--divider-border-style:solid;--divider-color:#DFB25F26;--divider-border-width:1px;}.elementor-21 .elementor-element.elementor-element-514efce .elementor-divider-separator{width:100%;}.elementor-21 .elementor-element.elementor-element-514efce .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-21 .elementor-element.elementor-element-bd440bc.elementor-element{--align-self:flex-start;}.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--main .elementor-item:hover,
					.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var( --e-global-color-accent );}.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown{background-color:#F5F2EE00;}.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown a:hover,
					.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown a:focus,
					.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown a.highlighted,
					.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-menu-toggle:hover,
					.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-menu-toggle:focus{color:var( --e-global-color-accent );}.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown a:hover,
					.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown a:focus,
					.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown a.highlighted{background-color:#02010100;}.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown a.elementor-item-active{color:var( --e-global-color-accent );background-color:#02010100;}.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown .elementor-item, .elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown  .elementor-sub-item{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 );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown a{padding-left:0px;padding-right:0px;padding-top:12px;padding-bottom:12px;}.elementor-21 .elementor-element.elementor-element-fb6f0f4{--divider-border-style:solid;--divider-color:#DFB25F26;--divider-border-width:1px;}.elementor-21 .elementor-element.elementor-element-fb6f0f4 .elementor-divider-separator{width:100%;}.elementor-21 .elementor-element.elementor-element-fb6f0f4 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-21 .elementor-element.elementor-element-60e1d67{--grid-template-columns:repeat(0, auto);--icon-size:20px;--grid-column-gap:6px;--grid-row-gap:0px;}.elementor-21 .elementor-element.elementor-element-60e1d67 .elementor-widget-container{text-align:left;}.elementor-21 .elementor-element.elementor-element-60e1d67.elementor-element{--align-self:flex-start;}.elementor-21 .elementor-element.elementor-element-60e1d67 .elementor-social-icon{background-color:var( --e-global-color-primary );--icon-padding:0.3em;border-style:solid;border-width:1px 1px 1px 1px;border-color:#C9C27C96;}.elementor-21 .elementor-element.elementor-element-a99ae45{--display:flex;}.elementor-21 .elementor-element.elementor-element-d31c65c{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:200px;--padding-bottom:200px;--padding-left:32px;--padding-right:32px;}.elementor-21 .elementor-element.elementor-element-d31c65c:not(.elementor-motion-effects-element-type-background), .elementor-21 .elementor-element.elementor-element-d31c65c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-21 .elementor-element.elementor-element-e22c0fa{--display:flex;}.elementor-21 .elementor-element.elementor-element-e22c0fa.e-con{--align-self:center;}.elementor-21 .elementor-element.elementor-element-ef2052a.elementor-element{--align-self:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-21 .elementor-element.elementor-element-ef6a960{text-align:center;}.elementor-21 .elementor-element.elementor-element-ef6a960 .elementor-heading-title{font-family:var( --e-global-typography-h2sllv-font-family ), Sans-serif;font-size:var( --e-global-typography-h2sllv-font-size );font-weight:var( --e-global-typography-h2sllv-font-weight );line-height:var( --e-global-typography-h2sllv-line-height );letter-spacing:var( --e-global-typography-h2sllv-letter-spacing );}.elementor-21 .elementor-element.elementor-element-4a04b21.elementor-element{--align-self:center;}.elementor-21 .elementor-element.elementor-element-858e809{--display:flex;}.elementor-21 .elementor-element.elementor-element-47efbea{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:160px;--padding-bottom:160px;--padding-left:32px;--padding-right:32px;}.elementor-21 .elementor-element.elementor-element-47efbea:not(.elementor-motion-effects-element-type-background), .elementor-21 .elementor-element.elementor-element-47efbea > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-21 .elementor-element.elementor-element-94ae6b5{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-21 .elementor-element.elementor-element-981ef5a{--display:flex;}.elementor-21 .elementor-element.elementor-element-aa9214b{--display:flex;}.elementor-21 .elementor-element.elementor-element-eed450e{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-d3d5969{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-52a7074{--display:flex;}@media(min-width:768px){.elementor-21 .elementor-element.elementor-element-e22c0fa{--width:83%;}.elementor-21 .elementor-element.elementor-element-981ef5a{--width:49%;}}@media(min-width:2400px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown .elementor-item, .elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-21 .elementor-element.elementor-element-ef6a960 .elementor-heading-title{font-size:var( --e-global-typography-h2sllv-font-size );line-height:var( --e-global-typography-h2sllv-line-height );letter-spacing:var( --e-global-typography-h2sllv-letter-spacing );}}@media(max-width:1366px){.elementor-21 .elementor-element.elementor-element-d444266{--padding-top:0px;--padding-bottom:0px;--padding-left:32px;--padding-right:32px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-21 .elementor-element.elementor-element-b309945 > .elementor-widget-container{margin:0px 12px 0px 0px;}.elementor-21 .elementor-element.elementor-element-b309945{--e-nav-menu-horizontal-menu-item-margin:calc( 32px / 2 );}.elementor-21 .elementor-element.elementor-element-b309945 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:32px;}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown .elementor-item, .elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-21 .elementor-element.elementor-element-ef6a960 .elementor-heading-title{font-size:var( --e-global-typography-h2sllv-font-size );line-height:var( --e-global-typography-h2sllv-line-height );letter-spacing:var( --e-global-typography-h2sllv-letter-spacing );}}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-21 .elementor-element.elementor-element-3def1cd{width:auto;max-width:auto;}.elementor-21 .elementor-element.elementor-element-3def1cd img{width:150px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-21 .elementor-element.elementor-element-b309945 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-21 .elementor-element.elementor-element-b309945{--e-nav-menu-horizontal-menu-item-margin:calc( 20px / 2 );}.elementor-21 .elementor-element.elementor-element-b309945 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:20px;}.elementor-21 .elementor-element.elementor-element-0fbfccb{--padding-top:32px;--padding-bottom:32px;--padding-left:32px;--padding-right:32px;}body:not(.rtl) .elementor-21 .elementor-element.elementor-element-8d7561f{right:32px;}body.rtl .elementor-21 .elementor-element.elementor-element-8d7561f{left:32px;}.elementor-21 .elementor-element.elementor-element-8d7561f{top:64px;}.elementor-21 .elementor-element.elementor-element-8d7561f .elementor-icon{font-size:32px;}.elementor-21 .elementor-element.elementor-element-8d7561f .elementor-icon svg{height:32px;}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-21 .elementor-element.elementor-element-bd440bc.elementor-element{--align-self:flex-start;}.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown .elementor-item, .elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown a{padding-left:0px;padding-right:0px;padding-top:16px;padding-bottom:16px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-21 .elementor-element.elementor-element-ef6a960 .elementor-heading-title{font-size:var( --e-global-typography-h2sllv-font-size );line-height:var( --e-global-typography-h2sllv-line-height );letter-spacing:var( --e-global-typography-h2sllv-letter-spacing );}}@media(max-width:767px){.elementor-21 .elementor-element.elementor-element-d444266{--min-height:60px;--justify-content:space-between;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-21 .elementor-element.elementor-element-3def1cd > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-21 .elementor-element.elementor-element-3def1cd img{width:125px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-21 .elementor-element.elementor-element-08b1a4f .elementor-icon{font-size:20px;}.elementor-21 .elementor-element.elementor-element-08b1a4f .elementor-icon svg{height:20px;}.elementor-21 .elementor-element.elementor-element-0fbfccb{border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:32px;--padding-bottom:32px;--padding-left:32px;--padding-right:32px;}body:not(.rtl) .elementor-21 .elementor-element.elementor-element-8d7561f{right:20px;}body.rtl .elementor-21 .elementor-element.elementor-element-8d7561f{left:20px;}.elementor-21 .elementor-element.elementor-element-8d7561f{top:16px;}.elementor-21 .elementor-element.elementor-element-8d7561f .elementor-icon{font-size:20px;}.elementor-21 .elementor-element.elementor-element-8d7561f .elementor-icon svg{height:20px;}.elementor-21 .elementor-element.elementor-element-e30b6d2.elementor-element{--align-self:flex-start;}.elementor-21 .elementor-element.elementor-element-e30b6d2 img{width:125px;}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-21 .elementor-element.elementor-element-514efce .elementor-divider{padding-block-start:5px;padding-block-end:5px;}.elementor-21 .elementor-element.elementor-element-bd440bc > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-21 .elementor-element.elementor-element-bd440bc.elementor-element{--align-self:flex-start;}.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--main .elementor-item{padding-left:0px;padding-right:0px;}.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown .elementor-item, .elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-21 .elementor-element.elementor-element-bd440bc .elementor-nav-menu--dropdown a{padding-left:0px;padding-right:0px;padding-top:12px;padding-bottom:12px;}.elementor-21 .elementor-element.elementor-element-fb6f0f4 .elementor-divider{padding-block-start:5px;padding-block-end:5px;}.elementor-21 .elementor-element.elementor-element-60e1d67 .elementor-widget-container{text-align:left;}.elementor-21 .elementor-element.elementor-element-60e1d67{--icon-size:16px;}.elementor-21 .elementor-element.elementor-element-60e1d67 .elementor-social-icon{--icon-padding:0.4em;}.elementor-21 .elementor-element.elementor-element-d31c65c{--padding-top:120px;--padding-bottom:120px;--padding-left:20px;--padding-right:20px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-21 .elementor-element.elementor-element-ef6a960 .elementor-heading-title{font-size:var( --e-global-typography-h2sllv-font-size );line-height:var( --e-global-typography-h2sllv-line-height );letter-spacing:var( --e-global-typography-h2sllv-letter-spacing );}.elementor-21 .elementor-element.elementor-element-47efbea{--padding-top:80px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}}/* Start custom CSS for image, class: .elementor-element-3def1cd *//* ═══════════════════════════════════════
   SOLLEVATO — LOGO DO HEADER
   02-logo-css.css
   CSS Personalizado do WIDGET DE IMAGEM do logo

   O logo e o CTA dividem igualmente o espaco que sobra do menu
   (flex 1 1 0 nos dois). Assim o menu fica no centro exato da tela,
   seja qual for a largura do logo ou do botao.
   O CTA tem a mesma regra no 02-nav-cta-css.
   ═══════════════════════════════════════ */

.elementor-21 .elementor-element.elementor-element-3def1cd {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0;
  max-width: none !important;
  display: flex;
  justify-content: flex-start;
}

.elementor-21 .elementor-element.elementor-element-3def1cd a,
.elementor-21 .elementor-element.elementor-element-3def1cd img {
  display: block;
}/* End custom CSS */
/* Start custom CSS for nav-menu, class: .elementor-element-b309945 *//* ═══════════════════════════════════════
   SOLLEVATO — MENU
   02-nav-css.css
   CSS Personalizado do WIDGET DE MENU (o do header)
   Aqui  .elementor-21 .elementor-element.elementor-element-b309945  e o proprio widget, entao nada disso escapa
   pro menu do popup.
   ═══════════════════════════════════════ */

/* O menu nao cresce: quem divide a sobra sao o logo e o CTA, em
   partes iguais. Assim os links ficam no centro exato da tela. */
.elementor-21 .elementor-element.elementor-element-b309945 { flex: 0 0 auto !important; }

/* !important na tipografia de proposito: o widget de Menu herda a
   global "Primario" (H1) num seletor mais forte que este. */
.elementor-21 .elementor-element.elementor-element-b309945 .elementor-item {
  position: relative;
  padding: 8px 0 !important;
  font-family: var(--sl-fm) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: .1em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap;
  color: var(--sl-nav, #B5B1AA) !important;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
  transition: color .35s var(--sl-ease, cubic-bezier(.2, .7, .1, 1));
}

/* Sublinhado que entra pela esquerda e sai pela direita.
   O transform-origin troca de lado no hover, por isso a saida nao
   e o mesmo movimento ao contrario. */
.elementor-21 .elementor-element.elementor-element-b309945 .elementor-item::after {
  content: '' !important;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  height: 1px !important;
  background: var(--sl-paper, #ECE9E4) !important;
  opacity: 1 !important;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform .5s var(--sl-ease, cubic-bezier(.2, .7, .1, 1)) !important;
}

.elementor-21 .elementor-element.elementor-element-b309945 .elementor-item:hover::after,
.elementor-21 .elementor-element.elementor-element-b309945 .elementor-item.elementor-item-active::after,
.elementor-21 .elementor-element.elementor-element-b309945 .elementor-item.highlighted::after {
  transform: scaleX(1);
  transform-origin: left center;
}

.elementor-21 .elementor-element.elementor-element-b309945 .elementor-item:hover,
.elementor-21 .elementor-element.elementor-element-b309945 .elementor-item:focus,
.elementor-21 .elementor-element.elementor-element-b309945 .elementor-item.elementor-item-active,
.elementor-21 .elementor-element.elementor-element-b309945 .elementor-item.highlighted {
  color: var(--sl-paper, #ECE9E4) !important;
  background: transparent !important;
  outline: none;
}

.elementor-21 .elementor-element.elementor-element-b309945 .elementor-item:focus-visible {
  outline: 1px solid var(--sl-brand, #CBCBCB);
  outline-offset: 4px;
}

/* O dropdown nativo nao e usado: no tablet e no celular quem abre e
   o popup. Garantia caso o widget venha com ele ligado. */
.elementor-21 .elementor-element.elementor-element-b309945 .elementor-menu-toggle,
.elementor-21 .elementor-element.elementor-element-b309945 .elementor-nav-menu--dropdown { display: none !important; }

@media (prefers-reduced-motion: reduce) {
  .elementor-21 .elementor-element.elementor-element-b309945 .elementor-item,
  .elementor-21 .elementor-element.elementor-element-b309945 .elementor-item::after { transition-duration: .001ms !important; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-285ea79 *//* ═══════════════════════════════════════
   SOLLEVATO — CTA DO MENU
   02-nav-cta-css.css
   CSS Personalizado do widget HTML do botao
   O botao em si e o global (.sl-btn, .sl-btn--ghost, .sl-btn--sm).
   Aqui so o que e especifico do header.
   ═══════════════════════════════════════ */

/* Divide o espaco que sobra do menu com o logo (mesma regra do
   02-logo-css), entao o menu fica no centro exato. O botao encosta
   na direita e nunca encolhe abaixo do proprio rotulo. */
.elementor-21 .elementor-element.elementor-element-285ea79 {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: max-content;
  max-width: none !important;
  display: flex;
  justify-content: flex-end;
}

/* Tablet e celular: fica ao lado do icone do menu, mais compacto */
@media (max-width: 1024px) {
  .elementor-21 .elementor-element.elementor-element-285ea79 a.sl-btn.sl-btn--sm {
    min-height: 40px;
    padding: 0 16px;
    font-size: 10px !important;
    letter-spacing: .1em !important;
  }
}

/* Celular: sai a seta e o rotulo vira "Falar". O alvo de toque
   continua com 40px de altura. */
@media (max-width: 480px) {
  .elementor-21 .elementor-element.elementor-element-285ea79 a.sl-btn.sl-btn--sm::before { display: none; }
  .elementor-21 .elementor-element.elementor-element-285ea79 .sl-nav-cta__x  { display: none; }
}/* End custom CSS */
/* Start custom CSS for icon, class: .elementor-element-8d7561f */.elementor-21 .elementor-element.elementor-element-8d7561f{
    
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0fbfccb *//* ═══════════════════════════════════════
   SOLLEVATO — POPUP (MENU MOBILE)
   03-popup-css.css
   Site Settings > CSS Personalizado, logo abaixo do global
   So entrada, saida e cor dos links. A formatacao (tamanho da
   fonte, espacos, ordem) e no Elementor.
     gatilho   .open-popup      (icone de menu no header)
     painel    #popup-overlay   (container)
     fechar    #close-button    (icone dentro do painel)
   ═══════════════════════════════════════ */

body.popup-open { overflow: hidden !important; }

/* ── PAINEL ──
   Cortina que desce de cima, a mesma linguagem da intro da pagina
   (clip-path inset). O conteudo fica parado e a mascara passa por
   cima, por isso le como cortina e nao como gaveta. */
#popup-overlay {
  position: fixed !important;
  top: 0;
  right: 0;
  width: 30vw;
  height: 100vh;
  height: 100svh;
  margin: 0 !important;
  z-index: 999;
  background: var(--sl-ink, #0C0C0B);
  border-left: 1px solid var(--sl-line, #262522);
  display: flex;
  justify-content: center;
  align-items: center;
  /* O padding e o que voce define no Elementor (--padding-*); aqui so
     soma a area segura do iPhone em cima e embaixo. Sem o calc, o
     env() substituiria o padding do Elementor e zeraria o respiro. */
  padding-top: calc(var(--padding-top, 0px) + env(safe-area-inset-top, 0px));
  padding-bottom: calc(var(--padding-bottom, 0px) + env(safe-area-inset-bottom, 0px));
  overflow-y: auto;
  overscroll-behavior: contain;
  visibility: hidden;
  will-change: clip-path;
  clip-path: inset(0 0 100% 0);
  transition:
    clip-path  .9s var(--sl-ease-io, cubic-bezier(.76, 0, .24, 1)),
    visibility .9s;
}

#popup-overlay.active {
  visibility: visible;
  clip-path: inset(0 0 0 0);
}

/* Saida: a cortina sobe de volta, mais rapida que a entrada */
#popup-overlay.closing {
  visibility: hidden;
  clip-path: inset(0 0 100% 0);
  transition:
    clip-path  .55s var(--sl-ease-io, cubic-bezier(.76, 0, .24, 1)),
    visibility .55s;
}

/* ── ITENS ──
   Sobem em cascata depois que a cortina passa. So opacidade e
   deslocamento. */
#popup-overlay .elementor-widget {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity   .65s var(--sl-ease, cubic-bezier(.2, .7, .1, 1)),
    transform .65s var(--sl-ease, cubic-bezier(.2, .7, .1, 1));
}

#popup-overlay.active .elementor-widget { opacity: 1; transform: none; }

#popup-overlay.active .elementor-widget:nth-child(1) { transition-delay: .34s; }
#popup-overlay.active .elementor-widget:nth-child(2) { transition-delay: .41s; }
#popup-overlay.active .elementor-widget:nth-child(3) { transition-delay: .48s; }
#popup-overlay.active .elementor-widget:nth-child(4) { transition-delay: .55s; }
#popup-overlay.active .elementor-widget:nth-child(5) { transition-delay: .62s; }
#popup-overlay.active .elementor-widget:nth-child(6) { transition-delay: .69s; }
#popup-overlay.active .elementor-widget:nth-child(7) { transition-delay: .76s; }
#popup-overlay.active .elementor-widget:nth-child(8) { transition-delay: .83s; }

/* Na saida vai tudo junto e rapido. O :nth-child(n) empata a
   especificidade com a cascata acima, senao o delay da entrada
   continua valendo e os itens ficam presos. */
#popup-overlay.closing .elementor-widget:nth-child(n) {
  opacity: 0;
  transform: translateY(8px);
  transition-duration: .22s;
  transition-delay: 0s;
}

/* ── NO EDITOR ──
   Fica escondido, igual no site, pra nao cobrir a pagina enquanto
   edita. Aparece sozinho quando o painel (ou algo dentro dele) e
   selecionado: clica nele pelo Navegador/Estrutura do Elementor. */
.elementor-editor-active #popup-overlay.elementor-element-editable,
.elementor-editor-active #popup-overlay:has(.elementor-element-editable) {
  visibility: visible;
  clip-path: none;
}
.elementor-editor-active #popup-overlay .elementor-widget { opacity: 1; transform: none; }

/* ── LINKS DO MENU DENTRO DO PAINEL ──
   Widget de Menu do Elementor na vertical. So cor e estado: a
   tipografia vem do proprio widget (sugestao: global H3). */
#popup-overlay .elementor-item {
  color: var(--sl-paper, #ECE9E4) !important;
  background: transparent !important;
  transition: color .35s var(--sl-ease, cubic-bezier(.2, .7, .1, 1));
}

#popup-overlay .elementor-item:hover,
#popup-overlay .elementor-item:focus,
#popup-overlay .elementor-item.elementor-item-active {
  color: var(--sl-muted, #9D9991) !important;
  background: transparent !important;
}

#popup-overlay .elementor-item::after { display: none !important; }

/* ── LARGURA ── */
@media (max-width: 1280px) { #popup-overlay { width: 40vw; } }
@media (max-width: 1024px) { #popup-overlay { width: 60vw; } }
@media (max-width: 767px)  { #popup-overlay { width: 85vw; } }
@media (max-width: 420px)  { #popup-overlay { width: 100vw; border-left: 0; } }

@media (prefers-reduced-motion: reduce) {
  #popup-overlay,
  #popup-overlay.closing,
  #popup-overlay .elementor-widget {
    transition-duration: .001ms !important;
    transition-delay: 0s !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d444266 *//* ═══════════════════════════════════════
   SOLLEVATO — HEADER
   02-header-css.css
   CSS Personalizado do CONTAINER do menu
   O container precisa ter a classe  header-menu
   (o JS procura por ela pra aplicar .scrolled e .is-hidden)

   So o comportamento do container. O menu tem arquivo proprio,
   02-nav-css.css, preso ao widget dele.
   ═══════════════════════════════════════ */

.elementor-21 .elementor-element.elementor-element-d444266 {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  min-height: var(--sl-head-h, 88px);
  padding-top: env(safe-area-inset-top, 0px);
  background: transparent;
  /* backdrop-filter fica FORA da transicao. Animar o desfoque obriga
     o navegador a refazer o borrao a cada quadro. */
  transition: transform .6s var(--sl-ease, cubic-bezier(.2, .7, .1, 1)),
              background-color .4s var(--sl-ease, cubic-bezier(.2, .7, .1, 1));
}

/* Barra de admin do WordPress (logado) */
body.admin-bar .elementor-21 .elementor-element.elementor-element-d444266 { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar .elementor-21 .elementor-element.elementor-element-d444266 { top: 46px; }
}

/* Topo: transparente sobre a hero.
   Depois de 80px: vidro ink. A opacidade de .72 segura o tom
   escuro mesmo passando por cima das secoes claras. */
.elementor-21 .elementor-element.elementor-element-d444266.scrolled {
  background-color: rgba(var(--sl-ink-rgb, 12, 12, 11), .72);
  -webkit-backdrop-filter: blur(14px);
          backdrop-filter: blur(14px);
}

/* Some ao descer (depois de 400px), volta ao subir */
.elementor-21 .elementor-element.elementor-element-d444266.is-hidden { transform: translateY(-100%); }

@media (prefers-reduced-motion: reduce) {
  .elementor-21 .elementor-element.elementor-element-d444266 { transition-duration: .001ms !important; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b50f837 *//* ═══════════════════════════════════════
   SOLLEVATO — HERO CSS
   01-hero-css.css
   Colar no CSS Personalizado do widget HTML da hero

   Ideia: a foto mostra a casa e a rua inteiras. Na parte de baixo,
   uma linha so: headline a esquerda; texto e botoes a direita.
   Nesta etapa so o desktop. Tablet e celular entram depois.
   ═══════════════════════════════════════ */

#sl-hero {
  /* Medidas que mexem na composicao:
       --sl-hero-fold  distancia da dobra (fim da tela) ate a base do
                       conteudo. Maior = headline e botoes mais altos.
       --sl-hero-pb    respiro do conteudo ate o fim da secao.
     A foto fica sempre no mesmo lugar da tela; so o conteudo e o fim
     da secao andam. */
  --sl-hero-fold: calc(clamp(64px, 9vh, 112px) + 32px);
  --sl-hero-pb: 192px;
  /* Quanto a foto sobe em relacao ao conteudo. Com 16px a casa
     inteira fica acima do texto e a headline cai na faixa escura da
     rua, sem disputar com a fachada iluminada. */
  --sl-hero-photo-up: 16px;
  /* "Tela" de referencia: a altura da tela, mas nunca menos que
     34vw + 220px (em notebook largo e baixo o telhado encostaria no
     header). */
  --sl-hero-screen: max(100svh, calc(34vw + 220px));

  /* Unico lugar do CSS onde a imagem aparece. Se trocar o arquivo,
     trocar tambem o <link rel="preload"> no topo do 01-hero-html. */
  --sl-hero-bg: url('https://temporario.sollevato.com.br/wp-content/uploads/2026/10/bg-2500x2000-1.webp');
}

/* ── RESET ESCOPADO ── */
#sl-hero, #sl-hero *, #sl-hero *::before, #sl-hero *::after,
.sl-intro, .sl-intro * { box-sizing: border-box; }
#sl-hero p, #sl-hero h1 { margin: 0; }

/* ── SECAO ── */
#sl-hero {
  position: relative;
  width: 100%;
  isolation: isolate;
  background: var(--sl-ink, #0C0C0B);
  color: var(--sl-paper, #ECE9E4);
  -webkit-font-smoothing: antialiased;
}

/* ── BLOCO DA FOTO ──
   Altura = tela - fold + respiro. O conteudo termina a --sl-hero-fold
   da dobra e a secao continua mais --sl-hero-pb abaixo dele. */
.sl-hero__first {
  position: relative;
  z-index: 1;
  height: calc(var(--sl-hero-screen) - var(--sl-hero-fold) + var(--sl-hero-pb));
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: var(--sl-hero-pb);
}

/* ── FOTO ── */
.sl-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

/* O JS move esta camada (entrada e parallax). Sem transition aqui. */
.sl-hero__media {
  position: absolute;
  inset: 0;
  will-change: transform;
  transform-origin: 50% 70%;
}

/* A foto ocupa 106% da largura (centralizada, as bordas laterais
   sao so arvore). A base dela fica sempre 6vw abaixo da dobra, entao
   a casa nao muda de lugar quando o fold ou o respiro mudam. */
.sl-hero__img {
  position: absolute;
  inset: 0;
  background-image: var(--sl-hero-bg);
  background-repeat: no-repeat;
  background-size: 106% auto;
  background-position: center bottom calc(var(--sl-hero-pb) - var(--sl-hero-fold) - 6vw + var(--sl-hero-photo-up));
  background-color: var(--sl-ink, #0C0C0B);
  /* Dessaturada de leve: tira o laranja do telhado e o azul do ceu,
     pra conversar com a paleta neutra da pagina. Filtro fixo, nunca
     animado (regra do kit). */
  filter: saturate(.8);
}

/* Tela mais alta que larga (tablet em pe): volta pro cover */
@media (max-aspect-ratio: 5/4) {
  .sl-hero__img {
    background-size: cover;
    background-position: center 70%;
  }
}

/* Sombra leve (a foto ja e escura): so um toque no topo, atras do
   header, e na base, onde ficam a headline e os botoes, fundindo a
   rua no ink da proxima secao. O radial no canto de baixo a esquerda
   segura a headline sobre a parte iluminada da foto.
   Veu de 10% no meio, so pra assentar a foto. */
.sl-hero__shade {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(45% 38% at 16% 80%,
      rgba(var(--sl-ink-rgb, 12, 12, 11), .38) 0%,
      rgba(var(--sl-ink-rgb, 12, 12, 11), 0)   70%),
    linear-gradient(180deg,
      rgba(var(--sl-ink-rgb, 12, 12, 11), .45) 0%,
      rgba(var(--sl-ink-rgb, 12, 12, 11), .10) 16%,
      rgba(var(--sl-ink-rgb, 12, 12, 11), .10) 50%,
      rgba(var(--sl-ink-rgb, 12, 12, 11), .42) 72%,
      rgba(var(--sl-ink-rgb, 12, 12, 11), .80) 90%,
      rgba(var(--sl-ink-rgb, 12, 12, 11), 1)   100%);
}

/* ── CONTAINER ──
   1280px de conteudo + o respiro lateral por fora, igual ao
   container boxed do Elementor com padding de 32px. */
.sl-hero__container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: calc(var(--sl-grid, 1280px) + var(--sl-gutter, 32px) * 2);
  margin: 0 auto;
  padding-inline: var(--sl-gutter, 32px);
}

/* ── LINHA DE BAIXO ──
   Grid de 12: headline a esquerda (1 a 7), texto e botoes
   a direita (9 a 12), alinhados pela base.
   O #sl-hero na frente e de proposito: a tipografia global do
   Elementor estiliza h1 com .elementor-kit-XX h1, que e mais forte
   que uma classe sozinha e passava por cima do tamanho daqui. */
.sl-hero__row {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--sl-col-gap, 24px);
  align-items: end;
}

.sl-hero__lead { grid-column: 1 / span 7; }

#sl-hero .sl-hero__title {
  /* Le a global H1 (Primario) do Elementor; o valor depois da
     virgula e so a garantia. */
  font-family: var(--e-global-typography-primary-font-family, 'Geist'), ui-sans-serif, system-ui, sans-serif;
  font-size: var(--e-global-typography-primary-font-size, clamp(40px, 4.2vw, 76px));
  font-weight: var(--e-global-typography-primary-font-weight, 400);
  line-height: var(--e-global-typography-primary-line-height, 1.04);
  letter-spacing: var(--e-global-typography-primary-letter-spacing, -.035em);
  color: var(--sl-paper, #ECE9E4);
  text-align: left;
  margin: 0 !important;
  text-wrap: balance;
}

/* Direita: so o texto e os botoes, alinhados pela base da headline.
   O bloco encosta na borda direita do grid, entao os botoes terminam
   na mesma linha do CTA do header. */
.sl-hero__side {
  grid-column: 9 / span 4;
  justify-self: end;
}

#sl-hero .sl-hero__sub {
  font-family: var(--sl-fb, 'Geist', sans-serif);
  font-size: 18px;
  font-weight: 300;
  line-height: 1.5;
  color: var(--sl-paper, #ECE9E4);
  max-width: 34ch;
}

.sl-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

/* ═══════════════════════════════════════
   INTRO
   Contador de 000 a 100, fio enchendo, e a cortina sobe.
   O fundo e o fusivel estao no <style> do HTML (CSS critico).
   ═══════════════════════════════════════ */
.sl-intro {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 32px var(--sl-gutter, 32px);
  color: var(--sl-paper, #ECE9E4);
  clip-path: inset(0 0 0 0);
}

.sl-intro__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}

.sl-intro__row--end { align-items: flex-end; }

.sl-intro__logo {
  display: flex;
  align-items: center;
  gap: 16px;
  color: var(--sl-brand, #CBCBCB);
}
.sl-intro__logo svg { width: 28px; height: auto; display: block; }
.sl-intro__logo b {
  font-family: var(--sl-fb, 'Geist', sans-serif);
  font-weight: 400;
  font-size: 13px;
  letter-spacing: .34em;
  text-transform: uppercase;
  color: var(--sl-paper, #ECE9E4);
}

.sl-intro__label {
  font-family: var(--sl-fm, 'Geist Mono', monospace);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--sl-muted, #9D9991);
}
.sl-intro__row--end .sl-intro__label { padding-bottom: 32px; }

.sl-intro__count {
  font-family: var(--sl-fb, 'Geist', sans-serif);
  font-weight: 200;
  font-size: clamp(96px, 17vw, 260px);
  letter-spacing: -.06em;
  line-height: .8;
  font-variant-numeric: tabular-nums;
}

.sl-intro__line {
  position: absolute;
  left: var(--sl-gutter, 32px);
  right: var(--sl-gutter, 32px);
  bottom: 24px;
  height: 1px;
  background: var(--sl-line, #262522);
}
.sl-intro__line i {
  position: absolute;
  inset: 0;
  background: var(--sl-paper, #ECE9E4);
  transform: scaleX(0);
  transform-origin: left center;
}

/* ── TABLET E CELULAR (provisorio) ──
   So pra nao quebrar ate a versao mobile ser montada. */
@media (max-width: 1024px) {
  .sl-hero__lead { grid-column: 1 / -1; margin-bottom: 48px; }
  .sl-hero__side { grid-column: 1 / -1; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ef2052a *//* ═══════════════════════════════════════
   SOLLEVATO — EYEBROW
   01-eyebrow-css.css
   CSS Personalizado do widget HTML do eyebrow

   Losango + rotulo em Geist Mono, caixa alta, centralizado.
   Cor ink (pra fundo claro). Nao depende de classe no container.
   Pra usar em secao escura: no HTML, troca a classe pra
   "sl-eyebrow sl-eyebrow--claro".
   ═══════════════════════════════════════ */

.elementor-21 .elementor-element.elementor-element-ef2052a {
  display: flex;
  justify-content: center;
}

.elementor-21 .elementor-element.elementor-element-ef2052a .sl-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0 !important;
  font-family: var(--sl-fm, 'Geist Mono', monospace) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: .12em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  color: var(--sl-ink, #0C0C0B) !important;
}

.elementor-21 .elementor-element.elementor-element-ef2052a .sl-eyebrow.sl-eyebrow--claro {
  color: var(--sl-paper, #ECE9E4) !important;
}

/* Losango: um quadrado de 6px girado 45 graus */
.elementor-21 .elementor-element.elementor-element-ef2052a .sl-eyebrow::before {
  content: '';
  width: 6px;
  height: 6px;
  flex-shrink: 0;
  background: currentColor;
  transform: rotate(45deg);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4a04b21 *//* ═══════════════════════════════════════
   SOLLEVATO — CTA DA SECAO SOBRE
   02-cta-css.css
   CSS Personalizado do widget HTML do botao
   O botao em si vem do global; aqui so o alinhamento e o tamanho
   mais enxuto, na medida do botao da Fluid (48px).
   ═══════════════════════════════════════ */

.elementor-21 .elementor-element.elementor-element-4a04b21 {
  display: flex;
  justify-content: center;
  margin-top: 20px;   /* + 20px do gap do container = 40px da headline */
}

.elementor-21 .elementor-element.elementor-element-4a04b21 a.sl-btn.sl-btn--ink {
  min-height: 48px;
  padding: 0 28px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f4b23c7 *//* ═══════════════════════════════════════
   SOLLEVATO — O QUE FAZEMOS (colecao visual)
   servicos-css.css
   CSS Personalizado do widget HTML da secao

   Grid de 12 colunas, 1280 + respiro lateral (igual ao resto).
   A foto nao tem tamanho fixo: ocupa colunas e segue a proporcao
   4:5, entao escala junto com a tela.
   ═══════════════════════════════════════ */

.sl-colecao,
.sl-colecao * { box-sizing: border-box; }

.sl-colecao {
  background: var(--sl-paper, #ECE9E4);
  color: var(--sl-ink, #0C0C0B);
  padding: 80px 0;
  overflow: hidden;           /* o parallax nao vaza pra fora */
}

.sl-colecao__wrap {
  width: 100%;
  max-width: calc(var(--sl-grid, 1280px) + var(--sl-gutter, 32px) * 2);
  margin: 0 auto;
  padding-inline: var(--sl-gutter, 32px);
}

/* ── 1 · DIVISORIA + EYEBROW ── */
.sl-colecao__fio {
  display: block;
  width: 100%;
  height: 1px;
  margin: 0;
  border: 0;
  background: rgba(var(--sl-ink-rgb, 12, 12, 11), .16);
}

.sl-colecao__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 32px 0 0 !important;
  font-family: var(--sl-fm, 'Geist Mono', monospace) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: .12em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  color: var(--sl-ink, #0C0C0B) !important;
}

.sl-colecao__eyebrow::before {
  content: '';
  width: 6px;
  height: 6px;
  flex-shrink: 0;
  background: currentColor;
  transform: rotate(45deg);
}

/* ── FOTO / VIDEO ──
   Moldura 3:4, sem titulo. A midia fica maior que a moldura e o JS
   (initParallax) desliza ela por dentro com a rolagem. Sem JS ela
   fica parada e centralizada. */
.sl-card {
  position: relative;
  margin: 0;
  aspect-ratio: 3 / 4;
  overflow: hidden;
}

.sl-card img,
.sl-card video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.85);
  background: var(--sl-ink, #0C0C0B);
  will-change: transform;
}

/* ── 2 · FOTO + TEXTO ──
   Foto nas colunas 4 a 8; texto nas 10 a 12, alinhado pela base. */
.sl-colecao__intro {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--sl-col-gap, 24px);
  align-items: end;
  margin-top: 96px;
}

.sl-card--a { grid-column: 4 / span 5; }

.sl-colecao__texto {
  grid-column: 10 / span 3;
  padding-bottom: 8px;
}

.sl-colecao__texto p {
  margin: 0 0 40px !important;
  font-family: var(--sl-fb, 'Geist', sans-serif);
  font-size: 20px;
  font-weight: 300;
  line-height: 1.45;
  letter-spacing: -.01em;
  color: var(--sl-ink, #0C0C0B);
  text-wrap: pretty;
}

.sl-colecao__texto strong { font-weight: 500; }

.sl-colecao__texto .sl-btn {
  min-height: 48px;
  padding: 0 28px;
}

/* ── TABLET ──
   Video nas colunas 1 a 7, texto nas 8 a 12, alinhado pela base. */
@media (max-width: 1024px) {
  .sl-colecao__intro { margin-top: 64px; }
  .sl-card--a { grid-column: 1 / span 7; }
  .sl-colecao__texto { grid-column: 8 / span 5; }
  .sl-colecao__texto p { font-size: 18px; margin-bottom: 32px !important; }
}

/* ── CELULAR ── um embaixo do outro */
@media (max-width: 767px) {
  .sl-colecao__intro { grid-template-columns: minmax(0, 1fr); row-gap: 32px; margin-top: 48px; }
  .sl-card--a, .sl-colecao__texto { grid-column: 1 / -1; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-33cc0f0 *//* SOLLEVATO — EYEBROW DA ESQUERDA
   CSS Personalizado do widget HTML.
   Mesmo eyebrow da secao Sobre (losango + Geist Mono 13px, ink),
   alinhado a esquerda. */

.elementor-21 .elementor-element.elementor-element-33cc0f0 .sl-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0 !important;
  font-family: var(--sl-fm, 'Geist Mono', monospace) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: .12em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  color: var(--sl-ink, #0C0C0B) !important;
}

.elementor-21 .elementor-element.elementor-element-33cc0f0 .sl-eyebrow::before {
  content: '';
  width: 6px;
  height: 6px;
  flex-shrink: 0;
  background: currentColor;
  transform: rotate(45deg);
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-4c4ce82 *//* SOLLEVATO — HEADLINE DO MANIFESTO
   CSS Personalizado do widget de Titulo (H2).
   Classe do widget (Avancado > Classes CSS):  sl-manifesto
   (se quiser o efeito de acender com a rolagem, soma: sl-manifesto sl-scrub)

   Texto do titulo, com o trecho apagado num span:
   Quem projeta, constrói. <span class="sl-dim">O que você aprova no papel é o que vira casa.</span>

   Tamanho, peso e espacamento vem da global H2 do Elementor.
   Aqui so a cor (ink e o trecho apagado) e a quebra equilibrada. */

.elementor-21 .elementor-element.elementor-element-4c4ce82 .elementor-heading-title {
  font-family: var(--e-global-typography-h2sllv-font-family, 'Geist'), ui-sans-serif, system-ui, sans-serif;
  font-size: var(--e-global-typography-h2sllv-font-size, clamp(32px, 3.4vw, 60px));
  font-weight: var(--e-global-typography-h2sllv-font-weight, 400);
  line-height: var(--e-global-typography-h2sllv-line-height, 1.08);
  letter-spacing: var(--e-global-typography-h2sllv-letter-spacing, -.03em);
  color: var(--sl-ink, #0C0C0B);
  text-wrap: balance;
  margin: 0;
}

/* Trecho apagado: cinza quente, legivel no paper */
.elementor-21 .elementor-element.elementor-element-4c4ce82 .elementor-heading-title .sl-dim {
  color: #8A857D;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ed1953e *//* ═══════════════════════════════════════
   SOLLEVATO — NUMEROS DO MANIFESTO
   numeros-css.css
   CSS Personalizado do widget HTML dos numeros

   Tres colunas iguais, cada uma com fio em cima, numero grande
   em Geist 400 e rotulo curto embaixo. Cor ink (fundo claro).
   ═══════════════════════════════════════ */

.elementor-21 .elementor-element.elementor-element-ed1953e {
  margin-top: 60px;   /* + 20px do gap do container = 80px da headline */
}

.elementor-21 .elementor-element.elementor-element-ed1953e .sl-numeros {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: var(--sl-col-gap, 24px);
  margin: 0;
  padding: 0;
}

.elementor-21 .elementor-element.elementor-element-ed1953e .sl-numeros__item {
  padding-top: 24px;
  border-top: 1px solid rgba(var(--sl-ink-rgb, 12, 12, 11), .16);
}

.elementor-21 .elementor-element.elementor-element-ed1953e .sl-numeros__valor {
  margin: 0;
  font-family: var(--sl-fb, 'Geist', sans-serif);
  font-size: clamp(40px, 3.6vw, 64px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.04em;
  color: var(--sl-ink, #0C0C0B);
}

.elementor-21 .elementor-element.elementor-element-ed1953e .sl-numeros__rotulo {
  margin: 16px 0 0;
  font-family: var(--sl-fb, 'Geist', sans-serif);
  font-size: 14px;
  font-weight: 300;
  line-height: 1.5;
  color: var(--sl-muted-paper, #5C5850);
}

/* Celular: um embaixo do outro */
@media (max-width: 767px) {
  .elementor-21 .elementor-element.elementor-element-ed1953e { margin-top: 28px; }
  .elementor-21 .elementor-element.elementor-element-ed1953e .sl-numeros { grid-template-columns: 1fr; row-gap: 32px; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-94ae6b5 *//* ═══════════════════════════════════════
   SOLLEVATO — LINHA DO MANIFESTO (eyebrow | headline + numeros)
   linha-css.css
   CSS Personalizado do CONTAINER da linha (o que segura as duas
   colunas). Troca o flex do Elementor pelo grid de 12 do site,
   entao as larguras dos dois containers filhos no painel deixam
   de importar.

   Padrao da pagina (desktop):
     eyebrow   colunas 1 a 3
     conteudo  colunas 4 a 12
   A coluna 4 e a mesma onde comeca a foto do "O que fazemos",
   e os 3 numeros caem em 3 colunas cada (4-6, 7-9, 10-12), com o
   ultimo alinhado ao texto do "O que fazemos".
   ═══════════════════════════════════════ */

.elementor-21 .elementor-element.elementor-element-94ae6b5 {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--sl-col-gap, 24px) !important;
  row-gap: 0 !important;
  align-items: start;
}

.elementor-21 .elementor-element.elementor-element-94ae6b5 > .e-con {
  width: auto !important;
  max-width: none !important;
  min-width: 0;
}

/* "of .e-con" conta so os containers. No editor o Elementor poe
   outros elementos dentro (contorno, alcas), e o nth-child comum
   errava a coluna. */
.elementor-21 .elementor-element.elementor-element-94ae6b5 > .e-con:nth-child(1 of .e-con) { grid-column: 1 / span 3; }
.elementor-21 .elementor-element.elementor-element-94ae6b5 > .e-con:nth-child(2 of .e-con) { grid-column: 4 / span 9; }

/* Tablet e celular: um embaixo do outro */
@media (max-width: 1024px) {
  .elementor-21 .elementor-element.elementor-element-94ae6b5 {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 32px !important;
  }
  .elementor-21 .elementor-element.elementor-element-94ae6b5 > .e-con { grid-column: 1 / -1 !important; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2a5b579 *//* ═══════════════════════════════════════
   SOLLEVATO — FAIXA COM FUNDO EM PARALLAX
   faixa-css.css
   CSS Personalizado do widget HTML da faixa

   Parallax de fundo classico: a camada do fundo e 30% mais alta que
   a secao (15% sobrando em cima e embaixo) e o JS desliza ela devagar
   enquanto a secao passa. background-size: cover, entao funciona em
   qualquer tela, do celular ao monitor grande.
   ═══════════════════════════════════════ */

.sl-faixa {
  --sl-faixa-bg: url('https://temporario.sollevato.com.br/wp-content/uploads/2026/10/bg-parallax.webp');
  position: relative;
  width: 100%;
  height: max(110svh, 560px);
  overflow: hidden;
  background: var(--sl-ink, #0C0C0B);
}

.sl-faixa__bg {
  position: absolute;
  top: -15%;
  bottom: -15%;
  left: 0;
  right: 0;
  background: var(--sl-faixa-bg) center / cover no-repeat;
  will-change: transform;
}

/* Celular: secao mais baixa */
@media (max-width: 767px) {
  .sl-faixa { height: 75svh; min-height: 480px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1c00f62 *//* ═══════════════════════════════════════
   SOLLEVATO — PERCURSO (do traco a chave)
   percurso-css.css
   CSS Personalizado do widget HTML da secao

   Desktop: uma tela de altura. Cabecalho em cima, trilho de etapas
   no meio, que o JS desliza na horizontal enquanto a secao fica
   travada. O trilho comeca alinhado a borda esquerda do grid.
   Tablet e celular: linha do tempo vertical, sem travar.
   ═══════════════════════════════════════ */

.sl-percurso,
.sl-percurso * { box-sizing: border-box; }

.sl-percurso {
  --pc-grafite: var(--sl-graphite, #212325);
  --pc-fio: rgba(var(--sl-paper-rgb, 236, 233, 228), .14);
  --pc-borda: max(var(--sl-gutter, 32px), calc((100vw - var(--sl-grid, 1280px)) / 2));
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100svh;
  min-height: 760px;
  padding: 160px 0 120px;
  overflow: hidden;
  background: var(--pc-grafite);
  color: var(--sl-paper, #ECE9E4);
}

.sl-percurso p,
.sl-percurso h2,
.sl-percurso h3,
.sl-percurso ol { margin: 0; }

/* Linhas diagonais finas no fundo */
.sl-percurso__fundo {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.sl-percurso__fundo svg { width: 100%; height: 100%; display: block; }
.sl-percurso__fundo path { fill: none; stroke: rgba(var(--sl-paper-rgb, 236, 233, 228), .06); }

.sl-percurso__wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

/* ── CABECALHO ── */
.sl-percurso__head {
  width: 100%;
  max-width: calc(var(--sl-grid, 1280px) + var(--sl-gutter, 32px) * 2);
  margin: 0 auto;
  padding-inline: var(--sl-gutter, 32px);
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px;
}

.sl-percurso__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--sl-fm, 'Geist Mono', monospace);
  font-size: 13px;
  letter-spacing: .12em;
  line-height: 1;
  text-transform: uppercase;
}
.sl-percurso__eyebrow::before {
  content: '';
  width: 6px;
  height: 6px;
  flex-shrink: 0;
  background: currentColor;
  transform: rotate(45deg);
}

.sl-percurso .sl-percurso__titulo {
  max-width: 16em;
  margin-top: 32px;
  font-family: var(--e-global-typography-h2sllv-font-family, 'Geist'), ui-sans-serif, system-ui, sans-serif;
  font-size: var(--e-global-typography-h2sllv-font-size, clamp(32px, 3.4vw, 60px));
  font-weight: 400;
  line-height: var(--e-global-typography-h2sllv-line-height, 1.08);
  letter-spacing: var(--e-global-typography-h2sllv-letter-spacing, -.03em);
  color: var(--sl-paper, #ECE9E4);
  text-wrap: balance;
}
.sl-percurso .sl-dim { color: #7E7C78; }

.sl-percurso__conta {
  flex-shrink: 0;
  font-family: var(--sl-fm, 'Geist Mono', monospace);
  font-size: 13px;
  letter-spacing: .12em;
  color: var(--sl-muted, #9D9991);
}
.sl-percurso__conta span { color: var(--sl-paper, #ECE9E4); }

/* ── TRILHO ── */
.sl-percurso__janela {
  flex: 1;
  display: flex;
  align-items: center;
  min-height: 0;
  margin-top: 64px;
}

.sl-percurso__trilho {
  display: flex;
  align-items: stretch;
  width: max-content;
  padding-inline: var(--pc-borda);
  will-change: transform;
}

.sl-percurso__etapas {
  position: relative;
  display: flex;
  padding: 0;
  list-style: none;
}

/* A linha que corre por todas as etapas. O JS enche o <i>. */
.sl-percurso__linha {
  position: absolute;
  top: 44px;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--pc-fio);
  list-style: none;
}
.sl-percurso__linha i {
  position: absolute;
  inset: 0;
  background: var(--sl-paper, #ECE9E4);
  transform-origin: left center;
}

.sl-percurso__etapa {
  position: relative;
  width: clamp(300px, 25vw, 380px);
  padding-right: 56px;
  transition: opacity .6s var(--sl-ease, cubic-bezier(.2, .7, .1, 1));
}

.sl-percurso__num {
  display: block;
  font-family: var(--sl-fm, 'Geist Mono', monospace);
  font-size: 12px;
  letter-spacing: .12em;
  color: var(--sl-muted, #9D9991);
}

.sl-percurso__no {
  position: absolute;
  top: 40px;
  left: 0;
  width: 9px;
  height: 9px;
  background: var(--sl-paper, #ECE9E4);
  transform: rotate(45deg);
}

.sl-percurso__etapa h3 {
  margin-top: 72px;
  font-family: var(--sl-fb, 'Geist', sans-serif);
  font-size: clamp(28px, 2.4vw, 40px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.025em;
  color: var(--sl-paper, #ECE9E4);
}

.sl-percurso__etapa p {
  max-width: 30ch;
  margin-top: 16px;
  font-family: var(--sl-fb, 'Geist', sans-serif);
  font-size: 16px;
  font-weight: 300;
  line-height: 1.55;
  color: #A9A6A0;
}

/* Com o JS ligado, etapa ainda nao alcancada fica apagada */
.sl-percurso.is-anima .sl-percurso__etapa { opacity: .3; }
.sl-percurso.is-anima .sl-percurso__etapa.is-on { opacity: 1; }

/* Fechamento no fim do trilho */
.sl-percurso__fim {
  width: clamp(360px, 32vw, 500px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 32px;
  padding-left: 24px;
}

.sl-percurso__fecho {
  font-family: var(--sl-fb, 'Geist', sans-serif);
  font-size: clamp(28px, 2.4vw, 40px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.025em;
  color: var(--sl-paper, #ECE9E4);
}

.sl-percurso__fim .sl-btn { min-height: 48px; padding: 0 28px; }

/* ── TABLET E CELULAR: linha do tempo vertical, sem travar ── */
@media (max-width: 1024px) {
  .sl-percurso {
    height: auto;
    min-height: 0;
    padding: 120px 0;
  }
  .sl-percurso__conta { display: none; }
  .sl-percurso__janela { margin-top: 56px; }
  .sl-percurso__trilho {
    flex-direction: column;
    width: 100%;
    padding-inline: var(--sl-gutter, 32px);
    transform: none !important;
  }
  .sl-percurso__etapas { flex-direction: column; }
  .sl-percurso__linha {
    top: 6px;
    bottom: 0;
    left: 4px;
    right: auto;
    width: 1px;
    height: auto;
  }
  .sl-percurso__linha i { transform: none !important; }
  .sl-percurso__etapa {
    width: auto;
    padding: 0 0 48px 40px;
    opacity: 1 !important;
  }
  .sl-percurso__no { top: 2px; }
  .sl-percurso__etapa h3 { margin-top: 12px; font-size: 28px; }
  .sl-percurso__fim { width: auto; padding: 8px 0 0 40px; gap: 24px; }
}

@media (max-width: 767px) {
  .sl-percurso { padding: 100px 0; }
}/* End custom CSS */
/* Start custom CSS *//* ═══════════════════════════════════════
   SOLLEVATO — CSS GLOBAL
   00-global-css.css
   Site Settings > CSS Personalizado
   NAO colar no container do menu
   ═══════════════════════════════════════ */

:root {
  /* ── Cores ──
     As principais leem das cores globais do Elementor (Site Settings >
     Cores Globais). Mudou la, muda aqui. O valor depois da virgula e
     so a garantia caso a global suma.
     As versoes -rgb alimentam rgba() e precisam ser editadas na mao. */
  --sl-ink:          var(--e-global-color-primary,   #0C0C0B);
  --sl-ink-rgb:      12, 12, 11;
  --sl-paper:        var(--e-global-color-secondary, #ECE9E4);
  --sl-paper-rgb:    236, 233, 228;
  --sl-muted:        var(--e-global-color-text,      #9D9991);   /* texto secundario no escuro */
  --sl-brand:        var(--e-global-color-accent,    #CBCBCB);   /* cinza do simbolo           */
  --sl-dim:          #6E6A63;   /* trecho apagado de titulo, fundo escuro */
  --sl-dim-paper:    #857F76;   /* trecho apagado de titulo, fundo claro  */
  --sl-muted-paper:  #5C5850;   /* texto secundario no claro              */
  --sl-line:         #262522;   /* divisoria no escuro                    */
  --sl-paper-line:   #CFCAC1;   /* divisoria no claro                     */
  --sl-nav:          #B5B1AA;   /* links do menu em repouso               */
  --sl-graphite:     #212325;   /* fundo das secoes escuras (grafite)     */

  /* ── Tipografia ──
     Geist e Geist Mono estao em Elementor > Fontes (Custom Fonts),
     hospedadas no proprio WordPress. Aqui so entra o nome. */
  --sl-fb: 'Geist', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --sl-fm: 'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  /* ── Layout ──
     Mesmo sistema da V1B: escala de 8pt e tres respiros fixos.
       --sl-sec        topo e base de cada secao
       --sl-head-gap   cabecalho da secao ate o conteudo
       --sl-block-gap  entre blocos dentro da mesma secao */
  /* Grid do kit: 1280px de conteudo, com o respiro lateral FORA
     dele (32px no desktop e tablet, 20px no celular). */
  --sl-grid:      1280px;
  --sl-gutter:    32px;
  --sl-col-gap:   24px;
  --sl-sec:       clamp(96px, 11vw, 160px);
  --sl-head-gap:  clamp(48px, 5.5vw, 80px);
  --sl-block-gap: clamp(64px, 8vw, 112px);

  --sl-ease:    cubic-bezier(.2, .7, .1, 1);
  --sl-ease-io: cubic-bezier(.76, 0, .24, 1);

  /* Altura do header. 88px no desktop, 72px de 1024px pra baixo.
     Alimenta o respiro da hero e o offset das ancoras; o CSS e o JS
     leem daqui, entao e o unico lugar a mexer. */
  --sl-head-h: 88px;
}

@media (max-width: 1024px) {
  :root { --sl-head-h: 72px; --sl-col-gap: 16px; }
}

@media (max-width: 767px) {
  :root { --sl-gutter: 20px; }
}

/* ── Base ──
   Sem o antialiased a Geist Light engorda no Mac e perde a cara. */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

html { scrollbar-gutter: stable; }

/* A Geist so foi carregada em estilo normal. Em <em> e <i> o
   navegador inventaria um italico falso. */
em, i, cite { font-style: normal; }

/* Ancoras abertas direto pela URL nao param embaixo do menu.
   O clique no menu e resolvido no JS, que ja desconta o header. */
[id] { scroll-margin-top: var(--sl-head-h, 88px); }

::selection {
  background: var(--sl-paper, #ECE9E4);
  color: var(--sl-ink, #0C0C0B);
}

:focus-visible {
  outline: 1px solid var(--sl-brand, #CBCBCB);
  outline-offset: 4px;
}
.sl-light :focus-visible { outline-color: var(--sl-ink, #0C0C0B); }

/* ── Lenis ──
   As regras do lenis.css, aqui em vez de um <link> a mais. */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-smooth iframe { pointer-events: none; }

/* ═══════════════════════════════════════
   SECAO CLARA
   Classe  sl-light  no container da secao de fundo paper.
   Troca as cores de apoio. A cor de fundo e do texto vem do
   proprio container, no Elementor.
   ═══════════════════════════════════════ */
.sl-light {
  --sl-dim: var(--sl-dim-paper, #857F76);
  --sl-line: var(--sl-paper-line, #CFCAC1);
}

/* ═══════════════════════════════════════
   UTILIDADES DE TEXTO
   ═══════════════════════════════════════ */

/* Trecho apagado dentro de titulo: <span class="sl-dim">...</span>
   Em secao  sl-light  o tom troca sozinho. */
.sl-dim { color: var(--sl-dim, #6E6A63); font-weight: inherit; }

/* Numeros que nao dancam (contadores, telefone, metragem) */
.sl-num { font-variant-numeric: tabular-nums lining-nums; }

/* ═══════════════════════════════════════
   BOTAO
   Serve pros dois casos:
     · widget Botao do Elementor com a classe  sl-btn
     · <a class="sl-btn"> dentro de widget HTML
   Variantes (somam com sl-btn):
     sl-btn--ghost   contorno, fundo transparente (sobre escuro)
     sl-btn--ink     fundo ink (sobre secao clara)
     sl-btn--sm      44px de altura
   A seta ↳ vem do CSS, nao precisa de icone no widget.
   ═══════════════════════════════════════ */

a.sl-btn,
.sl-btn .elementor-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 56px;
  padding: 0 32px;
  border: 1px solid transparent;
  border-radius: 2px;
  font-family: var(--sl-fm) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: .12em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background-color .4s var(--sl-ease), color .4s var(--sl-ease), border-color .4s var(--sl-ease);
}

.sl-btn .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 16px;
}

/* A seta. No widget nativo ela entra no wrapper do conteudo,
   no <a> do HTML entra no proprio link. */
a.sl-btn::before,
.sl-btn .elementor-button-content-wrapper::before {
  content: '↳';
  font-family: var(--sl-fb);
  font-size: 15px;
  letter-spacing: 0;
  line-height: 1;
  transform: translateY(-2px);
  transition: transform .5s var(--sl-ease);
}

a.sl-btn:hover::before,
.sl-btn .elementor-button:hover .elementor-button-content-wrapper::before {
  transform: translate(4px, -2px);
}

/* Repouso: solido paper, texto ink */
a.sl-btn,
.sl-btn .elementor-button {
  background-color: var(--sl-paper, #ECE9E4) !important;
  color: var(--sl-ink, #0C0C0B) !important;
}
a.sl-btn:hover, a.sl-btn:focus-visible,
.sl-btn .elementor-button:hover,
.sl-btn .elementor-button:focus-visible {
  background-color: #FFFFFF !important;
  color: var(--sl-ink, #0C0C0B) !important;
}

/* Ghost: contorno paper 32%, texto paper */
a.sl-btn.sl-btn--ghost,
.sl-btn--ghost .elementor-button {
  background-color: transparent !important;
  border-color: rgba(var(--sl-paper-rgb), .32) !important;
  color: var(--sl-paper, #ECE9E4) !important;
}
a.sl-btn.sl-btn--ghost:hover, a.sl-btn.sl-btn--ghost:focus-visible,
.sl-btn--ghost .elementor-button:hover,
.sl-btn--ghost .elementor-button:focus-visible {
  background-color: transparent !important;
  border-color: var(--sl-paper, #ECE9E4) !important;
  color: var(--sl-paper, #ECE9E4) !important;
}

/* Ink: pra secao clara */
a.sl-btn.sl-btn--ink,
.sl-btn--ink .elementor-button {
  background-color: var(--sl-ink, #0C0C0B) !important;
  color: var(--sl-paper, #ECE9E4) !important;
}
a.sl-btn.sl-btn--ink:hover, a.sl-btn.sl-btn--ink:focus-visible,
.sl-btn--ink .elementor-button:hover,
.sl-btn--ink .elementor-button:focus-visible {
  background-color: #000000 !important;
  color: var(--sl-paper, #ECE9E4) !important;
}

/* Pequeno */
a.sl-btn.sl-btn--sm,
.sl-btn--sm .elementor-button {
  min-height: 44px;
  padding: 0 24px;
  font-size: 11px !important;
}

/* ═══════════════════════════════════════
   ESTADOS INICIAIS DAS ANIMACOES
   O JS anima a partir daqui. Se o GSAP nao carregar, o JS devolve
   tudo ao normal em ate 6s (lista OCULTOS). No editor e com
   "reduzir movimento" fica tudo visivel desde o comeco.

   sl-reveal     sobe com fade ao entrar na tela
   sl-split      titulo revelado palavra por palavra
   sl-clip       imagem revelada de baixo pra cima
   sl-parallax   imagem com parallax leve (sem estado inicial)
   ═══════════════════════════════════════ */

.sl-reveal,
.sl-split { opacity: 0; }

.sl-clip { clip-path: inset(100% 0 0 0); }

/* Mascara de cada palavra do sl-split. O padding compensa o corte
   da descida em g, ç, p e q. */
.sl-w {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
  padding-bottom: .08em;
  margin-bottom: -.08em;
}
.sl-wi { display: inline-block; will-change: transform; }

/* Parallax: a imagem fica 14% maior (via JS) e a caixa corta */
.sl-parallax .elementor-widget-container,
.sl-parallax.e-con { overflow: hidden; }

.elementor-editor-active .sl-reveal,
.elementor-editor-active .sl-split { opacity: 1 !important; }
.elementor-editor-active .sl-clip  { clip-path: none !important; }

@media (prefers-reduced-motion: reduce) {
  .sl-reveal, .sl-split { opacity: 1 !important; }
  .sl-clip { clip-path: none !important; }
}

/* ── Overrides do Elementor ──
   O widget HTML corta por padrao. Sem isso o que for absoluto e
   sair da caixa some. */
.elementor-widget-html { overflow: visible !important; }/* End custom CSS */