.elementor-67061 .elementor-element.elementor-element-2c132c1{--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;--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;}.elementor-67061 .elementor-element.elementor-element-7f4b9f9{--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;--align-items:center;--padding-top:0px;--padding-bottom:100px;--padding-left:32px;--padding-right:32px;}.elementor-67061 .elementor-element.elementor-element-788bc1b{--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;--align-items:center;--margin-top:-55px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-4319f3a{--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;--align-items:flex-start;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-4319f3a.e-con{--flex-grow:0;--flex-shrink:0;}.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-67061 .elementor-element.elementor-element-0c2de68 .elementor-heading-title{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 );text-transform:var( --e-global-typography-text-text-transform );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );color:#1A8B72;}.elementor-67061 .elementor-element.elementor-element-90f21e6 > .elementor-widget-container{margin:8px 0px 0px 0px;}.elementor-67061 .elementor-element.elementor-element-90f21e6 .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:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-47f9167 > .elementor-widget-container{margin:8px 0px 0px 0px;}.elementor-67061 .elementor-element.elementor-element-47f9167 .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:25px;font-weight:400;line-height:1.18em;letter-spacing:-0.03em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-0b6a993 .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:25px;font-weight:400;line-height:1.18em;letter-spacing:-0.03em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-2b284ca{--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;--padding-top:16px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );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 );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-67061 .elementor-element.elementor-element-bbce7bb .elementor-button{background-color:rgba(0,0,0,0);font-family:"Mark", Sans-serif;font-size:15px;font-weight:700;letter-spacing:-0.015em;fill:#1C1A17;color:#1C1A17;border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-65fadaf );border-radius:100px 100px 100px 100px;}.elementor-67061 .elementor-element.elementor-element-bbce7bb .elementor-button:hover, .elementor-67061 .elementor-element.elementor-element-bbce7bb .elementor-button:focus{background-color:var( --e-global-color-65fadaf );}.elementor-67061 .elementor-element.elementor-element-8bb801f{--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;--align-items:center;border-style:none;--border-style:none;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-8b512c7{width:var( --container-widget-width, 81% );max-width:81%;--container-widget-width:81%;--container-widget-flex-grow:0;}.elementor-67061 .elementor-element.elementor-element-8b512c7.elementor-element{--align-self:flex-start;--flex-grow:0;--flex-shrink:0;}.elementor-67061 .elementor-element.elementor-element-8b512c7 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-67061 .elementor-element.elementor-element-49dbafa{--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;--align-items:center;--padding-top:104px;--padding-bottom:104px;--padding-left:32px;--padding-right:32px;}.elementor-67061 .elementor-element.elementor-element-5793052{--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;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-c5e9539{--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;--align-items:center;--padding-top:0px;--padding-bottom:32px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-a11701a .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:#1A8B72;}.elementor-67061 .elementor-element.elementor-element-b09108b .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:48px;font-weight:700;line-height:1.05em;letter-spacing:-0.035em;color:#1C1A17;}.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 );text-transform:var( --e-global-typography-text-text-transform );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );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-67061 .elementor-element.elementor-element-3078fbc{font-family:"Mark", Sans-serif;font-size:19px;font-weight:400;line-height:30px;letter-spacing:-0.04em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-1ef24d4{--e-image-carousel-slides-to-show:3;}.elementor-67061 .elementor-element.elementor-element-1ef24d4 .elementor-image-carousel-wrapper .elementor-image-carousel .swiper-slide-image{border-radius:25px 25px 25px 25px;}.elementor-67061 .elementor-element.elementor-element-740f1cf{--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;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-7f96010{font-family:"Mark", Sans-serif;font-size:13px;font-weight:400;letter-spacing:-0.01em;color:rgba(28,26,23,0.55);}.elementor-67061 .elementor-element.elementor-element-823e2ee{--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;--align-items:center;--padding-top:104px;--padding-bottom:104px;--padding-left:32px;--padding-right:32px;}.elementor-67061 .elementor-element.elementor-element-e470d64{--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;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-f705335{--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;--align-items:center;--padding-top:0px;--padding-bottom:32px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-e232be6 .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:#1A8B72;}.elementor-67061 .elementor-element.elementor-element-01cd3c2 .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:48px;font-weight:700;line-height:1.05em;letter-spacing:-0.035em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-66c7877{font-family:"Mark", Sans-serif;font-size:19px;font-weight:400;line-height:30px;letter-spacing:-0.04em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-4c9a01a{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:40px;--margin-bottom:40px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-efeb420{--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;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-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 );text-transform:var( --e-global-typography-text-text-transform );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-67061 .elementor-element.elementor-element-380a715{--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;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-bd6e9fa{--display:grid;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-abfff2d{--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;--align-items:flex-start;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-214c085 .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:52px;font-weight:700;line-height:1em;letter-spacing:-0.04em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-6c97578{font-family:"Mark", Sans-serif;font-size:18px;font-weight:400;line-height:1.45em;letter-spacing:-0.01em;color:rgba(28,26,23,0.55);}.elementor-67061 .elementor-element.elementor-element-95e9615{--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;--align-items:flex-start;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-69390d7 .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:52px;font-weight:700;line-height:1em;letter-spacing:-0.04em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-e714662{font-family:"Mark", Sans-serif;font-size:18px;font-weight:400;line-height:1.45em;letter-spacing:-0.01em;color:rgba(28,26,23,0.55);}.elementor-67061 .elementor-element.elementor-element-9b42264{--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;--align-items:flex-start;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-e210c82 .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:52px;font-weight:700;line-height:1em;letter-spacing:-0.04em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-ca0a5d0{font-family:"Mark", Sans-serif;font-size:18px;font-weight:400;line-height:1.45em;letter-spacing:-0.01em;color:rgba(28,26,23,0.55);}.elementor-67061 .elementor-element.elementor-element-f44693d{--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;--align-items:flex-start;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-8afcc93 .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:52px;font-weight:700;line-height:1em;letter-spacing:-0.04em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-e5c770a{font-family:"Mark", Sans-serif;font-size:18px;font-weight:400;line-height:1.45em;letter-spacing:-0.01em;color:rgba(28,26,23,0.55);}.elementor-67061 .elementor-element.elementor-element-6de705a{--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;--align-items:center;--padding-top:104px;--padding-bottom:104px;--padding-left:32px;--padding-right:32px;}.elementor-67061 .elementor-element.elementor-element-daa9212{--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;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-1827b96{--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;--align-items:center;--padding-top:0px;--padding-bottom:32px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-e877f54 .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:#1A8B72;}.elementor-67061 .elementor-element.elementor-element-d2156ff .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:48px;font-weight:700;line-height:1.05em;letter-spacing:-0.035em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-295bdc8{font-family:"Mark", Sans-serif;font-size:19px;font-weight:400;line-height:30px;letter-spacing:-0.04em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-c3a81ac{--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;--align-items:center;--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-7c7f48b{--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;--align-items:center;--padding-top:104px;--padding-bottom:104px;--padding-left:32px;--padding-right:32px;}.elementor-67061 .elementor-element.elementor-element-59bb156{--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;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-f7d04a2{--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;--align-items:center;--padding-top:0px;--padding-bottom:32px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-d4f3c77 .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:#1A8B72;}.elementor-67061 .elementor-element.elementor-element-ccb0842 .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:48px;font-weight:700;line-height:1.05em;letter-spacing:-0.035em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-e517c3d{font-family:"Mark", Sans-serif;font-size:19px;font-weight:400;line-height:30px;letter-spacing:-0.04em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-0e65f5e{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-f0f5906{--display:flex;--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;--align-items:flex-start;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-638a3af{--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;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-4fa407b{font-family:"Mark", Sans-serif;font-size:16px;font-weight:400;line-height:1.55em;letter-spacing:-0.025em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-eff07df{--display:flex;--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;--align-items:flex-start;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-d1deb15{--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;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-50b99ad{font-family:"Mark", Sans-serif;font-size:16px;font-weight:400;line-height:1.55em;letter-spacing:-0.025em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-47c1c9a{--display:flex;--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;--align-items:flex-start;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-66253ae{--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;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-6ddf792{font-family:"Mark", Sans-serif;font-size:16px;font-weight:400;line-height:1.55em;letter-spacing:-0.025em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-8671830 > .elementor-widget-container{margin:26px 0px 0px 0px;}.elementor-67061 .elementor-element.elementor-element-8671830 .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:15px;font-weight:700;letter-spacing:-0.02em;color:#1A8B72;}.elementor-67061 .elementor-element.elementor-element-b1b0f2b{--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;--align-items:center;--padding-top:104px;--padding-bottom:104px;--padding-left:32px;--padding-right:32px;}.elementor-67061 .elementor-element.elementor-element-1da9cdd{--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;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-63659c8{--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;--align-items:center;--padding-top:0px;--padding-bottom:32px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-d72d60d .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:#1A8B72;}.elementor-67061 .elementor-element.elementor-element-401b632 .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:48px;font-weight:700;line-height:1.05em;letter-spacing:-0.035em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-3453256{font-family:"Mark", Sans-serif;font-size:17px;font-weight:400;line-height:1.6em;letter-spacing:-0.02em;color:rgba(28,26,23,0.55);}.elementor-67061 .elementor-element.elementor-element-a22665d{--display:grid;--e-con-grid-template-columns:repeat(5, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:56px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-8129605{--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;--align-items:flex-start;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-19e4318{--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;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-f3c6082 .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:rgba(28,26,23,0.55);}.elementor-67061 .elementor-element.elementor-element-099e298 .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:18px;font-weight:700;line-height:1.25em;letter-spacing:-0.025em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-139305f{font-family:"Mark", Sans-serif;font-size:14px;font-weight:400;line-height:1.55em;letter-spacing:-0.015em;color:rgba(28,26,23,0.55);}.elementor-67061 .elementor-element.elementor-element-64337b2{--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;--align-items:flex-start;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-a6d7647{--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;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-24fa34d .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:rgba(28,26,23,0.55);}.elementor-67061 .elementor-element.elementor-element-586d34f .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:18px;font-weight:700;line-height:1.25em;letter-spacing:-0.025em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-902468c{font-family:"Mark", Sans-serif;font-size:14px;font-weight:400;line-height:1.55em;letter-spacing:-0.015em;color:rgba(28,26,23,0.55);}.elementor-67061 .elementor-element.elementor-element-48da461{--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;--align-items:flex-start;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-286feae{--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;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-8cb7975 .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:rgba(28,26,23,0.55);}.elementor-67061 .elementor-element.elementor-element-62c02df .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:18px;font-weight:700;line-height:1.25em;letter-spacing:-0.025em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-06c65d8{font-family:"Mark", Sans-serif;font-size:14px;font-weight:400;line-height:1.55em;letter-spacing:-0.015em;color:rgba(28,26,23,0.55);}.elementor-67061 .elementor-element.elementor-element-d2cc6f5{--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;--align-items:flex-start;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-1f8c966{--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;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-d889c4e .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:#1A8B72;}.elementor-67061 .elementor-element.elementor-element-bbd0339 .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:18px;font-weight:700;line-height:1.25em;letter-spacing:-0.025em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-be31975{font-family:"Mark", Sans-serif;font-size:14px;font-weight:400;line-height:1.55em;letter-spacing:-0.015em;color:rgba(28,26,23,0.55);}.elementor-67061 .elementor-element.elementor-element-2b1dfea{--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;--align-items:flex-start;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-335309c{--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;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-60fc6a9 .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:14px;font-weight:400;text-transform:none;font-style:italic;letter-spacing:0.04em;color:#1A8B72;}.elementor-67061 .elementor-element.elementor-element-c399ef5 .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:18px;font-weight:500;font-style:italic;line-height:1.25em;letter-spacing:-0.025em;color:rgba(28,26,23,0.55);}.elementor-67061 .elementor-element.elementor-element-5bb7b1e{font-family:"Mark", Sans-serif;font-size:14px;font-weight:400;line-height:1.55em;letter-spacing:-0.015em;color:rgba(28,26,23,0.55);}.elementor-67061 .elementor-element.elementor-element-981b51f{--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;--align-items:center;--padding-top:112px;--padding-bottom:112px;--padding-left:32px;--padding-right:32px;}.elementor-67061 .elementor-element.elementor-element-2965682{--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;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-8d1dabf{text-align:center;}.elementor-67061 .elementor-element.elementor-element-8d1dabf .elementor-heading-title{font-family:"Mark", Sans-serif;font-size:48px;font-weight:700;line-height:1.05em;letter-spacing:-0.035em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-47cf33b{text-align:center;font-family:"Mark", Sans-serif;font-size:19px;font-weight:400;line-height:1.55em;letter-spacing:-0.025em;color:#1C1A17;}.elementor-67061 .elementor-element.elementor-element-f6c8e26{--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;--justify-content:center;--padding-top:12px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-67061 .elementor-element.elementor-element-703fb26 .elementor-button{background-color:#3BD4AE;font-family:"Mark", Sans-serif;font-size:15px;font-weight:700;letter-spacing:-0.015em;fill:#1C1A17;color:#1C1A17;border-style:solid;border-width:2px 2px 2px 2px;border-color:#3BD4AE;border-radius:100px 100px 100px 100px;}:root{--page-title-display:none;}@media(max-width:1200px){.elementor-67061 .elementor-element.elementor-element-4c9a01a{--grid-auto-flow:row;}.elementor-67061 .elementor-element.elementor-element-bd6e9fa{--grid-auto-flow:row;}.elementor-67061 .elementor-element.elementor-element-0e65f5e{--grid-auto-flow:row;}.elementor-67061 .elementor-element.elementor-element-a22665d{--grid-auto-flow:row;}}@media(max-width:1024px){.elementor-67061 .elementor-element.elementor-element-7f4b9f9{--padding-top:96px;--padding-bottom:72px;--padding-left:24px;--padding-right:24px;}.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-67061 .elementor-element.elementor-element-0c2de68 .elementor-heading-title{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-67061 .elementor-element.elementor-element-90f21e6 .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-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-67061 .elementor-element.elementor-element-49dbafa{--padding-top:80px;--padding-bottom:80px;--padding-left:24px;--padding-right:24px;}.elementor-widget-text-editor{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-67061 .elementor-element.elementor-element-823e2ee{--padding-top:80px;--padding-bottom:80px;--padding-left:24px;--padding-right:24px;}.elementor-67061 .elementor-element.elementor-element-4c9a01a{--grid-auto-flow:row;}.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-67061 .elementor-element.elementor-element-bd6e9fa{--grid-auto-flow:row;}.elementor-67061 .elementor-element.elementor-element-214c085 .elementor-heading-title{font-size:40px;}.elementor-67061 .elementor-element.elementor-element-69390d7 .elementor-heading-title{font-size:40px;}.elementor-67061 .elementor-element.elementor-element-e210c82 .elementor-heading-title{font-size:40px;}.elementor-67061 .elementor-element.elementor-element-8afcc93 .elementor-heading-title{font-size:40px;}.elementor-67061 .elementor-element.elementor-element-6de705a{--padding-top:80px;--padding-bottom:80px;--padding-left:24px;--padding-right:24px;}.elementor-67061 .elementor-element.elementor-element-7c7f48b{--padding-top:80px;--padding-bottom:80px;--padding-left:24px;--padding-right:24px;}.elementor-67061 .elementor-element.elementor-element-0e65f5e{--grid-auto-flow:row;}.elementor-67061 .elementor-element.elementor-element-b1b0f2b{--padding-top:80px;--padding-bottom:80px;--padding-left:24px;--padding-right:24px;}.elementor-67061 .elementor-element.elementor-element-a22665d{--grid-auto-flow:row;}.elementor-67061 .elementor-element.elementor-element-981b51f{--padding-top:80px;--padding-bottom:80px;--padding-left:24px;--padding-right:24px;}}@media(max-width:767px){.elementor-67061 .elementor-element.elementor-element-7f4b9f9{--padding-top:80px;--padding-bottom:56px;--padding-left:16px;--padding-right:16px;}.elementor-67061 .elementor-element.elementor-element-788bc1b{--width:1600px;}.elementor-67061 .elementor-element.elementor-element-4319f3a{--width:263.014px;}.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-67061 .elementor-element.elementor-element-0c2de68 .elementor-heading-title{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-67061 .elementor-element.elementor-element-90f21e6 .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-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-67061 .elementor-element.elementor-element-8bb801f{--width:1600px;}.elementor-67061 .elementor-element.elementor-element-8b512c7{width:var( --container-widget-width, 1000px );max-width:1000px;--container-widget-width:1000px;--container-widget-flex-grow:0;}.elementor-67061 .elementor-element.elementor-element-49dbafa{--padding-top:64px;--padding-bottom:64px;--padding-left:16px;--padding-right:16px;}.elementor-widget-text-editor{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-67061 .elementor-element.elementor-element-1ef24d4 > .elementor-widget-container{padding:0px 0px 30px 0px;}.elementor-67061 .elementor-element.elementor-element-823e2ee{--padding-top:64px;--padding-bottom:64px;--padding-left:16px;--padding-right:16px;}.elementor-67061 .elementor-element.elementor-element-4c9a01a{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.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-67061 .elementor-element.elementor-element-bd6e9fa{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-67061 .elementor-element.elementor-element-214c085 .elementor-heading-title{font-size:40px;}.elementor-67061 .elementor-element.elementor-element-69390d7 .elementor-heading-title{font-size:40px;}.elementor-67061 .elementor-element.elementor-element-e210c82 .elementor-heading-title{font-size:40px;}.elementor-67061 .elementor-element.elementor-element-8afcc93 .elementor-heading-title{font-size:40px;}.elementor-67061 .elementor-element.elementor-element-6de705a{--padding-top:64px;--padding-bottom:64px;--padding-left:16px;--padding-right:16px;}.elementor-67061 .elementor-element.elementor-element-7c7f48b{--padding-top:64px;--padding-bottom:64px;--padding-left:16px;--padding-right:16px;}.elementor-67061 .elementor-element.elementor-element-0e65f5e{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-67061 .elementor-element.elementor-element-b1b0f2b{--padding-top:64px;--padding-bottom:64px;--padding-left:16px;--padding-right:16px;}.elementor-67061 .elementor-element.elementor-element-a22665d{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-67061 .elementor-element.elementor-element-099e298 .elementor-heading-title{font-size:24px;}.elementor-67061 .elementor-element.elementor-element-586d34f .elementor-heading-title{font-size:24px;}.elementor-67061 .elementor-element.elementor-element-62c02df .elementor-heading-title{font-size:24px;}.elementor-67061 .elementor-element.elementor-element-bbd0339 .elementor-heading-title{font-size:24px;}.elementor-67061 .elementor-element.elementor-element-c399ef5 .elementor-heading-title{font-size:24px;}.elementor-67061 .elementor-element.elementor-element-981b51f{--padding-top:64px;--padding-bottom:64px;--padding-left:16px;--padding-right:16px;}}@media(min-width:768px){.elementor-67061 .elementor-element.elementor-element-8bb801f{--width:54%;}}












































































































/* Start custom CSS for container, class: .elementor-element-2c132c1 *//* ===================================================================
   CYL Kindle — Location page
   Scope: .cyl-loc
   Architettura tipografia: per-widget (no !important su font-*)
   =================================================================== */

/* --- FIX OBBLIGATORIO doppio-grid Elementor 4.x --- */
.cyl-loc .e-con.e-grid.e-con-boxed { display: block !important; padding: 0 !important; }
.cyl-loc .e-con.e-grid.e-con-boxed > .e-con-inner {
  display: grid !important; width: 100% !important;
  grid-template-columns: var(--e-con-grid-template-columns) !important;
  max-width: var(--max); margin: 0 auto; gap: var(--gap, 0);
}

/* --- TOKENS --- */
.cyl-loc {
  --g:        #3BD4AE;
  --gd:       #1A8B72;
  --gp:       #E6F9F4;
  --gp2:      #D4F2E8;
  --ink:      #1C1A17;
  --ink-55:   rgba(28,26,23,0.55);
  --ink-30:   rgba(28,26,23,0.30);
  --white:    #FFFFFF;
  --offwhite: #F7F8F6;
  --border:   rgba(28,26,23,0.10);
  --border-m: rgba(28,26,23,0.18);
  --r:        12px;
  --rl:       20px;
  --r-pill:   100px;
  --max:      1380px;
  --pad-side: 2rem;
  --pad-y:    clamp(4.5rem, 8vw, 7rem);
  --sh-card-sub:   0 2px 6px rgba(0,0,0,0.08);
  --sh-card-hover: 0 8px 20px rgba(0,0,0,0.18);
  --sh-photo:      0 16px 40px rgba(28,26,23,0.18);
  --sh-cta:        0 6px 18px -8px rgba(31,139,115,0.4);
  --sh-cta-lg:     0 18px 38px -14px rgba(31,139,115,0.55);
  --font:     "Mark", system-ui, -apple-system, sans-serif;
}

/* --- FONT OVERRIDE globale (mobile-safe) --- */
.cyl-loc,
.cyl-loc *,
.cyl-loc .elementor-heading-title,
.cyl-loc .elementor-widget-text-editor *,
.cyl-loc .elementor-button,
.cyl-loc .elementor-widget-container * {
  font-family: "Mark", system-ui, -apple-system, sans-serif !important;
}

/* --- RESET tema text-transform --- */
.cyl-loc h1, .cyl-loc h2, .cyl-loc h3, .cyl-loc h4,
.cyl-loc .elementor-heading-title {
  text-transform: none !important;
}

/* --- Default align-items per flex column (anti-center default v4) --- */
.cyl-loc .e-con.e-flex > .e-con-inner { align-items: flex-start; }

/* --- Em italic verde scuro dentro i titoli --- */
.cyl-loc .elementor-heading-title em {
  color: var(--gd);
  font-weight: 400;
  font-style: italic;
}
.cyl-loc .elementor-widget-text-editor em {
  font-style: italic;
}

/* --- Eyebrow label con dot verde --- */
.cyl-loc .eyebrow .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
}
.cyl-loc .eyebrow .elementor-heading-title::before {
  content: "";
  display: inline-block;
  width: 10px; height: 10px;
  background: var(--g);
  border-radius: 50%;
  flex-shrink: 0;
}

/* --- Sezioni base --- */
.cyl-loc .sec {
  position: relative;
  overflow: hidden;
}
.cyl-loc .sec-white { background: var(--white); }
.cyl-loc .sec-off   { background: var(--offwhite); }

/* --- Container interno boxed --- */
.cyl-loc .cont > .e-con-inner {
  max-width: var(--max);
  margin: 0 auto;
  width: 100%;
}

/* --- HERO --- */
.cyl-loc .hero { padding: clamp(6rem, 11vw, 10rem) var(--pad-side) clamp(5rem, 8vw, 7rem); }
.cyl-loc .hero::before {
  content: ""; position: absolute; pointer-events: none; z-index: 0;
  right: -12vw; top: -8vw;
  width: 46vw; height: 46vw; max-width: 760px; max-height: 760px;
  border-radius: 50%;
  background: var(--gp); opacity: 0.55;
}
.cyl-loc .hero::after {
  content: ""; position: absolute; pointer-events: none; z-index: 0;
  left: -10vw; bottom: -18vw;
  width: 32vw; height: 32vw; max-width: 520px; max-height: 520px;
  border-radius: 50%;
  background: var(--gp2); opacity: 0.5;
}
.cyl-loc .hero > .e-con-inner { position: relative; z-index: 1; }

/* Hero stack max-width contenitore inner */
.cyl-loc .hero-inner > .e-con-inner { max-width: 1080px; gap: 0.55rem; }

/* --- Buttons (Elementor button widget) --- */
.cyl-loc .elementor-button {
  display: inline-flex !important;
  align-items: center;
  gap: 0.55rem;
  border-radius: var(--r-pill);
  border: 2px solid transparent;
  cursor: pointer;
  text-decoration: none;
  line-height: 1;
  transition: all 0.18s ease;
}
.cyl-loc .btn-primary .elementor-button {
  background: var(--g);
  border-color: var(--g);
  box-shadow: var(--sh-cta);
}
.cyl-loc .btn-primary .elementor-button:hover {
  filter: brightness(0.93);
  transform: translateY(-1px);
  box-shadow: var(--sh-cta-lg);
}
.cyl-loc .btn-outline .elementor-button {
  background: transparent;
  border-color: var(--ink);
}
.cyl-loc .btn-outline .elementor-button:hover {
  background: var(--ink);
  color: var(--white) !important;
  transform: translateY(-1px);
}

/* --- HERO VIDEO wrapper (HTML widget) --- */
.cyl-loc .hero-video {
  margin-top: clamp(3rem, 6vw, 4.5rem);
  position: relative;
  aspect-ratio: 21 / 9;
  min-height: 300px;
  border-radius: var(--rl);
  overflow: hidden;
  background: var(--ink);
  border: 1px solid var(--border-m);
}
.cyl-loc .hero-video iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: 0; display: block;
}

/* --- ESTATE STATS (3 col) --- */
.cyl-loc .estate-stats > .e-con-inner {
  --e-con-grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  padding: clamp(1.6rem, 3vw, 2.4rem) 0;
  border-top: 1px solid var(--border-m);
  border-bottom: 1px solid var(--border-m);
}

/* --- ESTATE PHOTOS (3x2) --- */
.cyl-loc .estate-photos > .e-con-inner {
  --e-con-grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.cyl-loc .photo-slot {
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, var(--gp) 0%, rgba(231,249,244,0.4) 60%, var(--white) 100%);
  border: 1.5px dashed var(--border-m);
  border-radius: var(--rl);
  overflow: hidden;
  transition: border-color 0.25s, transform 0.5s cubic-bezier(.2,.7,0,1), box-shadow 0.4s;
}
.cyl-loc .photo-slot:hover {
  border-color: var(--g);
  transform: translateY(-3px);
  box-shadow: var(--sh-photo);
}
.cyl-loc .photo-slot .elementor-widget-image,
.cyl-loc .photo-slot .elementor-widget-image .elementor-widget-container,
.cyl-loc .photo-slot .elementor-image {
  width: 100% !important;
  height: 100% !important;
}
.cyl-loc .photo-slot .elementor-widget-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
}

/* --- MAP CARD --- */
.cyl-loc .map-card {
  margin-top: clamp(2.5rem, 4vw, 3.5rem);
  border: 1px solid var(--border-m);
  border-radius: var(--rl);
  overflow: hidden;
  background: var(--white);
}
.cyl-loc .map-card iframe {
  display: block;
  width: 100%;
  height: 460px;
  border: 0;
}
.cyl-loc .map-cap .elementor-widget-container {
  padding: 0.95rem 1.2rem;
  border-top: 1px solid var(--border);
  background: var(--white);
}

/* --- WORKING PHOTOS (2 col) --- */
.cyl-loc .working-photos > .e-con-inner {
  --e-con-grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.cyl-loc .photo-slot.wide {
  aspect-ratio: 16 / 10;
  min-height: 260px;
}

/* --- WORKING DATA (4 col stats) --- */
.cyl-loc .working-data > .e-con-inner {
  --e-con-grid-template-columns: repeat(4, 1fr);
  padding-top: clamp(1.4rem, 2.2vw, 1.8rem);
  border-top: 1px solid var(--border);
  gap: 0;
}
.cyl-loc .data-cell { padding: 0 1.2rem; position: relative; }
.cyl-loc .data-cell:not(:first-child)::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0;
  width: 1px; background: var(--border);
}
.cyl-loc .data-cell:first-child { padding-left: 0; }

/* --- RULES feature (big slot) --- */
.cyl-loc .rules-feature {
  aspect-ratio: 21 / 9;
  min-height: 320px;
}

/* --- TRUST ROW (3 col) --- */
.cyl-loc .trust-row > .e-con-inner {
  --e-con-grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem;
  padding-top: clamp(1.6rem, 2.4vw, 2rem);
  border-top: 1px solid var(--border-m);
}
.cyl-loc .trust-item > .e-con-inner {
  flex-direction: row;
  gap: 0.9rem;
  align-items: flex-start;
}
.cyl-loc .trust-dot {
  flex-shrink: 0;
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--g);
  margin-top: 11px;
}

/* --- Tail link (heading widget come link) --- */
.cyl-loc .tail-link .elementor-heading-title,
.cyl-loc .tail-link a {
  display: inline-block;
  color: var(--gd);
  text-decoration: none;
  border-bottom: 1.5px solid var(--g);
  padding-bottom: 2px;
}
.cyl-loc .tail-link a:hover { color: var(--ink); border-bottom-color: var(--ink); }

/* --- TIMELINE (5 col orizzontale) --- */
.cyl-loc .timeline > .e-con-inner {
  --e-con-grid-template-columns: repeat(5, 1fr);
  column-gap: 1rem;
  position: relative;
}
.cyl-loc .tl-node {
  position: relative;
  padding: 36px 1.2rem 0 0 !important;
}
.cyl-loc .tl-node > .e-con-inner { gap: 0.55rem; }
.cyl-loc .tl-dot {
  position: absolute; top: 0; left: 0; z-index: 2;
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--white); border: 1.5px solid var(--g);
  box-sizing: border-box;
}
.cyl-loc .tl-node--current .tl-dot { background: var(--ink); border-color: var(--ink); }
.cyl-loc .tl-node--future .tl-dot { background: var(--white); border: 1.5px dashed var(--g); }
.cyl-loc .tl-node::after {
  content: ""; position: absolute; top: 10px;
  left: 24px; right: -0.6rem; height: 1.5px;
  background: var(--g); z-index: 1;
}
.cyl-loc .tl-node:last-child::after { display: none; }
.cyl-loc .tl-node--current::after { background: transparent; border-top: 1.5px dashed var(--g); }

/* --- CTA SECTION --- */
.cyl-loc .cta-section { text-align: center; position: relative; }
.cyl-loc .cta-section::before {
  content: ""; position: absolute; pointer-events: none;
  left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: min(720px, 80vw); aspect-ratio: 1/1;
  border-radius: 50%; background: var(--gp); opacity: 0.55;
  z-index: 0;
}
.cyl-loc .cta-section > .e-con-inner { position: relative; z-index: 1; }
.cyl-loc .cta-inner > .e-con-inner {
  max-width: 700px;
  margin: 0 auto;
  align-items: center;
}

/* --- Btn rows centrate dove serve --- */
.cyl-loc .btn-row > .e-con-inner {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.9rem;
  align-items: center;
}
.cyl-loc .btn-row-center > .e-con-inner { justify-content: center; }

/* --- Reveal fail-safe (default visibile) --- */
.cyl-loc .reveal {
  opacity: 1;
  transition: opacity 850ms cubic-bezier(.2,.7,0,1),
              transform 850ms cubic-bezier(.2,.7,0,1);
}
.cyl-loc .reveal.reveal-init:not(.is-visible) {
  opacity: 0 !important;
  transform: translateY(28px) !important;
}
@media (prefers-reduced-motion: reduce) {
  .cyl-loc .reveal { transition: none !important; transform: none !important; opacity: 1 !important; }
}

/* --- RESPONSIVE --- */
@media (max-width: 1024px) {
  .cyl-loc .estate-photos > .e-con-inner { --e-con-grid-template-columns: repeat(2, 1fr) !important; }
  .cyl-loc .working-data > .e-con-inner { --e-con-grid-template-columns: repeat(2, 1fr) !important; row-gap: 1.6rem; }
  .cyl-loc .data-cell { padding: 0 1rem; }
  .cyl-loc .data-cell:nth-child(3)::before { display: none; }
  .cyl-loc .trust-row > .e-con-inner { --e-con-grid-template-columns: 1fr !important; gap: 1.2rem; }
  .cyl-loc .hero-video { aspect-ratio: 16/9; min-height: 240px; }
  .cyl-loc .rules-feature { aspect-ratio: 16/9; min-height: 240px; }
}
@media (max-width: 880px) {
  .cyl-loc .timeline > .e-con-inner { --e-con-grid-template-columns: 1fr !important; column-gap: 0; row-gap: 1.8rem; }
  .cyl-loc .tl-node { padding: 0 0 0 44px !important; min-height: 50px; }
  .cyl-loc .tl-dot { top: 2px; left: 0; }
  .cyl-loc .tl-node::after {
    top: 24px; bottom: auto;
    left: 10px; right: auto;
    width: 1.5px; height: calc(100% + 1.8rem - 24px);
  }
  .cyl-loc .tl-node--current::after { border-top: none; border-left: 1.5px dashed var(--g); width: 0; }
}
@media (max-width: 768px) {
  .cyl-loc .estate-stats > .e-con-inner { --e-con-grid-template-columns: 1fr !important; gap: 1.4rem; }
  .cyl-loc .working-photos > .e-con-inner { --e-con-grid-template-columns: 1fr !important; }
  .cyl-loc .estate-photos > .e-con-inner { --e-con-grid-template-columns: repeat(2, 1fr) !important; }
  .cyl-loc .map-card iframe { height: 340px; }
  .cyl-loc .hero-video { aspect-ratio: 4/3; min-height: 220px; }
  .cyl-loc .rules-feature { aspect-ratio: 4/3; min-height: 240px; }
}
@media (max-width: 480px) {
  .cyl-loc .estate-photos > .e-con-inner { --e-con-grid-template-columns: 1fr !important; gap: 10px; }
  .cyl-loc .working-data > .e-con-inner { --e-con-grid-template-columns: 1fr !important; row-gap: 1.4rem; }
  .cyl-loc .data-cell { padding: 0; }
  .cyl-loc .data-cell:not(:first-child)::before { display: none; }
  .cyl-loc .map-card iframe { height: 280px; }
}

/* === LIMITI LARGHEZZA PROSE === */
.cyl-loc .estate-lead .elementor-widget-container,
.cyl-loc .estate-prose .elementor-widget-container,
.cyl-loc .working-prose .elementor-widget-container,
.cyl-loc .rules-prose .elementor-widget-container,
.cyl-loc .journey-prose .elementor-widget-container,
.cyl-loc .tl-head { max-width: 64ch; }
.cyl-loc .tl-prose .elementor-widget-container { max-width: 60ch; }

/* margin between paragraphs in text-editor */
.cyl-loc .elementor-widget-text-editor p + p { margin-top: 1.1rem; }

/* === legal text margin === */
.cyl-loc .legal .elementor-widget-container { max-width: 700px; margin-left: auto; margin-right: auto; }

/* === tail-link clickable area === */
.cyl-loc .tail-link a { text-decoration: none !important; }
.cyl-loc .tail-link a:hover .elementor-heading-title { color: var(--ink); }

/* === Map iframe via HTML widget — strip default Elementor html widget wrapper === */
.cyl-loc .map-card .elementor-widget-html,
.cyl-loc .map-card .elementor-widget-html .elementor-widget-container { padding: 0; margin: 0; line-height: 0; }
.cyl-loc .hero-video .elementor-widget-html,
.cyl-loc .hero-video .elementor-widget-html .elementor-widget-container { padding: 0; margin: 0; line-height: 0; position: absolute; inset: 0; height: 100%; width: 100%; }

/* === Footer CTA: make heading h2/p match align center === */
.cyl-loc .cta-inner .elementor-heading-title { text-align: center; }
.cyl-loc .cta-inner .elementor-widget-text-editor { text-align: center; }

/* === eyebrow heading widget alignment when inside flex column === */
.cyl-loc .eyebrow .elementor-widget-container { display: inline-block; width: auto; }

/* === Mobile micro-fix: timeline node padding-right reset on stacked === */
@media (max-width: 880px) {
  .cyl-loc .tl-node > .e-con-inner { padding-bottom: 8px; }
}

/* === Mobile: button row stacks full-width on smallest === */
@media (max-width: 480px) {
  .cyl-loc .btn-row > .e-con-inner { flex-direction: column; align-items: stretch; }
  .cyl-loc .btn-row .elementor-button { width: 100%; justify-content: center; }
}
/* ===================================================================
   FIX SESSIONE 2 — diff vs HTML originale
   =================================================================== */

/* === 1. Cont = boxed centrato con max-width 1380 + padding 32 (match HTML .cont) === */
body .cyl-loc .cont > .e-con-inner {
  max-width: 1380px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
@media (max-width: 768px) {
  body .cyl-loc .cont > .e-con-inner { padding-left: 16px !important; padding-right: 16px !important; }
}

/* === 2. align-items flex-start su tutti i flex col dentro cont (CTA esclusa) === */
body .cyl-loc .cont > .e-con-inner,
body .cyl-loc .cont .e-con.e-flex > .e-con-inner,
body .cyl-loc .hero-inner > .e-con-inner,
body .cyl-loc .estate-head > .e-con-inner,
body .cyl-loc .working-head > .e-con-inner,
body .cyl-loc .rules-head > .e-con-inner,
body .cyl-loc .journey-head > .e-con-inner,
body .cyl-loc .tl-head > .e-con-inner,
body .cyl-loc .btn-row > .e-con-inner {
  align-items: flex-start !important;
}

/* CTA esplicito: center */
body .cyl-loc .cta-inner > .e-con-inner {
  align-items: center !important;
}

/* Btn row center / row inside CTA */
body .cyl-loc .cta-inner .btn-row > .e-con-inner {
  align-items: center !important;
  justify-content: center !important;
}

/* === 3. Heading widget = larghezza naturale (non full) dentro flex column === */
body .cyl-loc .estate-head .elementor-widget-heading,
body .cyl-loc .working-head .elementor-widget-heading,
body .cyl-loc .rules-head .elementor-widget-heading,
body .cyl-loc .journey-head .elementor-widget-heading,
body .cyl-loc .tl-head .elementor-widget-heading,
body .cyl-loc .hero-inner .elementor-widget-heading,
body .cyl-loc .hero-inner .elementor-widget-button {
  width: auto !important;
  max-width: 100% !important;
}

/* === 4. Hero video 16:9 (non 21:9) === */
.cyl-loc .hero-video { aspect-ratio: 16 / 9 !important; min-height: 240px !important; }
@media (max-width: 768px) { .cyl-loc .hero-video { aspect-ratio: 16 / 9 !important; min-height: 200px !important; } }

/* === 5. Hero pseudo-element circles — fix posizionamento === */
.cyl-loc .hero {
  position: relative !important;
  overflow: hidden !important;
}
/* Resetto e ridefinisco i cerchi via .hero > inner div decorativi NON disponibili, uso ::before / ::after */
.cyl-loc .hero::before,
.cyl-loc .hero::after { z-index: 0 !important; }
/* Forzo gli inner / contenuti a stare sopra */
.cyl-loc .hero > .e-con-inner { position: relative; z-index: 1 !important; }

/* === 6. Estate-stats: rendere visibili le hairline top/bottom === */
body .cyl-loc .estate-stats.e-con.e-grid.e-con-boxed > .e-con-inner,
body .cyl-loc .estate-stats > .e-con-inner {
  border-top: 1px solid rgba(28,26,23,0.18) !important;
  border-bottom: 1px solid rgba(28,26,23,0.18) !important;
  padding-top: clamp(1.6rem, 3vw, 2.4rem) !important;
  padding-bottom: clamp(1.6rem, 3vw, 2.4rem) !important;
}

/* === 7. Working-data: rendere visibile la hairline top === */
body .cyl-loc .working-data.e-con.e-grid.e-con-boxed > .e-con-inner,
body .cyl-loc .working-data > .e-con-inner {
  border-top: 1px solid rgba(28,26,23,0.10) !important;
  padding-top: clamp(1.4rem, 2.2vw, 1.8rem) !important;
}

/* === 8. Trust-row: hairline top === */
body .cyl-loc .trust-row.e-con.e-grid.e-con-boxed > .e-con-inner,
body .cyl-loc .trust-row > .e-con-inner {
  border-top: 1px solid rgba(28,26,23,0.18) !important;
  padding-top: clamp(1.6rem, 2.4vw, 2rem) !important;
}

/* === 9. Heading widget allineamento testo left (forzato) tranne CTA === */
body .cyl-loc .cont .elementor-widget-heading .elementor-heading-title {
  text-align: left;
}
body .cyl-loc .cta-inner .elementor-widget-heading .elementor-heading-title,
body .cyl-loc .cta-inner .elementor-widget-text-editor .elementor-widget-container p {
  text-align: center !important;
}

/* === 10. Estate-head / Working-head etc. — ridurre gap tra eyebrow e h2 === */
.cyl-loc .estate-head > .e-con-inner,
.cyl-loc .working-head > .e-con-inner,
.cyl-loc .rules-head > .e-con-inner,
.cyl-loc .journey-head > .e-con-inner,
.cyl-loc .tl-head > .e-con-inner {
  gap: 16px !important;
}
/* ===================================================================
   FIX SESSIONE 3 — i container e-con-full NON hanno .e-con-inner
   Target direttamente .cont, .estate-head, etc.
   =================================================================== */

/* === 1. CONT: max-width + padding sul container stesso === */
body .cyl-loc .cont.e-con,
body .cyl-loc .cont {
  max-width: 1380px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  align-items: stretch !important;
}
@media (max-width: 768px) {
  body .cyl-loc .cont { padding-left: 16px !important; padding-right: 16px !important; }
}

/* === 2. align-items: stretch su tutti i flex-col content containers === */
body .cyl-loc .hero-inner,
body .cyl-loc .estate-head,
body .cyl-loc .working-head,
body .cyl-loc .rules-head,
body .cyl-loc .journey-head,
body .cyl-loc .tl-head {
  align-items: stretch !important;
}

/* hero-inner max-width 1080 */
body .cyl-loc .hero-inner {
  max-width: 1080px !important;
  width: 100% !important;
}

/* btn-row stays inline */
body .cyl-loc .btn-row {
  align-items: center !important;
}

/* === 3. CTA-INNER: center === */
body .cyl-loc .cta-inner {
  align-items: center !important;
  max-width: 700px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* === 4. Heading widget: width 100%, text left (except CTA) === */
body .cyl-loc .cont .elementor-widget-heading,
body .cyl-loc .cont .elementor-widget-text-editor {
  width: 100% !important;
  max-width: 100% !important;
}
body .cyl-loc .cont .elementor-widget-heading .elementor-heading-title,
body .cyl-loc .cont .elementor-widget-text-editor p {
  text-align: left;
}

/* CTA center text */
body .cyl-loc .cta-inner .elementor-heading-title,
body .cyl-loc .cta-inner .elementor-widget-text-editor p {
  text-align: center !important;
}

/* === 5. Eyebrow: title pill auto width === */
body .cyl-loc .eyebrow .elementor-heading-title {
  display: inline-flex !important;
  width: auto !important;
  align-items: center !important;
}

/* === 6. MAP CARD: full width container + iframe === */
body .cyl-loc .map-card {
  width: 100% !important;
  align-self: stretch !important;
}
body .cyl-loc .map-card .elementor-widget-html,
body .cyl-loc .map-card .elementor-widget-html .elementor-widget-container,
body .cyl-loc .map-card .elementor-widget-text-editor {
  width: 100% !important;
}
body .cyl-loc .map-card iframe {
  width: 100% !important;
  height: 460px !important;
  display: block !important;
  border: 0 !important;
}
@media (max-width: 768px) { body .cyl-loc .map-card iframe { height: 340px !important; } }
@media (max-width: 480px) { body .cyl-loc .map-card iframe { height: 280px !important; } }

/* === 7. HERO VIDEO: 16:9 + iframe full === */
body .cyl-loc .hero-video {
  width: 100% !important;
  position: relative !important;
  aspect-ratio: 16 / 9 !important;
  min-height: 240px !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  background: #1C1A17 !important;
  align-self: stretch !important;
}
body .cyl-loc .hero-video .elementor-widget-html,
body .cyl-loc .hero-video .elementor-widget-html .elementor-widget-container {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0 !important;
}
body .cyl-loc .hero-video iframe {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  display: block !important;
}

/* === 8. ESTATE-STATS: grid con e-con-inner (has it because boxed) === */
body .cyl-loc .estate-stats {
  width: 100% !important;
  align-self: stretch !important;
}
body .cyl-loc .estate-stats > .e-con-inner {
  --e-con-grid-template-columns: repeat(3, 1fr) !important;
  display: grid !important;
  gap: 1.5rem !important;
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
  border-top: 1px solid rgba(28,26,23,0.18) !important;
  border-bottom: 1px solid rgba(28,26,23,0.18) !important;
  max-width: 100% !important;
  margin: 0 !important;
}

/* === 9. ESTATE-PHOTOS: grid 3x2 === */
body .cyl-loc .estate-photos {
  width: 100% !important;
  align-self: stretch !important;
}
body .cyl-loc .estate-photos > .e-con-inner {
  --e-con-grid-template-columns: repeat(3, 1fr) !important;
  display: grid !important;
  gap: 14px !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* === 10. PHOTO-SLOT: 4:3 ratio + dashed border === */
body .cyl-loc .photo-slot {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  min-height: 0 !important;
  background: linear-gradient(135deg, #E6F9F4 0%, rgba(231,249,244,0.4) 60%, #ffffff 100%) !important;
  border: 1.5px dashed rgba(28,26,23,0.18) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  padding: 0 !important;
}
body .cyl-loc .photo-slot.wide {
  aspect-ratio: 16 / 10 !important;
  min-height: 260px !important;
}
body .cyl-loc .photo-slot.rules-feature {
  aspect-ratio: 21 / 9 !important;
  min-height: 320px !important;
}
@media (max-width: 768px) {
  body .cyl-loc .photo-slot.rules-feature { aspect-ratio: 4/3 !important; min-height: 240px !important; }
}

/* === 11. WORKING-PHOTOS: grid 2 === */
body .cyl-loc .working-photos {
  width: 100% !important;
  align-self: stretch !important;
}
body .cyl-loc .working-photos > .e-con-inner {
  --e-con-grid-template-columns: repeat(2, 1fr) !important;
  display: grid !important;
  gap: 14px !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* === 12. WORKING-DATA: 4 col === */
body .cyl-loc .working-data {
  width: 100% !important;
  align-self: stretch !important;
}
body .cyl-loc .working-data > .e-con-inner {
  --e-con-grid-template-columns: repeat(4, 1fr) !important;
  display: grid !important;
  padding-top: 1.6rem !important;
  border-top: 1px solid rgba(28,26,23,0.10) !important;
  gap: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
}

/* === 13. TRUST-ROW: 3 col === */
body .cyl-loc .trust-row {
  width: 100% !important;
  align-self: stretch !important;
}
body .cyl-loc .trust-row > .e-con-inner {
  --e-con-grid-template-columns: repeat(3, 1fr) !important;
  display: grid !important;
  gap: 1.6rem !important;
  padding-top: 1.8rem !important;
  border-top: 1px solid rgba(28,26,23,0.18) !important;
  max-width: 100% !important;
  margin: 0 !important;
}

/* === 14. TRUST-ITEM: flex row === */
body .cyl-loc .trust-item {
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 14px !important;
  padding: 0 !important;
}

/* === 15. TRUST-DOT: 10x10 cerchio === */
body .cyl-loc .trust-dot {
  flex: 0 0 10px !important;
  width: 10px !important;
  height: 10px !important;
  min-width: 10px !important;
  min-height: 10px !important;
  max-width: 10px !important;
  max-height: 10px !important;
  border-radius: 50% !important;
  background: #3BD4AE !important;
  margin-top: 11px !important;
  padding: 0 !important;
}

/* === 16. TIMELINE: 5 col === */
body .cyl-loc .timeline {
  width: 100% !important;
  align-self: stretch !important;
}
body .cyl-loc .timeline > .e-con-inner {
  --e-con-grid-template-columns: repeat(5, 1fr) !important;
  display: grid !important;
  column-gap: 1rem !important;
  position: relative !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* === 17. TL-NODE: absolute dot space === */
body .cyl-loc .tl-node {
  position: relative !important;
  padding: 36px 1.2rem 0 0 !important;
  align-items: flex-start !important;
}

/* === 18. TL-DOT: 22x22 cerchio assoluto === */
body .cyl-loc .tl-dot {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: 1.5px solid #3BD4AE !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  z-index: 2;
}
body .cyl-loc .tl-node--current .tl-dot { background: #1C1A17 !important; border-color: #1C1A17 !important; }
body .cyl-loc .tl-node--future .tl-dot { background: #fff !important; border: 1.5px dashed #3BD4AE !important; }

/* === 19. CTA SECTION + cta-blob === */
body .cyl-loc .cta-section { position: relative !important; }
body .cyl-loc .cta-section::before {
  content: "" !important;
  position: absolute !important;
  pointer-events: none !important;
  left: 50% !important; top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: min(720px, 80vw) !important;
  aspect-ratio: 1/1 !important;
  border-radius: 50% !important;
  background: #E6F9F4 !important;
  opacity: 0.55 !important;
  z-index: 0 !important;
}
body .cyl-loc .cta-section > * { position: relative; z-index: 1; }

/* === 20. CTA btn-row inside cta-inner: centered === */
body .cyl-loc .cta-inner .btn-row {
  justify-content: center !important;
  align-items: center !important;
}

/* === 21. Hero pseudo cerchi posizionati correttamente — riaffermo per cascade order === */
body .cyl-loc .hero { position: relative !important; overflow: hidden !important; }
body .cyl-loc .hero > * { position: relative; z-index: 2; }

/* === 22. Sec inner spacing tra cont items === */
body .cyl-loc .cont > * + * { margin-top: 32px; }
/* Override per items che devono attaccarsi senza gap */
body .cyl-loc .cont > .hero-video { margin-top: 56px !important; }

/* === 23. Prose max-width === */
body .cyl-loc .estate-lead,
body .cyl-loc .estate-prose,
body .cyl-loc .working-prose,
body .cyl-loc .rules-prose,
body .cyl-loc .journey-prose {
  max-width: 64ch !important;
}
body .cyl-loc .tl-prose { max-width: 60ch !important; }
body .cyl-loc .tl-head { max-width: 64ch !important; }

/* === 24. legal center === */
body .cyl-loc .legal {
  max-width: 700px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body .cyl-loc .legal p { text-align: center !important; }

/* === 25. tail-link inline-block === */
body .cyl-loc .tail-link {
  width: auto !important;
}
body .cyl-loc .tail-link .elementor-heading-title {
  display: inline-block !important;
  color: #1A8B72 !important;
  border-bottom: 1.5px solid #3BD4AE !important;
  padding-bottom: 2px !important;
}

/* === 26. heading widget container: not full-width by default for eyebrow === */
body .cyl-loc .eyebrow {
  width: auto !important;
}
body .cyl-loc .eyebrow .elementor-widget-container {
  display: inline-block !important;
  width: auto !important;
}
/* ===================================================================
   FIX SESSIONE 4 — grid containers NON hanno .e-con-inner
   Applico stili direttamente sul container .e-grid.e-con-full
   =================================================================== */

/* === 1. Hero pseudo-elements: forzare auto su lato opposto === */
body .cyl-loc .hero::before {
  left: auto !important;
  right: -12vw !important;
  top: -8vw !important;
  bottom: auto !important;
  width: 46vw !important;
  height: 46vw !important;
  max-width: 760px !important;
  max-height: 760px !important;
  border-radius: 50% !important;
  background: #E6F9F4 !important;
  opacity: 0.55 !important;
  z-index: 0 !important;
  display: block !important;
  content: "" !important;
  position: absolute !important;
  pointer-events: none !important;
}
body .cyl-loc .hero::after {
  left: -10vw !important;
  right: auto !important;
  top: auto !important;
  bottom: -18vw !important;
  width: 32vw !important;
  height: 32vw !important;
  max-width: 520px !important;
  max-height: 520px !important;
  border-radius: 50% !important;
  background: #D4F2E8 !important;
  opacity: 0.5 !important;
  z-index: 0 !important;
  display: block !important;
  content: "" !important;
  position: absolute !important;
  pointer-events: none !important;
}

/* === 2. ESTATE-STATS: grid direttamente sul container (no .e-con-inner) === */
body .cyl-loc .estate-stats.e-con,
body .cyl-loc .estate-stats {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  --e-con-grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem !important;
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border-top: 1px solid rgba(28,26,23,0.18) !important;
  border-bottom: 1px solid rgba(28,26,23,0.18) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 32px 0 !important;
}

/* === 3. ESTATE-PHOTOS: grid 3 col direttamente === */
body .cyl-loc .estate-photos.e-con,
body .cyl-loc .estate-photos {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  --e-con-grid-template-columns: repeat(3, 1fr);
  gap: 14px !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* === 4. WORKING-PHOTOS: grid 2 col direttamente === */
body .cyl-loc .working-photos.e-con,
body .cyl-loc .working-photos {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  --e-con-grid-template-columns: repeat(2, 1fr);
  gap: 14px !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* === 5. WORKING-DATA: grid 4 col === */
body .cyl-loc .working-data.e-con,
body .cyl-loc .working-data {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  --e-con-grid-template-columns: repeat(4, 1fr);
  gap: 0 !important;
  padding-top: 1.8rem !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  border-top: 1px solid rgba(28,26,23,0.10) !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* === 6. TRUST-ROW: grid 3 col === */
body .cyl-loc .trust-row.e-con,
body .cyl-loc .trust-row {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  --e-con-grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem !important;
  padding-top: 1.8rem !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  border-top: 1px solid rgba(28,26,23,0.18) !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* === 7. TIMELINE: grid 5 col === */
body .cyl-loc .timeline.e-con,
body .cyl-loc .timeline {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  --e-con-grid-template-columns: repeat(5, 1fr);
  column-gap: 1rem !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  position: relative !important;
}

/* === 8. RESPONSIVE per grid root === */
@media (max-width: 1024px) {
  body .cyl-loc .estate-photos { grid-template-columns: repeat(2, 1fr) !important; }
  body .cyl-loc .working-data { grid-template-columns: repeat(2, 1fr) !important; row-gap: 1.6rem; }
  body .cyl-loc .trust-row { grid-template-columns: 1fr !important; gap: 1.2rem !important; }
}
@media (max-width: 880px) {
  body .cyl-loc .timeline { grid-template-columns: 1fr !important; column-gap: 0 !important; row-gap: 1.8rem !important; }
}
@media (max-width: 768px) {
  body .cyl-loc .estate-stats { grid-template-columns: 1fr !important; gap: 1.4rem !important; }
  body .cyl-loc .working-photos { grid-template-columns: 1fr !important; }
  body .cyl-loc .estate-photos { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
  body .cyl-loc .estate-photos { grid-template-columns: 1fr !important; gap: 10px !important; }
  body .cyl-loc .working-data { grid-template-columns: 1fr !important; row-gap: 1.4rem !important; }
}

/* === 9. WORKING-DATA cell dividers via border-left === */
body .cyl-loc .working-data > .data-cell {
  padding: 0 1.2rem !important;
  border-left: 1px solid rgba(28,26,23,0.10);
}
body .cyl-loc .working-data > .data-cell:first-child {
  padding-left: 0 !important;
  border-left: none !important;
}
@media (max-width: 1024px) {
  body .cyl-loc .working-data > .data-cell:nth-child(3) { border-left: none !important; padding-left: 0; }
}
@media (max-width: 480px) {
  body .cyl-loc .working-data > .data-cell { border-left: none !important; padding: 0 !important; }
}

/* === 10. TIMELINE: linea orizzontale tra nodi === */
body .cyl-loc .tl-node {
  position: relative !important;
  padding: 36px 1.2rem 0 0 !important;
}
body .cyl-loc .tl-node::after {
  content: "" !important;
  position: absolute !important;
  top: 10px !important;
  left: 24px !important;
  right: -0.6rem !important;
  bottom: auto !important;
  height: 1.5px !important;
  background: #3BD4AE !important;
  z-index: 1 !important;
  display: block !important;
}
body .cyl-loc .tl-node:last-child::after { display: none !important; }
body .cyl-loc .tl-node--current::after {
  background: transparent !important;
  border-top: 1.5px dashed #3BD4AE !important;
}
@media (max-width: 880px) {
  body .cyl-loc .tl-node { padding: 0 0 0 44px !important; min-height: 50px; }
  body .cyl-loc .tl-node::after {
    top: 24px !important; bottom: auto !important;
    left: 10px !important; right: auto !important;
    width: 1.5px !important;
    height: calc(100% + 1.8rem - 24px) !important;
  }
}

/* === 11. TAIL-LINK: widget width auto, single underline === */
body .cyl-loc .tail-link.elementor-widget {
  width: auto !important;
  max-width: max-content !important;
  align-self: flex-start !important;
}
body .cyl-loc .tail-link .elementor-widget-container {
  width: auto !important;
  display: inline-block !important;
}
body .cyl-loc .tail-link .elementor-heading-title {
  display: inline-block !important;
  color: #1A8B72 !important;
  border-bottom: 1.5px solid #3BD4AE !important;
  padding-bottom: 2px !important;
}
body .cyl-loc .tail-link a {
  color: inherit !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

/* === 12. EYEBROW: stesso pattern auto-width === */
body .cyl-loc .eyebrow.elementor-widget {
  width: auto !important;
  max-width: max-content !important;
}
body .cyl-loc .eyebrow .elementor-widget-container {
  width: auto !important;
  display: inline-block !important;
}

/* === 13. estate-prose dovrebbe stare sotto le stats — gap from cont rule === */
/* il cont > * + * { margin-top: 32px } già applica, ma estate-stats ha margin: 32px 0 */
body .cyl-loc .cont > .estate-stats,
body .cyl-loc .cont > .estate-photos,
body .cyl-loc .cont > .working-photos,
body .cyl-loc .cont > .working-data,
body .cyl-loc .cont > .trust-row,
body .cyl-loc .cont > .timeline,
body .cyl-loc .cont > .map-card {
  margin-top: 40px !important;
  margin-bottom: 0 !important;
}

/* === 14. Hero-inner: gap stretch e padding interno === */
body .cyl-loc .hero-inner {
  gap: 12px !important;
  align-items: stretch !important;
}
body .cyl-loc .hero-inner .elementor-widget-button {
  align-self: flex-start !important;
  width: auto !important;
  max-width: max-content !important;
  margin-top: 16px !important;
}

/* === 15. Estate-head e altri head: gap 16 === */
body .cyl-loc .estate-head,
body .cyl-loc .working-head,
body .cyl-loc .rules-head,
body .cyl-loc .journey-head,
body .cyl-loc .tl-head {
  gap: 16px !important;
}

/* === 16. journey-prose, working-prose etc. — ensure max-width on widget === */
body .cyl-loc .estate-lead.elementor-widget,
body .cyl-loc .estate-prose.elementor-widget,
body .cyl-loc .working-prose.elementor-widget,
body .cyl-loc .rules-prose.elementor-widget,
body .cyl-loc .journey-prose.elementor-widget,
body .cyl-loc .tl-prose.elementor-widget {
  max-width: 64ch !important;
}
body .cyl-loc .tl-prose.elementor-widget { max-width: 60ch !important; }

/* === 17. Foto slot: forza width 100% nel grid === */
body .cyl-loc .estate-photos > .photo-slot,
body .cyl-loc .working-photos > .photo-slot {
  width: 100% !important;
}

/* === 18. trust-item flex row direttamente sul container === */
body .cyl-loc .trust-row > .trust-item {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 14px !important;
  padding: 0 !important;
}

/* === 19. Stat cells in estate-stats grid === */
body .cyl-loc .estate-stats > * {
  padding: 0 !important;
}

/* === 20. Reduce big margin between sections to match HTML === */
body .cyl-loc .cont > .estate-head + * { margin-top: 32px !important; }

/* === 21. Hero h1 should be on single line on desktop — increase max-width === */
@media (min-width: 1100px) {
  body .cyl-loc .hero-inner { max-width: 1280px !important; }
}
/* ===================================================================
   FIX SESSIONE 5 — spaziature + numeri + timeline dot
   =================================================================== */

/* === 1. Ridurre gap tra working-photos e working-data === */
body .cyl-loc .cont > .working-data {
  margin-top: 16px !important;
}

/* Anche estate-photos -> estate-prose ridotto se serve */
body .cyl-loc .cont > .estate-photos {
  margin-top: 24px !important;
}
body .cyl-loc .cont > .working-photos {
  margin-top: 24px !important;
}

/* Working-data padding interno ridotto */
body .cyl-loc .working-data.e-con,
body .cyl-loc .working-data {
  padding-top: 1.4rem !important;
  padding-bottom: 0 !important;
}

/* === 2. Timeline dots più grandi (22 → 32px) === */
body .cyl-loc .tl-dot {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  border: 2px solid #3BD4AE !important;
}
body .cyl-loc .tl-node--current .tl-dot {
  border-color: #1C1A17 !important;
}
body .cyl-loc .tl-node--future .tl-dot {
  border: 2px dashed #3BD4AE !important;
}

/* Adattamento padding tl-node per accomodare dot più grande */
body .cyl-loc .tl-node {
  padding: 46px 1.2rem 0 0 !important;
}

/* Linea orizzontale tra dot più grandi — sposta inizio + adatta posizione verticale */
body .cyl-loc .tl-node::after {
  top: 15px !important;
  left: 34px !important;
  right: -0.6rem !important;
  height: 2px !important;
}

@media (max-width: 880px) {
  body .cyl-loc .tl-node { padding: 0 0 0 50px !important; min-height: 50px; }
  body .cyl-loc .tl-dot { top: 2px !important; left: 0 !important; }
  body .cyl-loc .tl-node::after {
    top: 34px !important; bottom: auto !important;
    left: 15px !important; right: auto !important;
    width: 2px !important;
    height: calc(100% + 1.8rem - 34px) !important;
  }
}

/* === 3. CTA blob behind più piccolo - non urgente, lascia === */
/* ===================================================================
   FIX SESSIONE 6 — riduci altezza foto placeholder
   =================================================================== */

/* Working photos: ratio più basso → foto più corte */
body .cyl-loc .photo-slot.wide {
  aspect-ratio: 21 / 9 !important;
  min-height: 220px !important;
  max-height: 360px !important;
}

/* Estate photos: ratio 4/3 ok ma con max-height per evitare giga-foto */
body .cyl-loc .estate-photos > .photo-slot {
  aspect-ratio: 4 / 3 !important;
  max-height: 320px !important;
}

/* Rules feature: 21/9 ok ma con max-height */
body .cyl-loc .photo-slot.rules-feature {
  aspect-ratio: 21 / 9 !important;
  min-height: 280px !important;
  max-height: 480px !important;
}

/* Spaziatura ulteriormente ridotta cont > * gap */
body .cyl-loc .cont > * + * { margin-top: 24px !important; }
body .cyl-loc .cont > .hero-video { margin-top: 48px !important; }
body .cyl-loc .cont > .working-data { margin-top: 24px !important; }
/* ===================================================================
   FIX SESSIONE 7 — CTA blob: cerchio regolare 1:1
   =================================================================== */

body .cyl-loc .cta-section::before {
  content: "" !important;
  position: absolute !important;
  pointer-events: none !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: min(640px, 70vw) !important;
  height: min(640px, 70vw) !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  background: #E6F9F4 !important;
  opacity: 0.55 !important;
  z-index: 0 !important;
  display: block !important;
}

@media (max-width: 768px) {
  body .cyl-loc .cta-section::before {
    width: min(420px, 85vw) !important;
    height: min(420px, 85vw) !important;
  }
}
/* ===================================================================
   FIX SESSIONE 8 — MOBILE: specificity match con .e-con per battere desktop
   =================================================================== */

/* === 1. ESTATE-STATS mobile: 1 colonna (con .e-con per specificità) === */
@media (max-width: 768px) {
  body .cyl-loc .estate-stats.e-con,
  body .cyl-loc .estate-stats {
    grid-template-columns: 1fr !important;
    --e-con-grid-template-columns: 1fr !important;
    gap: 1.2rem !important;
    padding-top: 1.4rem !important;
    padding-bottom: 1.4rem !important;
  }
}

/* === 2. ESTATE-PHOTOS mobile: 2 colonne sempre fino a 320px === */
@media (max-width: 1024px) {
  body .cyl-loc .estate-photos.e-con,
  body .cyl-loc .estate-photos {
    grid-template-columns: repeat(2, 1fr) !important;
    --e-con-grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 480px) {
  body .cyl-loc .estate-photos.e-con,
  body .cyl-loc .estate-photos {
    grid-template-columns: repeat(2, 1fr) !important;
    --e-con-grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  body .cyl-loc .estate-photos > .photo-slot {
    max-height: 200px !important;
  }
}

/* === 3. WORKING-DATA mobile: 2x2 grid (numeri su 2 righe) === */
@media (max-width: 768px) {
  body .cyl-loc .working-data.e-con,
  body .cyl-loc .working-data {
    grid-template-columns: repeat(2, 1fr) !important;
    --e-con-grid-template-columns: repeat(2, 1fr) !important;
    row-gap: 1.6rem !important;
    column-gap: 1rem !important;
  }
  body .cyl-loc .working-data > .data-cell {
    padding: 0 1rem !important;
    border-left: 1px solid rgba(28,26,23,0.10) !important;
  }
  body .cyl-loc .working-data > .data-cell:nth-child(odd) {
    padding-left: 0 !important;
    border-left: none !important;
  }
}

/* === 4. WORKING-PHOTOS mobile: 1 col === */
@media (max-width: 768px) {
  body .cyl-loc .working-photos.e-con,
  body .cyl-loc .working-photos {
    grid-template-columns: 1fr !important;
    --e-con-grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  body .cyl-loc .working-photos > .photo-slot.wide {
    aspect-ratio: 16 / 10 !important;
    max-height: 240px !important;
  }
}

/* === 5. TRUST-ROW mobile: 1 col === */
@media (max-width: 1024px) {
  body .cyl-loc .trust-row.e-con,
  body .cyl-loc .trust-row {
    grid-template-columns: 1fr !important;
    --e-con-grid-template-columns: 1fr !important;
    gap: 1.2rem !important;
  }
}

/* === 6. TIMELINE mobile: verticale 1 col === */
@media (max-width: 880px) {
  body .cyl-loc .timeline.e-con,
  body .cyl-loc .timeline {
    grid-template-columns: 1fr !important;
    --e-con-grid-template-columns: 1fr !important;
    column-gap: 0 !important;
    row-gap: 2.4rem !important;
  }
  body .cyl-loc .tl-node {
    padding: 4px 0 0 56px !important;
    min-height: 60px !important;
  }
  body .cyl-loc .tl-dot {
    top: 0 !important;
    left: 0 !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
  }
  /* Linea verticale tra dot — sostituisce orizzontale */
  body .cyl-loc .tl-node::after {
    content: "" !important;
    position: absolute !important;
    top: 32px !important;
    bottom: auto !important;
    left: 13px !important;
    right: auto !important;
    width: 2px !important;
    height: calc(100% + 2.4rem - 32px) !important;
    background: #3BD4AE !important;
    border-top: none !important;
  }
  body .cyl-loc .tl-node--current::after {
    background: transparent !important;
    border-left: 2px dashed #3BD4AE !important;
    width: 0 !important;
  }
  body .cyl-loc .tl-node:last-child::after { display: none !important; }
}

/* === 7. CTA blob mobile: cerchio più piccolo === */
@media (max-width: 768px) {
  body .cyl-loc .cta-section::before {
    width: min(360px, 90vw) !important;
    height: min(360px, 90vw) !important;
  }
}

/* === 8. Spaziature mobile ridotte === */
@media (max-width: 768px) {
  body .cyl-loc .cont > .working-data {
    margin-top: 16px !important;
    margin-bottom: 0 !important;
  }
  /* Riduci padding section sui sec per stringere sotto working-data */
  body .cyl-loc .sec {
    padding-bottom: 56px !important;
  }
}

/* === 9. Numeri estate-stats mobile più compatti (44px era 36) === */
/* Already applied via update-widget per heading typography_font_size_mobile */

/* === 10. h1 mobile più piccolo per non andare a capo brutto === */
@media (max-width: 480px) {
  body .cyl-loc .hero-inner .elementor-widget-heading .elementor-heading-title {
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
}
/* ===================================================================
   FIX SESSIONE 9 — Hero video 16:9 anche su mobile (rimuove bande nere)
   =================================================================== */

body .cyl-loc .hero-video,
body .cyl-loc .hero-video.e-con {
  aspect-ratio: 16 / 9 !important;
  min-height: 0 !important;
  background: transparent !important;
}

@media (max-width: 768px) {
  body .cyl-loc .hero-video,
  body .cyl-loc .hero-video.e-con {
    aspect-ratio: 16 / 9 !important;
    min-height: 0 !important;
    background: transparent !important;
  }
}

@media (max-width: 480px) {
  body .cyl-loc .hero-video,
  body .cyl-loc .hero-video.e-con {
    aspect-ratio: 16 / 9 !important;
    min-height: 0 !important;
  }
}
/* ===================================================================
   FIX SESSIONE 10 — TIMELINE: cerchi grandi verdi con anno dentro
   =================================================================== */

/* === 1. tl-node padding per accomodare il cerchio grande (56px) === */
body .cyl-loc .tl-node {
  position: relative !important;
  padding: 76px 1.2rem 0 0 !important;
}

/* === 2. tl-dot: cerchio grande verde pieno === */
body .cyl-loc .tl-dot {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  max-width: 56px !important;
  max-height: 56px !important;
  border-radius: 50% !important;
  background: #3BD4AE !important;
  border: none !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  z-index: 2 !important;
}

/* Current: cerchio nero */
body .cyl-loc .tl-node--current .tl-dot {
  background: #1C1A17 !important;
  border: none !important;
}

/* Future: cerchio bianco con bordo tratteggiato */
body .cyl-loc .tl-node--future .tl-dot {
  background: #ffffff !important;
  border: 2px dashed #3BD4AE !important;
}

/* === 3. ANNO (2° figlio): posizionato DENTRO il cerchio === */
body .cyl-loc .tl-node > :nth-child(2) {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 56px !important;
  height: 56px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 3 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}
body .cyl-loc .tl-node > :nth-child(2) .elementor-widget-container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
body .cyl-loc .tl-node > :nth-child(2) .elementor-heading-title {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-align: center !important;
  margin: 0 !important;
  line-height: 1 !important;
  font-style: normal !important;
}

/* Current: anno in bianco su nero */
body .cyl-loc .tl-node--current > :nth-child(2) .elementor-heading-title {
  color: #ffffff !important;
}

/* Future: testo "Next" in grigio dentro cerchio bianco, più piccolo */
body .cyl-loc .tl-node--future > :nth-child(2) .elementor-heading-title {
  color: rgba(28,26,23,0.55) !important;
  font-size: 11px !important;
  font-style: italic !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  padding: 0 4px !important;
}

/* === 4. LABEL (3° figlio): uppercase verde piccolo eyebrow-style === */
body .cyl-loc .tl-node > :nth-child(3) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body .cyl-loc .tl-node > :nth-child(3) .elementor-heading-title {
  color: #1A8B72 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-style: normal !important;
  line-height: 1.3 !important;
}

/* Future label: italic, grigio, non-uppercase */
body .cyl-loc .tl-node--future > :nth-child(3) .elementor-heading-title {
  color: rgba(28,26,23,0.55) !important;
  font-style: italic !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  font-weight: 500 !important;
}

/* === 5. BODY (4° figlio): spacing === */
body .cyl-loc .tl-node > :nth-child(4) {
  margin-top: 12px !important;
}

/* === 6. LINEA orizzontale tra cerchi (riposiziona per dot 56px) === */
body .cyl-loc .tl-node::after {
  content: "" !important;
  position: absolute !important;
  top: 27px !important;
  bottom: auto !important;
  left: 60px !important;
  right: -0.6rem !important;
  height: 2px !important;
  background: #3BD4AE !important;
  z-index: 1 !important;
}
body .cyl-loc .tl-node:last-child::after { display: none !important; }
body .cyl-loc .tl-node--current::after {
  background: transparent !important;
  border-top: 2px dashed #3BD4AE !important;
}

/* === 7. Mobile: vertical timeline con cerchi grandi a sinistra === */
@media (max-width: 880px) {
  body .cyl-loc .tl-node {
    padding: 4px 0 0 76px !important;
    min-height: 70px !important;
  }
  body .cyl-loc .tl-dot {
    top: 0 !important;
    left: 0 !important;
  }
  body .cyl-loc .tl-node > :nth-child(2) {
    top: 0 !important;
    left: 0 !important;
  }
  body .cyl-loc .tl-node::after {
    content: "" !important;
    position: absolute !important;
    top: 60px !important;
    bottom: auto !important;
    left: 27px !important;
    right: auto !important;
    width: 2px !important;
    height: calc(100% + 2.4rem - 60px) !important;
    background: #3BD4AE !important;
  }
  body .cyl-loc .tl-node--current::after {
    background: transparent !important;
    border-top: none !important;
    border-left: 2px dashed #3BD4AE !important;
    width: 0 !important;
  }
}
/* ===================================================================
   FIX SESSIONE 11 — Allineamento logo header con content edge della pagina
   Tema header BOXED = 1400px (rilevato via JS computed style)
   Page .cyl-loc .cont BOXED = 1380px + 32px padding (= text edge)
   Offset desiderato: max(32, (vw-1380)/2 + 32) - max(0, (vw-1400)/2)
   Semplificato in clamp: clamp(32px, 32px + (100vw - 1380px)/2, 42px)
   - Limita a 42px quando entrambi i box scalano (vw >= 1400)
   - Scala con il viewport tra 1380 e 1400
   - Cala a 32px quando il content edge è clamped (vw <= 1380)
   =================================================================== */

.elementor-element-060a1cb {
  margin-left: clamp(32px, calc(32px + (100vw - 1380px) / 2), 42px) !important;
}

/* Sotto 768px (mobile) — il content cont passa a padding 16, anche il logo */
@media (max-width: 768px) {
  .elementor-element-060a1cb {
    margin-left: 16px !important;
  }
}/* End custom CSS */

/* Start Custom Fonts CSS */@font-face {
	font-family: 'Mark';
	font-style: normal;
	font-weight: 100;
	font-display: auto;
	src: url('https://cylacademy.com/wp-content/uploads/2024/05/Mark-Hairline.woff') format('woff');
}
@font-face {
	font-family: 'Mark';
	font-style: normal;
	font-weight: 200;
	font-display: auto;
	src: url('https://cylacademy.com/wp-content/uploads/2024/05/Mark-Extralight.woff') format('woff');
}
@font-face {
	font-family: 'Mark';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://cylacademy.com/wp-content/uploads/2024/05/Mark-Light.woff') format('woff');
}
@font-face {
	font-family: 'Mark';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://cylacademy.com/wp-content/uploads/2024/05/Mark-Regular.woff') format('woff');
}
@font-face {
	font-family: 'Mark';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://cylacademy.com/wp-content/uploads/2024/05/Mark-Book.woff') format('woff');
}
@font-face {
	font-family: 'Mark';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://cylacademy.com/wp-content/uploads/2024/05/Mark-Medium.woff') format('woff');
}
@font-face {
	font-family: 'Mark';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://cylacademy.com/wp-content/uploads/2024/05/Mark-Bold.woff') format('woff');
}
@font-face {
	font-family: 'Mark';
	font-style: normal;
	font-weight: 800;
	font-display: auto;
	src: url('https://cylacademy.com/wp-content/uploads/2024/05/Mark-Heavy.woff') format('woff');
}
@font-face {
	font-family: 'Mark';
	font-style: normal;
	font-weight: 900;
	font-display: auto;
	src: url('https://cylacademy.com/wp-content/uploads/2024/05/Mark-Black.woff') format('woff');
}
/* End Custom Fonts CSS */
