.elementor-27380 .elementor-element.elementor-element-0767b23{--display:flex;--min-height:80vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-27380 .elementor-element.elementor-element-575a894{--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:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-27380 .elementor-element.elementor-element-77502e8{--display:flex;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;--z-index:2;}.elementor-27380 .elementor-element.elementor-element-8b7b9f6 > .elementor-widget-container{margin:-60px 0px -40px 0px;padding:0px 0px 0px 0px;}.elementor-27380 .elementor-element.elementor-element-8b7b9f6.elementor-element{--align-self:flex-start;}.elementor-27380 .elementor-element.elementor-element-8b7b9f6 .ue-text{text-align:left;}.elementor-27380 .elementor-element.elementor-element-8b7b9f6 .ue_beginning_text{color:#505050;font-size:1.4rem;line-height:1px;}.elementor-27380 .elementor-element.elementor-element-8b7b9f6 .ue_gradient_text{font-size:3rem;line-height:64px;}.elementor-27380 .elementor-element.elementor-element-8b7b9f6 .ue_ending_text{color:#000000;line-height:1px;}.elementor-27380 .elementor-element.elementor-element-e75c1b0 > .elementor-widget-container{padding:0px 0px 20px 0px;}.elementor-27380 .elementor-element.elementor-element-e75c1b0 p{margin-block-end:10px;}.elementor-27380 .elementor-element.elementor-element-e75c1b0{color:#505050;}.elementor-27380 .elementor-element.elementor-element-99b8f68{--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:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-27380 .elementor-element.elementor-element-2efa303 .elementor-button{background-color:transparent;font-size:14px;font-weight:600;line-height:20px;letter-spacing:1px;text-shadow:0px 0px 0px rgba(0, 0, 0, 0);fill:#FFFFFF;color:#FFFFFF;background-image:linear-gradient(145deg, #002E77 3%, #011830 100%);border-style:none;border-radius:10px 10px 10px 10px;padding:10px 10px 10px 10px;}.elementor-27380 .elementor-element.elementor-element-2efa303 .elementor-button:hover, .elementor-27380 .elementor-element.elementor-element-2efa303 .elementor-button:focus{background-color:#F8F8FF;color:#FFFFFF;border-color:#1E1E1E;}.elementor-27380 .elementor-element.elementor-element-2efa303 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-27380 .elementor-element.elementor-element-2efa303.elementor-element{--align-self:flex-start;}.elementor-27380 .elementor-element.elementor-element-2efa303 .elementor-button:hover svg, .elementor-27380 .elementor-element.elementor-element-2efa303 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-27380 .elementor-element.elementor-element-8ed046c .elementor-button{background-color:transparent;font-size:14px;font-weight:600;line-height:20px;letter-spacing:1px;fill:#FFFFFF;color:#FFFFFF;background-image:linear-gradient(145deg, #002E77 3%, #011830 100%);border-style:none;border-radius:10px 10px 10px 10px;padding:10px 10px 10px 10px;}.elementor-27380 .elementor-element.elementor-element-8ed046c .elementor-button:hover, .elementor-27380 .elementor-element.elementor-element-8ed046c .elementor-button:focus{background-color:#F8F8FF;color:#FFFFFF;border-color:#1E1E1E;}.elementor-27380 .elementor-element.elementor-element-8ed046c > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-27380 .elementor-element.elementor-element-8ed046c.elementor-element{--align-self:flex-start;}.elementor-27380 .elementor-element.elementor-element-8ed046c .elementor-button:hover svg, .elementor-27380 .elementor-element.elementor-element-8ed046c .elementor-button:focus svg{fill:#FFFFFF;}.elementor-27380 .elementor-element.elementor-element-0cd7d76 img{max-width:90%;}.elementor-27380 .elementor-element.elementor-element-01a8164{--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;--gap:50px 50px;--row-gap:50px;--column-gap:50px;--flex-wrap:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-27380 .elementor-element.elementor-element-01a8164:not(.elementor-motion-effects-element-type-background), .elementor-27380 .elementor-element.elementor-element-01a8164 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF00;}.elementor-27380 .elementor-element.elementor-element-01a8164.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-27380 .elementor-element.elementor-element-0ff7b0b{width:var( --container-widget-width, 30.8% );max-width:30.8%;--container-widget-width:30.8%;--container-widget-flex-grow:0;}.elementor-27380 .elementor-element.elementor-element-0ff7b0b > .elementor-widget-container{background-color:#FFFFFF;padding:20px 20px 20px 20px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#303C5729;border-radius:0px 0px 0px 0px;}.elementor-27380 .elementor-element.elementor-element-0ff7b0b.elementor-element{--align-self:stretch;}.elementor-27380 .elementor-element.elementor-element-0ff7b0b .elementor-icon-box-wrapper{text-align:start;}.elementor-27380 .elementor-element.elementor-element-0ff7b0b .elementor-icon-box-title{margin-block-end:5px;color:#303C57;}.elementor-27380 .elementor-element.elementor-element-0ff7b0b .elementor-icon-box-title, .elementor-27380 .elementor-element.elementor-element-0ff7b0b .elementor-icon-box-title a{font-size:18px;font-weight:400;}.elementor-27380 .elementor-element.elementor-element-0ff7b0b .elementor-icon-box-description{font-weight:400;color:#646464;}.elementor-27380 .elementor-element.elementor-element-9e235db{width:var( --container-widget-width, 30.7% );max-width:30.7%;--container-widget-width:30.7%;--container-widget-flex-grow:0;}.elementor-27380 .elementor-element.elementor-element-9e235db > .elementor-widget-container{background-color:#FFFFFF;padding:20px 20px 20px 20px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#303C5729;border-radius:0px 0px 0px 0px;}.elementor-27380 .elementor-element.elementor-element-9e235db.elementor-element{--align-self:stretch;}.elementor-27380 .elementor-element.elementor-element-9e235db .elementor-icon-box-wrapper{text-align:start;}.elementor-27380 .elementor-element.elementor-element-9e235db .elementor-icon-box-title{margin-block-end:5px;color:#303C57;}.elementor-27380 .elementor-element.elementor-element-9e235db .elementor-icon-box-title, .elementor-27380 .elementor-element.elementor-element-9e235db .elementor-icon-box-title a{font-size:18px;font-weight:400;}.elementor-27380 .elementor-element.elementor-element-9e235db .elementor-icon-box-description{font-weight:400;color:#646464;}.elementor-27380 .elementor-element.elementor-element-275ecd8{width:var( --container-widget-width, 30.8% );max-width:30.8%;--container-widget-width:30.8%;--container-widget-flex-grow:0;}.elementor-27380 .elementor-element.elementor-element-275ecd8 > .elementor-widget-container{background-color:#FFFFFF;padding:20px 20px 20px 20px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#303C5729;border-radius:0px 0px 0px 0px;}.elementor-27380 .elementor-element.elementor-element-275ecd8.elementor-element{--align-self:stretch;}.elementor-27380 .elementor-element.elementor-element-275ecd8 .elementor-icon-box-wrapper{text-align:start;}.elementor-27380 .elementor-element.elementor-element-275ecd8 .elementor-icon-box-title{margin-block-end:5px;color:#303C57;}.elementor-27380 .elementor-element.elementor-element-275ecd8 .elementor-icon-box-title, .elementor-27380 .elementor-element.elementor-element-275ecd8 .elementor-icon-box-title a{font-size:18px;font-weight:400;}.elementor-27380 .elementor-element.elementor-element-275ecd8 .elementor-icon-box-description{font-weight:400;color:#646464;}.elementor-27380 .elementor-element.elementor-element-5543c28{width:var( --container-widget-width, 30.8% );max-width:30.8%;--container-widget-width:30.8%;--container-widget-flex-grow:0;}.elementor-27380 .elementor-element.elementor-element-5543c28 > .elementor-widget-container{background-color:#FFFFFF;padding:20px 20px 20px 20px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#303C5729;border-radius:0px 0px 0px 0px;}.elementor-27380 .elementor-element.elementor-element-5543c28.elementor-element{--align-self:stretch;}.elementor-27380 .elementor-element.elementor-element-5543c28 .elementor-icon-box-wrapper{text-align:start;}.elementor-27380 .elementor-element.elementor-element-5543c28 .elementor-icon-box-title{margin-block-end:5px;color:#303C57;}.elementor-27380 .elementor-element.elementor-element-5543c28 .elementor-icon-box-title, .elementor-27380 .elementor-element.elementor-element-5543c28 .elementor-icon-box-title a{font-size:18px;font-weight:400;}.elementor-27380 .elementor-element.elementor-element-5543c28 .elementor-icon-box-description{font-weight:400;color:#646464;}.elementor-27380 .elementor-element.elementor-element-c583e28{width:var( --container-widget-width, 30.7% );max-width:30.7%;--container-widget-width:30.7%;--container-widget-flex-grow:0;}.elementor-27380 .elementor-element.elementor-element-c583e28 > .elementor-widget-container{background-color:#FFFFFF;padding:20px 20px 20px 20px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#303C5729;border-radius:0px 0px 0px 0px;}.elementor-27380 .elementor-element.elementor-element-c583e28.elementor-element{--align-self:stretch;}.elementor-27380 .elementor-element.elementor-element-c583e28 .elementor-icon-box-wrapper{text-align:start;}.elementor-27380 .elementor-element.elementor-element-c583e28 .elementor-icon-box-title{margin-block-end:5px;color:#303C57;}.elementor-27380 .elementor-element.elementor-element-c583e28 .elementor-icon-box-title, .elementor-27380 .elementor-element.elementor-element-c583e28 .elementor-icon-box-title a{font-size:18px;font-weight:400;}.elementor-27380 .elementor-element.elementor-element-c583e28 .elementor-icon-box-description{font-weight:400;color:#646464;}.elementor-27380 .elementor-element.elementor-element-3975722{width:var( --container-widget-width, 30.8% );max-width:30.8%;--container-widget-width:30.8%;--container-widget-flex-grow:0;}.elementor-27380 .elementor-element.elementor-element-3975722 > .elementor-widget-container{background-color:#FFFFFF;padding:20px 20px 20px 20px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#303C5729;border-radius:0px 0px 0px 0px;}.elementor-27380 .elementor-element.elementor-element-3975722.elementor-element{--align-self:stretch;}.elementor-27380 .elementor-element.elementor-element-3975722 .elementor-icon-box-wrapper{text-align:start;}.elementor-27380 .elementor-element.elementor-element-3975722 .elementor-icon-box-title{margin-block-end:5px;color:#303C57;}.elementor-27380 .elementor-element.elementor-element-3975722 .elementor-icon-box-title, .elementor-27380 .elementor-element.elementor-element-3975722 .elementor-icon-box-title a{font-size:18px;font-weight:400;}.elementor-27380 .elementor-element.elementor-element-3975722 .elementor-icon-box-description{font-weight:400;color:#646464;}.elementor-27380 .elementor-element.elementor-element-7e057d5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:50px 50px;--row-gap:50px;--column-gap:50px;--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-27380 .elementor-element.elementor-element-7e057d5:not(.elementor-motion-effects-element-type-background), .elementor-27380 .elementor-element.elementor-element-7e057d5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-27380 .elementor-element.elementor-element-bbded70{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:5%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-27380 .elementor-element.elementor-element-f834931{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:start;}.elementor-27380 .elementor-element.elementor-element-814d6e5{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-27380 .elementor-element.elementor-element-4c14048{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-27380 .elementor-element.elementor-element-e67400b{--display:flex;--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-27380 .elementor-element.elementor-element-9947156 .ug-arrow-left svg polyline,.elementor-27380 .elementor-element.elementor-element-9947156 .ug-arrow-right svg polyline{stroke:#ffffff;}.elementor-27380 .elementor-element.elementor-element-debb0d2 .ug-arrow-left svg polyline,.elementor-27380 .elementor-element.elementor-element-debb0d2 .ug-arrow-right svg polyline{stroke:#ffffff;}.elementor-27380 .elementor-element.elementor-element-f480a1d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-27380 .elementor-element.elementor-element-766a919{text-align:center;}.elementor-27380 .elementor-element.elementor-element-9e02edb{text-align:center;}.elementor-27380 .elementor-element.elementor-element-881b8ac{--display:flex;--padding-top:30px;--padding-bottom:90px;--padding-left:0px;--padding-right:0px;}.elementor-27380 .elementor-element.elementor-element-ef4a24a{text-align:center;}.elementor-27380 .elementor-element.elementor-element-8e5f041 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-27380 .elementor-element.elementor-element-c518665 > .elementor-widget-container{padding:30px 0px 0px 0px;}.elementor-27380 .elementor-element.elementor-element-c518665{text-align:center;}.elementor-27380 .elementor-element.elementor-element-deb64d3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-27380 .elementor-element.elementor-element-d0d60cf{text-align:center;}.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs .e-tabs-main-area{height:500px;}.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-items .e-tab-title .e-tab-title-text button{font-weight:normal;}.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-items-wrapper .e-tab-title:where( .e-active, :hover ) .e-tab-title-text{color:#556068;}.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-items-wrapper .e-tab-title:where( .e-active, :hover ) .e-tab-title-text button{color:#556068;}.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-items-wrapper .e-section-title{border-style:solid;}.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-inner-tabs .e-inner-tabs-wrapper .e-inner-tab-title a{font-weight:400;}.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-inner-tabs .e-inner-tabs-content-wrapper .e-inner-tab-content .e-inner-tab-text{font-weight:400;}.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-inner-tabs .e-inner-tabs-content-wrapper .e-inner-tab-content button{font-weight:400;}.elementor-27380 .elementor-element.elementor-element-c1e7541{--display:flex;--justify-content:flex-end;--flex-wrap:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-27380 .elementor-element.elementor-element-c1e7541:not(.elementor-motion-effects-element-type-background), .elementor-27380 .elementor-element.elementor-element-c1e7541 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#10101000;}.elementor-27380 .elementor-element.elementor-element-7b32b1d > .elementor-widget-container{margin:0px 0px 50px 0px;}.elementor-27380 .elementor-element.elementor-element-7b32b1d{text-align:center;}.elementor-27380 .elementor-element.elementor-element-7b32b1d .elementor-heading-title{color:#131313;}.elementor-27380 .elementor-element.elementor-element-715ed19{--swiper-slides-to-display:4;--swiper-offset-size:100px;--swiper-slides-gap:60px;width:100%;max-width:100%;--arrow-prev-left-align:0%;--arrow-prev-translate-x:0px;--arrow-prev-left-position:100px;--arrow-prev-top-align:50%;--arrow-prev-translate-y:-50%;--arrow-prev-top-position:0px;--arrow-next-right-align:0%;--arrow-next-translate-x:0%;--arrow-next-right-position:100px;--arrow-next-top-align:50%;--arrow-next-translate-y:-50%;--arrow-next-top-position:0px;--arrow-size:24px;--arrow-normal-color:#FFFFFF;}.elementor-27380 .elementor-element.elementor-element-715ed19 :is(.elementor-swiper-button-prev, .elementor-swiper-button-next) {background-color:#1B1B1B;border-radius:20px 20px 20px 20px;padding:10px 10px 10px 10px;}.elementor-27380 .elementor-element.elementor-element-715ed19 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 50px 0px;}.elementor-27380 .elementor-element.elementor-element-715ed19 .swiper-slide > .elementor-element{height:100%;}.elementor-27380 .elementor-element.elementor-element-36d7123{--display:flex;}@media(max-width:1024px){.elementor-27380 .elementor-element.elementor-element-0767b23{--min-height:59vh;--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-27380 .elementor-element.elementor-element-575a894{--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-27380 .elementor-element.elementor-element-77502e8{--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-27380 .elementor-element.elementor-element-8b7b9f6 > .elementor-widget-container{margin:-40px 0px -30px 0px;}.elementor-27380 .elementor-element.elementor-element-8b7b9f6 .ue_beginning_text{font-size:15px;line-height:1px;}.elementor-27380 .elementor-element.elementor-element-8b7b9f6 .ue_gradient_text{font-size:34px;}.elementor-27380 .elementor-element.elementor-element-e75c1b0{font-size:13px;}.elementor-27380 .elementor-element.elementor-element-01a8164{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--flex-wrap:wrap;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-27380 .elementor-element.elementor-element-01a8164.e-con{--order:-99999 /* order start hack */;}.elementor-27380 .elementor-element.elementor-element-0ff7b0b{--container-widget-width:45%;--container-widget-flex-grow:0;width:var( --container-widget-width, 45% );max-width:45%;}.elementor-27380 .elementor-element.elementor-element-9e235db{--container-widget-width:45%;--container-widget-flex-grow:0;width:var( --container-widget-width, 45% );max-width:45%;}.elementor-27380 .elementor-element.elementor-element-275ecd8{--container-widget-width:45%;--container-widget-flex-grow:0;width:var( --container-widget-width, 45% );max-width:45%;}.elementor-27380 .elementor-element.elementor-element-5543c28{--container-widget-width:45%;--container-widget-flex-grow:0;width:var( --container-widget-width, 45% );max-width:45%;}.elementor-27380 .elementor-element.elementor-element-c583e28{--container-widget-width:45%;--container-widget-flex-grow:0;width:var( --container-widget-width, 45% );max-width:45%;}.elementor-27380 .elementor-element.elementor-element-3975722{--container-widget-width:45%;--container-widget-flex-grow:0;width:var( --container-widget-width, 45% );max-width:45%;}.elementor-27380 .elementor-element.elementor-element-bbded70{--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-27380 .elementor-element.elementor-element-4c14048{--padding-top:5%;--padding-bottom:5%;--padding-left:2%;--padding-right:2%;}.elementor-27380 .elementor-element.elementor-element-0ff477c > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-27380 .elementor-element.elementor-element-715ed19{--swiper-slides-to-display:2;}}@media(max-width:767px){.elementor-27380 .elementor-element.elementor-element-77502e8{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-27380 .elementor-element.elementor-element-99b8f68{--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-27380 .elementor-element.elementor-element-01a8164{--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-27380 .elementor-element.elementor-element-0ff7b0b{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-27380 .elementor-element.elementor-element-9e235db{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-27380 .elementor-element.elementor-element-275ecd8{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-27380 .elementor-element.elementor-element-5543c28{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-27380 .elementor-element.elementor-element-c583e28{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-27380 .elementor-element.elementor-element-3975722{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-27380 .elementor-element.elementor-element-af8b071 .elementor-heading-title{font-size:24px;}.elementor-27380 .elementor-element.elementor-element-f834931 .elementor-heading-title{font-size:24px;}.elementor-27380 .elementor-element.elementor-element-881b8ac{--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-27380 .elementor-element.elementor-element-715ed19{--swiper-slides-to-display:1;--swiper-offset-size:0px;--swiper-slides-gap:40px;--arrow-prev-left-position:30px;--arrow-next-right-position:30px;}}@media(min-width:768px){.elementor-27380 .elementor-element.elementor-element-0767b23{--width:100%;}.elementor-27380 .elementor-element.elementor-element-77502e8{--width:60%;}.elementor-27380 .elementor-element.elementor-element-01a8164{--width:100%;}.elementor-27380 .elementor-element.elementor-element-c1e7541{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-27380 .elementor-element.elementor-element-77502e8{--width:100%;}}/* Start custom CSS for button, class: .elementor-element-2efa303 *//* === RECAP Button — Secondary (subtle) === */
.elementor-27380 .elementor-element.elementor-element-2efa303 .elementor-button {
  position: relative !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 16px 28px !important;
  font-weight: 600 !important;
  color: var(--carbon-gray, #2B2D31) !important;
  background: var(--glass-bg, rgba(244, 245, 247, 0.75)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur, 16px));
  backdrop-filter: blur(var(--glass-blur, 16px));
  border: 1px solid rgba(43, 45, 49, 0.2) !important;
  border-radius: 0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
  overflow: hidden;
  transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important;
}

/* Yellow line that "draws" in on hover */
.elementor-27380 .elementor-element.elementor-element-2efa303 .elementor-button::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: var(--recap-yellow, #FEE018);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.3s ease;
  pointer-events: none;
}

.elementor-27380 .elementor-element.elementor-element-2efa303 .elementor-button:hover {
  color: var(--carbon-gray, #2B2D31) !important;
  background: #FFFFFF !important;
  border-color: var(--carbon-gray, #2B2D31) !important;
  box-shadow: 0 8px 24px rgba(43, 45, 49, 0.08) !important;
}

.elementor-27380 .elementor-element.elementor-element-2efa303 .elementor-button:hover::after { transform: scaleX(1); }

.elementor-27380 .elementor-element.elementor-element-2efa303 .elementor-button:focus-visible {
  outline: 2px solid var(--carbon-gray, #2B2D31) !important;
  outline-offset: 3px;
}

.elementor-27380 .elementor-element.elementor-element-2efa303 .elementor-button-icon svg { fill: currentColor; }

@media (prefers-reduced-motion: reduce) {
  .elementor-27380 .elementor-element.elementor-element-2efa303 .elementor-button,
  .elementor-27380 .elementor-element.elementor-element-2efa303 .elementor-button::after { transition: none !important; }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8ed046c *//* === RECAP Button — Primary (focus) — rotating ring without @property === */
.elementor-27380 .elementor-element.elementor-element-8ed046c .elementor-button {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 16px 28px !important;
  font-weight: 600 !important;
  color: var(--recap-yellow, #FEE018) !important;
  background: var(--carbon-gray, #2B2D31) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: 0 0 22px rgba(254, 224, 24, 0.3) !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease !important;
}

/* Rotating yellow light (large square, clipped at the button's edges) */
.elementor-27380 .elementor-element.elementor-element-8ed046c .elementor-button::before {
  content: '' !important;
  position: absolute !important;
  z-index: -2;
  top: 50%;
  left: 50%;
  width: 200%;
  aspect-ratio: 1;
  background: conic-gradient(
    transparent 0%,
    transparent 40%,
    rgba(254, 224, 24, 0.3) 60%,
    rgba(254, 224, 24, 0.8) 80%,
    var(--recap-yellow, #FEE018) 100%
  );
  transform: translate(-50%, -50%) rotate(0deg);
  animation: rt-btn-rotate 3s linear infinite;
  pointer-events: none;
}

/* Carbon face — leaves a 1px ring visible at the edges */
.elementor-27380 .elementor-element.elementor-element-8ed046c .elementor-button::after {
  content: '' !important;
  position: absolute !important;
  z-index: -1;
  inset: 1px;
  background: var(--carbon-gray, #2B2D31);
  pointer-events: none;
}

.elementor-27380 .elementor-element.elementor-element-8ed046c .elementor-button:hover {
  color: var(--recap-yellow, #FEE018) !important;
  box-shadow: 0 0 30px rgba(254, 224, 24, 0.5) !important;
  transform: translateY(-1px);
}

.elementor-27380 .elementor-element.elementor-element-8ed046c .elementor-button:focus-visible {
  outline: 2px solid var(--recap-yellow, #FEE018) !important;
  outline-offset: 3px;
}

.elementor-27380 .elementor-element.elementor-element-8ed046c .elementor-button-icon svg { fill: currentColor; }

@keyframes rt-btn-rotate {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-27380 .elementor-element.elementor-element-8ed046c .elementor-button::before { animation: none; }
  .elementor-27380 .elementor-element.elementor-element-8ed046c .elementor-button { transition: none !important; }
  .elementor-27380 .elementor-element.elementor-element-8ed046c .elementor-button:hover { transform: none; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-77502e8 *//* === RECAP Tech Glass — .elementor-27380 .elementor-element.elementor-element-77502e8-scoped === */
.elementor-27380 .elementor-element.elementor-element-77502e8 {
  --ext: 24px;
  --line-color: rgba(43, 45, 49, 0.5);
  position: relative;
  background-color: var(--glass-bg, rgba(244, 245, 247, 0.75)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur, 16px)) !important;
  backdrop-filter: blur(var(--glass-blur, 16px)) !important;
  border: 1px solid var(--glass-border, rgba(43, 45, 49, 0.12)) !important;
  border-radius: 0 !important;
  box-shadow: var(--glass-shadow, 0 20px 40px rgba(43, 45, 49, 0.04), inset 1px 1px 0px rgba(255, 255, 255, 0.8)) !important;
  overflow: visible !important;
}

/* Crosshairs — shared reset (overrides Elementor's .e-con::before overlay sizing) */
.elementor-27380 .elementor-element.elementor-element-77502e8::before,
.elementor-27380 .elementor-element.elementor-element-77502e8::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  z-index: -1 !important;
  pointer-events: none !important;
  box-sizing: border-box !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  background-color: transparent !important;
  transition: none !important;
}

/* Horizontal crosshairs — extend outward */
.elementor-27380 .elementor-element.elementor-element-77502e8::before {
  top: -1px !important;
  bottom: -1px !important;
  left: calc(var(--ext, 24px) * -1) !important;
  right: calc(var(--ext, 24px) * -1) !important;
  background-image:
    repeating-linear-gradient(to left,  transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to right, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to left,  transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to right, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px) !important;
  background-size: var(--ext, 24px) 1px !important;
  background-position: top left, top right, bottom left, bottom right !important;
  background-repeat: no-repeat !important;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
}

/* Vertical crosshairs — extend outward */
.elementor-27380 .elementor-element.elementor-element-77502e8::after {
  left: -1px !important;
  right: -1px !important;
  top: calc(var(--ext, 24px) * -1) !important;
  bottom: calc(var(--ext, 24px) * -1) !important;
  background-image:
    repeating-linear-gradient(to top,    transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to top,    transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to bottom, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to bottom, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px) !important;
  background-size: 1px var(--ext, 24px) !important;
  background-position: top left, top right, bottom left, bottom right !important;
  background-repeat: no-repeat !important;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
}

/* Shorter crosshairs on mobile so they don't touch the screen edge */
@media (max-width: 767px) {
  .elementor-27380 .elementor-element.elementor-element-77502e8 { --ext: 14px; }
}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-0ff7b0b *//* === RECAP Tech Glass — .elementor-27380 .elementor-element.elementor-element-0ff7b0b-scoped === */
.elementor-27380 .elementor-element.elementor-element-0ff7b0b {
  --ext: 24px;
  --line-color: rgba(43, 45, 49, 0.5);
  position: relative;
  background-color: var(--glass-bg, rgba(244, 245, 247, 0.75)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur, 16px)) !important;
  backdrop-filter: blur(var(--glass-blur, 16px)) !important;
  border: 1px solid var(--glass-border, rgba(43, 45, 49, 0.12)) !important;
  border-radius: 0 !important;
  box-shadow: var(--glass-shadow, 0 20px 40px rgba(43, 45, 49, 0.04), inset 1px 1px 0px rgba(255, 255, 255, 0.8)) !important;
  overflow: visible !important;
}

/* Crosshairs — shared reset (overrides Elementor's .e-con::before overlay sizing) */
.elementor-27380 .elementor-element.elementor-element-0ff7b0b::before,
.elementor-27380 .elementor-element.elementor-element-0ff7b0b::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  z-index: -1 !important;
  pointer-events: none !important;
  box-sizing: border-box !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  background-color: transparent !important;
  transition: none !important;
}

/* Horizontal crosshairs — extend outward */
.elementor-27380 .elementor-element.elementor-element-0ff7b0b::before {
  top: -1px !important;
  bottom: -1px !important;
  left: calc(var(--ext, 24px) * -1) !important;
  right: calc(var(--ext, 24px) * -1) !important;
  background-image:
    repeating-linear-gradient(to left,  transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to right, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to left,  transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to right, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px) !important;
  background-size: var(--ext, 24px) 1px !important;
  background-position: top left, top right, bottom left, bottom right !important;
  background-repeat: no-repeat !important;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
}

/* Vertical crosshairs — extend outward */
.elementor-27380 .elementor-element.elementor-element-0ff7b0b::after {
  left: -1px !important;
  right: -1px !important;
  top: calc(var(--ext, 24px) * -1) !important;
  bottom: calc(var(--ext, 24px) * -1) !important;
  background-image:
    repeating-linear-gradient(to top,    transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to top,    transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to bottom, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to bottom, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px) !important;
  background-size: 1px var(--ext, 24px) !important;
  background-position: top left, top right, bottom left, bottom right !important;
  background-repeat: no-repeat !important;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
}

/* Shorter crosshairs on mobile so they don't touch the screen edge */
@media (max-width: 767px) {
  .elementor-27380 .elementor-element.elementor-element-0ff7b0b { --ext: 14px; }
}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-9e235db *//* === RECAP Tech Glass — .elementor-27380 .elementor-element.elementor-element-9e235db-scoped === */
.elementor-27380 .elementor-element.elementor-element-9e235db {
  --ext: 24px;
  --line-color: rgba(43, 45, 49, 0.5);
  position: relative;
  background-color: var(--glass-bg, rgba(244, 245, 247, 0.75)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur, 16px)) !important;
  backdrop-filter: blur(var(--glass-blur, 16px)) !important;
  border: 1px solid var(--glass-border, rgba(43, 45, 49, 0.12)) !important;
  border-radius: 0 !important;
  box-shadow: var(--glass-shadow, 0 20px 40px rgba(43, 45, 49, 0.04), inset 1px 1px 0px rgba(255, 255, 255, 0.8)) !important;
  overflow: visible !important;
}

/* Crosshairs — shared reset (overrides Elementor's .e-con::before overlay sizing) */
.elementor-27380 .elementor-element.elementor-element-9e235db::before,
.elementor-27380 .elementor-element.elementor-element-9e235db::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  z-index: -1 !important;
  pointer-events: none !important;
  box-sizing: border-box !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  background-color: transparent !important;
  transition: none !important;
}

/* Horizontal crosshairs — extend outward */
.elementor-27380 .elementor-element.elementor-element-9e235db::before {
  top: -1px !important;
  bottom: -1px !important;
  left: calc(var(--ext, 24px) * -1) !important;
  right: calc(var(--ext, 24px) * -1) !important;
  background-image:
    repeating-linear-gradient(to left,  transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to right, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to left,  transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to right, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px) !important;
  background-size: var(--ext, 24px) 1px !important;
  background-position: top left, top right, bottom left, bottom right !important;
  background-repeat: no-repeat !important;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
}

/* Vertical crosshairs — extend outward */
.elementor-27380 .elementor-element.elementor-element-9e235db::after {
  left: -1px !important;
  right: -1px !important;
  top: calc(var(--ext, 24px) * -1) !important;
  bottom: calc(var(--ext, 24px) * -1) !important;
  background-image:
    repeating-linear-gradient(to top,    transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to top,    transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to bottom, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to bottom, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px) !important;
  background-size: 1px var(--ext, 24px) !important;
  background-position: top left, top right, bottom left, bottom right !important;
  background-repeat: no-repeat !important;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
}

/* Shorter crosshairs on mobile so they don't touch the screen edge */
@media (max-width: 767px) {
  .elementor-27380 .elementor-element.elementor-element-9e235db { --ext: 14px; }
}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-275ecd8 *//* === RECAP Tech Glass — .elementor-27380 .elementor-element.elementor-element-275ecd8-scoped === */
.elementor-27380 .elementor-element.elementor-element-275ecd8 {
  --ext: 24px;
  --line-color: rgba(43, 45, 49, 0.5);
  position: relative;
  background-color: var(--glass-bg, rgba(244, 245, 247, 0.75)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur, 16px)) !important;
  backdrop-filter: blur(var(--glass-blur, 16px)) !important;
  border: 1px solid var(--glass-border, rgba(43, 45, 49, 0.12)) !important;
  border-radius: 0 !important;
  box-shadow: var(--glass-shadow, 0 20px 40px rgba(43, 45, 49, 0.04), inset 1px 1px 0px rgba(255, 255, 255, 0.8)) !important;
  overflow: visible !important;
}

/* Crosshairs — shared reset (overrides Elementor's .e-con::before overlay sizing) */
.elementor-27380 .elementor-element.elementor-element-275ecd8::before,
.elementor-27380 .elementor-element.elementor-element-275ecd8::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  z-index: -1 !important;
  pointer-events: none !important;
  box-sizing: border-box !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  background-color: transparent !important;
  transition: none !important;
}

/* Horizontal crosshairs — extend outward */
.elementor-27380 .elementor-element.elementor-element-275ecd8::before {
  top: -1px !important;
  bottom: -1px !important;
  left: calc(var(--ext, 24px) * -1) !important;
  right: calc(var(--ext, 24px) * -1) !important;
  background-image:
    repeating-linear-gradient(to left,  transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to right, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to left,  transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to right, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px) !important;
  background-size: var(--ext, 24px) 1px !important;
  background-position: top left, top right, bottom left, bottom right !important;
  background-repeat: no-repeat !important;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
}

/* Vertical crosshairs — extend outward */
.elementor-27380 .elementor-element.elementor-element-275ecd8::after {
  left: -1px !important;
  right: -1px !important;
  top: calc(var(--ext, 24px) * -1) !important;
  bottom: calc(var(--ext, 24px) * -1) !important;
  background-image:
    repeating-linear-gradient(to top,    transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to top,    transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to bottom, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to bottom, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px) !important;
  background-size: 1px var(--ext, 24px) !important;
  background-position: top left, top right, bottom left, bottom right !important;
  background-repeat: no-repeat !important;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
}

/* Shorter crosshairs on mobile so they don't touch the screen edge */
@media (max-width: 767px) {
  .elementor-27380 .elementor-element.elementor-element-275ecd8 { --ext: 14px; }
}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-5543c28 *//* === RECAP Tech Glass — .elementor-27380 .elementor-element.elementor-element-5543c28-scoped === */
.elementor-27380 .elementor-element.elementor-element-5543c28 {
  --ext: 24px;
  --line-color: rgba(43, 45, 49, 0.5);
  position: relative;
  background-color: var(--glass-bg, rgba(244, 245, 247, 0.75)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur, 16px)) !important;
  backdrop-filter: blur(var(--glass-blur, 16px)) !important;
  border: 1px solid var(--glass-border, rgba(43, 45, 49, 0.12)) !important;
  border-radius: 0 !important;
  box-shadow: var(--glass-shadow, 0 20px 40px rgba(43, 45, 49, 0.04), inset 1px 1px 0px rgba(255, 255, 255, 0.8)) !important;
  overflow: visible !important;
}

/* Crosshairs — shared reset (overrides Elementor's .e-con::before overlay sizing) */
.elementor-27380 .elementor-element.elementor-element-5543c28::before,
.elementor-27380 .elementor-element.elementor-element-5543c28::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  z-index: -1 !important;
  pointer-events: none !important;
  box-sizing: border-box !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  background-color: transparent !important;
  transition: none !important;
}

/* Horizontal crosshairs — extend outward */
.elementor-27380 .elementor-element.elementor-element-5543c28::before {
  top: -1px !important;
  bottom: -1px !important;
  left: calc(var(--ext, 24px) * -1) !important;
  right: calc(var(--ext, 24px) * -1) !important;
  background-image:
    repeating-linear-gradient(to left,  transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to right, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to left,  transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to right, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px) !important;
  background-size: var(--ext, 24px) 1px !important;
  background-position: top left, top right, bottom left, bottom right !important;
  background-repeat: no-repeat !important;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
}

/* Vertical crosshairs — extend outward */
.elementor-27380 .elementor-element.elementor-element-5543c28::after {
  left: -1px !important;
  right: -1px !important;
  top: calc(var(--ext, 24px) * -1) !important;
  bottom: calc(var(--ext, 24px) * -1) !important;
  background-image:
    repeating-linear-gradient(to top,    transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to top,    transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to bottom, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to bottom, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px) !important;
  background-size: 1px var(--ext, 24px) !important;
  background-position: top left, top right, bottom left, bottom right !important;
  background-repeat: no-repeat !important;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
}

/* Shorter crosshairs on mobile so they don't touch the screen edge */
@media (max-width: 767px) {
  .elementor-27380 .elementor-element.elementor-element-5543c28 { --ext: 14px; }
}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-c583e28 *//* === RECAP Tech Glass — .elementor-27380 .elementor-element.elementor-element-c583e28-scoped === */
.elementor-27380 .elementor-element.elementor-element-c583e28 {
  --ext: 24px;
  --line-color: rgba(43, 45, 49, 0.5);
  position: relative;
  background-color: var(--glass-bg, rgba(244, 245, 247, 0.75)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur, 16px)) !important;
  backdrop-filter: blur(var(--glass-blur, 16px)) !important;
  border: 1px solid var(--glass-border, rgba(43, 45, 49, 0.12)) !important;
  border-radius: 0 !important;
  box-shadow: var(--glass-shadow, 0 20px 40px rgba(43, 45, 49, 0.04), inset 1px 1px 0px rgba(255, 255, 255, 0.8)) !important;
  overflow: visible !important;
}

/* Crosshairs — shared reset (overrides Elementor's .e-con::before overlay sizing) */
.elementor-27380 .elementor-element.elementor-element-c583e28::before,
.elementor-27380 .elementor-element.elementor-element-c583e28::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  z-index: -1 !important;
  pointer-events: none !important;
  box-sizing: border-box !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  background-color: transparent !important;
  transition: none !important;
}

/* Horizontal crosshairs — extend outward */
.elementor-27380 .elementor-element.elementor-element-c583e28::before {
  top: -1px !important;
  bottom: -1px !important;
  left: calc(var(--ext, 24px) * -1) !important;
  right: calc(var(--ext, 24px) * -1) !important;
  background-image:
    repeating-linear-gradient(to left,  transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to right, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to left,  transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to right, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px) !important;
  background-size: var(--ext, 24px) 1px !important;
  background-position: top left, top right, bottom left, bottom right !important;
  background-repeat: no-repeat !important;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
}

/* Vertical crosshairs — extend outward */
.elementor-27380 .elementor-element.elementor-element-c583e28::after {
  left: -1px !important;
  right: -1px !important;
  top: calc(var(--ext, 24px) * -1) !important;
  bottom: calc(var(--ext, 24px) * -1) !important;
  background-image:
    repeating-linear-gradient(to top,    transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to top,    transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to bottom, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to bottom, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px) !important;
  background-size: 1px var(--ext, 24px) !important;
  background-position: top left, top right, bottom left, bottom right !important;
  background-repeat: no-repeat !important;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
}

/* Shorter crosshairs on mobile so they don't touch the screen edge */
@media (max-width: 767px) {
  .elementor-27380 .elementor-element.elementor-element-c583e28 { --ext: 14px; }
}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-3975722 *//* === RECAP Tech Glass — .elementor-27380 .elementor-element.elementor-element-3975722-scoped === */
.elementor-27380 .elementor-element.elementor-element-3975722 {
  --ext: 24px;
  --line-color: rgba(43, 45, 49, 0.5);
  position: relative;
  background-color: var(--glass-bg, rgba(244, 245, 247, 0.75)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur, 16px)) !important;
  backdrop-filter: blur(var(--glass-blur, 16px)) !important;
  border: 1px solid var(--glass-border, rgba(43, 45, 49, 0.12)) !important;
  border-radius: 0 !important;
  box-shadow: var(--glass-shadow, 0 20px 40px rgba(43, 45, 49, 0.04), inset 1px 1px 0px rgba(255, 255, 255, 0.8)) !important;
  overflow: visible !important;
}

/* Crosshairs — shared reset (overrides Elementor's .e-con::before overlay sizing) */
.elementor-27380 .elementor-element.elementor-element-3975722::before,
.elementor-27380 .elementor-element.elementor-element-3975722::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  z-index: -1 !important;
  pointer-events: none !important;
  box-sizing: border-box !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  background-color: transparent !important;
  transition: none !important;
}

/* Horizontal crosshairs — extend outward */
.elementor-27380 .elementor-element.elementor-element-3975722::before {
  top: -1px !important;
  bottom: -1px !important;
  left: calc(var(--ext, 24px) * -1) !important;
  right: calc(var(--ext, 24px) * -1) !important;
  background-image:
    repeating-linear-gradient(to left,  transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to right, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to left,  transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to right, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px) !important;
  background-size: var(--ext, 24px) 1px !important;
  background-position: top left, top right, bottom left, bottom right !important;
  background-repeat: no-repeat !important;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
}

/* Vertical crosshairs — extend outward */
.elementor-27380 .elementor-element.elementor-element-3975722::after {
  left: -1px !important;
  right: -1px !important;
  top: calc(var(--ext, 24px) * -1) !important;
  bottom: calc(var(--ext, 24px) * -1) !important;
  background-image:
    repeating-linear-gradient(to top,    transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to top,    transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to bottom, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px),
    repeating-linear-gradient(to bottom, transparent 0, transparent 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 4px, var(--line-color, rgba(43, 45, 49, 0.5)) 8px) !important;
  background-size: 1px var(--ext, 24px) !important;
  background-position: top left, top right, bottom left, bottom right !important;
  background-repeat: no-repeat !important;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, black var(--ext, 24px), black calc(100% - var(--ext, 24px)), transparent 100%);
}

/* Shorter crosshairs on mobile so they don't touch the screen edge */
@media (max-width: 767px) {
  .elementor-27380 .elementor-element.elementor-element-3975722 { --ext: 14px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2bf8cfe */<style>
.rt-hero-plan {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.rt-hero-plan__canvas {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}
/* the code widget itself: hidden on the live site (no gap in the hero row, even before JS runs),
   shown as a small tag inside the Elementor editor so you can still find and select it */
body:not(.elementor-editor-active) .elementor-widget:has(.rt-hero-plan-code) { display: none; }
body.elementor-editor-active .elementor-widget:has(.rt-hero-plan-code) {
  position: absolute !important;
  left: 12px;
  bottom: 12px;
  width: auto !important;
  max-width: calc(100% - 24px);
  z-index: 5;
}
.rt-hero-plan-code { display: none; }
body.elementor-editor-active .rt-hero-plan-code {
  display: block;
  padding: 6px 10px;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #5A5D64;
  border: 1px dashed rgba(43, 45, 49, 0.3);
}
</style>/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0767b23 */.elementor-27380 .elementor-element.elementor-element-0767b23 {
    overflow: hidden;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-da938f1 *//* ---------- Signature crosshairs (reusable) ---------- */
.recap-tour-container .rt-xhair {
  --ext: 24px;
  --line: rgba(43, 45, 49, 0.5);
  position: relative;
  isolation: isolate;
}
.recap-tour-container .rt-xhair::before,
.recap-tour-container .rt-xhair::after {
  content: '';
  position: absolute;
  z-index: -1;
  pointer-events: none;
  background-repeat: no-repeat;
  --dash-h: repeating-linear-gradient(to right, transparent 0 4px, var(--line) 4px 8px);
  --dash-v: repeating-linear-gradient(to bottom, transparent 0 4px, var(--line) 4px 8px);
}
.recap-tour-container .rt-xhair::before {
  top: -1px; bottom: -1px;
  left: calc(var(--ext) * -1); right: calc(var(--ext) * -1);
  background-image: var(--dash-h), var(--dash-h), var(--dash-h), var(--dash-h);
  background-size: var(--ext) 1px;
  background-position: top left, top right, bottom left, bottom right;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--ext), #000 calc(100% - var(--ext)), transparent 100%);
          mask-image: linear-gradient(to right, transparent 0, #000 var(--ext), #000 calc(100% - var(--ext)), transparent 100%);
}
.recap-tour-container .rt-xhair::after {
  left: -1px; right: -1px;
  top: calc(var(--ext) * -1); bottom: calc(var(--ext) * -1);
  background-image: var(--dash-v), var(--dash-v), var(--dash-v), var(--dash-v);
  background-size: 1px var(--ext);
  background-position: top left, top right, bottom left, bottom right;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 var(--ext), #000 calc(100% - var(--ext)), transparent 100%);
          mask-image: linear-gradient(to bottom, transparent 0, #000 var(--ext), #000 calc(100% - var(--ext)), transparent 100%);
}
 
/* ---------- Button reset (low specificity: component classes win) ---------- */
.recap-tour-container :where(.rt-lab) button {
  margin: 0;
  padding: 0;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  text-transform: none;
  line-height: inherit;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  min-height: 0;
  cursor: pointer;
}
 
/* ---------- Shell ---------- */
.recap-tour-container .rt-lab {
  --rt-red: #E5383B;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  gap: 16px;
  max-width: 1240px;
  margin: 0 auto;
  padding: 16px;
  color: var(--carbon-gray, #2B2D31);
  background: var(--glass-bg, rgba(244, 245, 247, 0.75));
  -webkit-backdrop-filter: blur(var(--glass-blur, 16px));
  backdrop-filter: blur(var(--glass-blur, 16px));
  border: 1px solid var(--glass-border, rgba(43, 45, 49, 0.12));
  box-shadow: var(--glass-shadow, 0 20px 40px rgba(43, 45, 49, 0.04), inset 1px 1px 0 rgba(255, 255, 255, 0.8));
}
 
/* ---------- Stage: the two views ---------- */
.recap-tour-container .rt-lab__stage {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  min-height: 440px;
}
.recap-tour-container .rt-lab__view {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: #FFFFFF;
  border: 1px solid rgba(43, 45, 49, 0.12);
}
.recap-tour-container .rt-lab__view--cloud {
  background: radial-gradient(ellipse 85% 75% at 56% 46%, #FFFFFF 0%, #EEF0F2 100%);
}
.recap-tour-container .rt-lab__canvas {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.recap-tour-container .rt-lab__view--cloud .rt-lab__canvas { cursor: ns-resize; touch-action: pan-y; }
.recap-tour-container .rt-lab__view--cloud.is-locked .rt-lab__canvas { cursor: pointer; }
.recap-tour-container .rt-lab__view--plan.is-merge .rt-lab__canvas { cursor: pointer; }
.recap-tour-container .rt-lab__view--plan.is-lasso .rt-lab__canvas { cursor: crosshair; touch-action: none; }
.recap-tour-container .rt-lab__canvas:focus { outline: none; }
.recap-tour-container .rt-lab__canvas:focus-visible {
  outline: 2px solid var(--carbon-gray, #2B2D31);
  outline-offset: -3px;
}
 
/* HUD overlays (text stays HTML so it inherits the theme fonts) */
.recap-tour-container .rt-lab__hud {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 6px;
  max-width: calc(50% - 14px);
  pointer-events: none;
}
.recap-tour-container .rt-lab__hud--tl { top: 10px; left: 10px; }
.recap-tour-container .rt-lab__hud--tr { top: 10px; right: 10px; justify-content: flex-end; }
.recap-tour-container .rt-lab__hud--bl { bottom: 10px; left: 10px; }
.recap-tour-container .rt-lab__hud--br { bottom: 10px; right: 10px; justify-content: flex-end; }
.recap-tour-container .rt-lab__chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  font-size: 0.66em;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--carbon-gray, #2B2D31);
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(43, 45, 49, 0.12);
}
.recap-tour-container .rt-lab__z {
  text-transform: none;
  color: var(--rt-red);
  font-variant-numeric: tabular-nums;
}
.recap-tour-container .rt-lab__status i {
  width: 7px;
  height: 7px;
  background: var(--rt-red);
  animation: rt-lab-pulse 1.6s ease-in-out infinite;
}
.recap-tour-container .rt-lab__status.is-locked i {
  background: var(--carbon-gray, #2B2D31);
  animation: none;
}
@keyframes rt-lab-pulse { 50% { opacity: 0.25; } }
.recap-tour-container .rt-lab__meta {
  padding: 2px 6px;
  font-size: 0.68em;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  color: var(--carbon-light, #5A5D64);
  background: rgba(255, 255, 255, 0.8);
}
 
/* Height ruler of the cloud view */
.recap-tour-container .rt-lab__ruler {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 1;
  pointer-events: none;
}
.recap-tour-container .rt-lab__lvl {
  position: absolute;
  left: 2px;
  width: 28px;
  font-size: 0.58em;
  line-height: 1;
  text-align: right;
  font-variant-numeric: tabular-nums;
  color: var(--carbon-light, #5A5D64);
  transform: translateY(-50%);
}
.recap-tour-container .rt-lab__zmark {
  position: absolute;
  left: 52px;
  top: 50%;
  padding: 2px 6px;
  font-size: 0.64em;
  font-weight: 700;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  color: var(--rt-red);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(229, 56, 59, 0.35);
  transform: translateY(-50%);
}
.recap-tour-container .rt-lab__scale-lbl {
  position: absolute;
  z-index: 1;
  font-size: 0.6em;
  line-height: 1;
  color: var(--carbon-light, #5A5D64);
  transform: translateX(-50%);
  pointer-events: none;
}
 
/* ---------- Tools column ---------- */
.recap-tour-container .rt-lab__tools {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}
.recap-tour-container .rt-lab__tools-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 2px 2px 10px;
  font-size: 0.72em;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: repeating-linear-gradient(to right, rgba(43, 45, 49, 0.25) 0 4px, transparent 4px 8px) left bottom / 100% 1px no-repeat;
}
.recap-tour-container .rt-lab__legend {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: none;
  color: var(--carbon-light, #5A5D64);
}
.recap-tour-container .rt-lab__legend i {
  width: 22px;
  height: 3px;
  background-image: radial-gradient(circle, var(--rt-red) 0 1.2px, transparent 1.5px);
  background-size: 4px 3px;
}
.recap-tour-container .rt-lab__toolset {
  display: grid;
  gap: 8px;
}
.recap-tour-container .rt-lab__tool {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 9px 10px;
  text-align: left;
  color: var(--carbon-gray, #2B2D31);
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(43, 45, 49, 0.14);
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
.recap-tour-container .rt-lab__tool:hover {
  background: #FFFFFF;
  border-color: var(--carbon-gray, #2B2D31);
}
.recap-tour-container .rt-lab__tool:focus-visible {
  outline: 2px solid var(--carbon-gray, #2B2D31);
  outline-offset: 2px;
}
.recap-tour-container .rt-lab__tool-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: var(--carbon-gray, #2B2D31);
  background: #FFFFFF;
  border: 1px solid rgba(43, 45, 49, 0.14);
  transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}
.recap-tour-container .rt-lab__tool-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: square;
}
.recap-tour-container .rt-lab__tool-text { min-width: 0; }
.recap-tour-container .rt-lab__tool-name {
  display: block;
  font-size: 0.92em;
  font-weight: 700;
  line-height: 1.25;
}
.recap-tour-container .rt-lab__tool-desc {
  display: block;
  margin-top: 2px;
  font-size: 0.74em;
  line-height: 1.35;
  color: var(--carbon-light, #5A5D64);
  transition: color 0.25s ease;
}
.recap-tour-container .rt-lab__tool-no {
  align-self: center;
  padding: 1px 5px;
  font-size: 0.66em;
  font-weight: 700;
  letter-spacing: 0.06em;
  font-variant-numeric: tabular-nums;
  color: var(--carbon-light, #5A5D64);
  border: 1px solid rgba(43, 45, 49, 0.2);
}
 
/* Active mode / running action: carbon — yellow appears ONLY on carbon */
.recap-tour-container .rt-lab__tool[aria-pressed="true"],
.recap-tour-container .rt-lab__tool.is-running {
  color: #F4F5F7;
  background: var(--carbon-gray, #2B2D31);
  border-color: var(--carbon-gray, #2B2D31);
}
.recap-tour-container .rt-lab__tool[aria-pressed="true"] .rt-lab__tool-desc,
.recap-tour-container .rt-lab__tool.is-running .rt-lab__tool-desc { color: rgba(244, 245, 247, 0.65); }
.recap-tour-container .rt-lab__tool[aria-pressed="true"] .rt-lab__tool-icon,
.recap-tour-container .rt-lab__tool.is-running .rt-lab__tool-icon {
  color: var(--recap-yellow, #FEE018);
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(254, 224, 24, 0.35);
}
.recap-tour-container .rt-lab__tool[aria-pressed="true"] .rt-lab__tool-no,
.recap-tour-container .rt-lab__tool.is-running .rt-lab__tool-no {
  color: rgba(244, 245, 247, 0.7);
  border-color: rgba(244, 245, 247, 0.25);
}
.recap-tour-container .rt-lab__tool.is-disabled { opacity: 0.45; }
.recap-tour-container .rt-lab__tool.is-disabled:hover {
  background: rgba(255, 255, 255, 0.6);
  border-color: rgba(43, 45, 49, 0.14);
}
 
/* Status panel */
.recap-tour-container .rt-lab__panel {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: auto;
  padding: 14px;
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(43, 45, 49, 0.12);
}
.recap-tour-container .rt-lab__hint {
  margin: 0;
  min-height: 4.35em;
  font-size: 0.84em;
  line-height: 1.45;
  color: var(--carbon-light, #5A5D64);
}
.recap-tour-container .rt-lab__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  align-items: center;
  gap: 8px;
  padding-top: 10px;
  background: repeating-linear-gradient(to right, rgba(43, 45, 49, 0.2) 0 4px, transparent 4px 8px) left top / 100% 1px no-repeat;
}
.recap-tour-container .rt-lab__stat {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.recap-tour-container .rt-lab__stat-val {
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}
.recap-tour-container .rt-lab__stat-lbl {
  font-size: 0.7em;
  color: var(--carbon-light, #5A5D64);
}
.recap-tour-container .rt-lab__reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: var(--carbon-gray, #2B2D31);
  border: 1px solid rgba(43, 45, 49, 0.2);
  transition: background-color 0.25s ease, border-color 0.25s ease;
}
.recap-tour-container .rt-lab__reset svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
.recap-tour-container .rt-lab__reset:hover {
  background: #FFFFFF;
  border-color: var(--carbon-gray, #2B2D31);
}
.recap-tour-container .rt-lab__reset:focus-visible {
  outline: 2px solid var(--carbon-gray, #2B2D31);
  outline-offset: 2px;
}
 
/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .recap-tour-container .rt-lab { grid-template-columns: 1fr; }
  .recap-tour-container .rt-lab__stage { min-height: 460px; }
  .recap-tour-container .rt-lab__toolset { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .recap-tour-container .rt-lab__panel { margin-top: 0; }
}
@media (max-width: 767px) {
  .recap-tour-container .rt-lab { gap: 12px; padding: 12px; }
  .recap-tour-container .rt-xhair { --ext: 12px; }
  .recap-tour-container .rt-lab__stage {
    grid-template-columns: 1fr;
    grid-template-rows: 340px 340px;
    min-height: 0;
  }
  .recap-tour-container .rt-lab__tool {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    padding: 10px;
  }
  .recap-tour-container .rt-lab__tool-no,
  .recap-tour-container .rt-lab__tool-desc { display: none; }
  /* phones: chips move to the bottom so the titles stay readable */
  .recap-tour-container .rt-lab__hud--status,
  .recap-tour-container .rt-lab__hud--z { top: auto; bottom: 10px; }
  .recap-tour-container .rt-lab__help,
  .recap-tour-container .rt-lab__hud--coords { display: none; }
}
@media (max-width: 480px) {
  .recap-tour-container .rt-lab__toolset { grid-template-columns: 1fr; }
  .recap-tour-container .rt-lab__tool-desc { display: block; }
}
@media (hover: none) {
  .recap-tour-container .rt-lab__help { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .recap-tour-container .rt-lab *,
  .recap-tour-container .rt-lab *::before { transition: none !important; animation: none !important; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0ff477c *//* ---------- Signature crosshairs ---------- */
.recap-tour-container .rt-bt .rt-xhair {
  --ext: 24px;
  --line: rgba(43, 45, 49, 0.5);
  position: relative;
  isolation: isolate;
}
.recap-tour-container .rt-bt .rt-xhair::before,
.recap-tour-container .rt-bt .rt-xhair::after {
  content: '';
  position: absolute;
  z-index: -1;
  pointer-events: none;
  background-repeat: no-repeat;
  --dash-h: repeating-linear-gradient(to right, transparent 0 4px, var(--line) 4px 8px);
  --dash-v: repeating-linear-gradient(to bottom, transparent 0 4px, var(--line) 4px 8px);
}
.recap-tour-container .rt-bt .rt-xhair::before {
  top: -1px; bottom: -1px;
  left: calc(var(--ext) * -1); right: calc(var(--ext) * -1);
  background-image: var(--dash-h), var(--dash-h), var(--dash-h), var(--dash-h);
  background-size: var(--ext) 1px;
  background-position: top left, top right, bottom left, bottom right;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--ext), #000 calc(100% - var(--ext)), transparent 100%);
          mask-image: linear-gradient(to right, transparent 0, #000 var(--ext), #000 calc(100% - var(--ext)), transparent 100%);
}
.recap-tour-container .rt-bt .rt-xhair::after {
  left: -1px; right: -1px;
  top: calc(var(--ext) * -1); bottom: calc(var(--ext) * -1);
  background-image: var(--dash-v), var(--dash-v), var(--dash-v), var(--dash-v);
  background-size: 1px var(--ext);
  background-position: top left, top right, bottom left, bottom right;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 var(--ext), #000 calc(100% - var(--ext)), transparent 100%);
          mask-image: linear-gradient(to bottom, transparent 0, #000 var(--ext), #000 calc(100% - var(--ext)), transparent 100%);
}
 
/* ---------- Section ---------- */
.recap-tour-container .rt-bt {
  --rt-carbon: var(--carbon-gray, #2B2D31);
  --rt-carbon-2: var(--carbon-light, #5A5D64);
  --rt-yellow: var(--recap-yellow, #FEE018);
  --rt-red: #E5383B;
  --rt-bg: var(--bg-main, #F4F5F7);
  --rt-spine: 96px;                               /* the column the traverse runs through */
  --rt-gap: clamp(96px, 10vw, 144px);             /* ✏️ space between the rows */
  position: relative;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
  color: var(--rt-carbon);
}
 
/* ---------- Header (Z starts top-left → top-right) ---------- */
.recap-tour-container .rt-bt__head {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: 28px 72px;
  align-items: end;
  margin-bottom: clamp(72px, 8vw, 112px);
}
.recap-tour-container .rt-bt__eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
  font-size: 0.72em;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rt-carbon-2);
}
.recap-tour-container .rt-bt__eyebrow::before {
  content: '';
  flex: 0 0 28px;
  border-top: 1px dashed currentColor;
}
.recap-tour-container .rt-bt__h2 {
  margin: 0;
  color: var(--rt-carbon);
}
.recap-tour-container .rt-bt__lead {
  margin: 0 0 22px;
  line-height: 1.7;
  color: var(--rt-carbon-2);
}
.recap-tour-container .rt-bt__index {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.recap-tour-container .rt-bt__index a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  font-size: 0.68em;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--rt-carbon);
  background: var(--glass-bg, rgba(244, 245, 247, 0.75));
  border: 1px solid rgba(43, 45, 49, 0.14);
  transition: background-color 0.25s ease, border-color 0.25s ease;
}
.recap-tour-container .rt-bt__index a span {
  color: var(--rt-carbon-2);
  font-variant-numeric: tabular-nums;
}
.recap-tour-container .rt-bt__index a:hover {
  background: #FFFFFF;
  border-color: var(--rt-carbon);
}
.recap-tour-container .rt-bt__index a:focus-visible {
  outline: 2px solid var(--rt-carbon);
  outline-offset: 2px;
}
 
/* ---------- Route: rows + deliverables, with the traverse behind ---------- */
.recap-tour-container .rt-bt__route {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--rt-gap);
}
.recap-tour-container .rt-bt__trav {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.recap-tour-container .rt-bt__trav-base {
  fill: none;
  stroke: rgba(43, 45, 49, 0.18);
  stroke-width: 1;
  stroke-dasharray: 4 6;
}
.recap-tour-container .rt-bt__trav-live {
  fill: none;
  stroke: var(--rt-carbon);
  stroke-width: 1.5;
  stroke-dasharray: 4 6;
}
.recap-tour-container .rt-bt__trav-start { fill: var(--rt-carbon); }
.recap-tour-container .rt-bt__trav-tip {
  fill: var(--rt-carbon);
  opacity: 0;
  transition: opacity 0.2s ease;
}
.recap-tour-container .rt-bt__trav-tip.is-on { opacity: 1; }
 
/* ---------- A row: view | spine | copy  (flip: copy | spine | view) ---------- */
.recap-tour-container .rt-bt__row {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 7fr) var(--rt-spine) minmax(0, 5fr);
  grid-template-areas: "view node copy";
  align-items: center;
  scroll-margin-top: 110px;
}
.recap-tour-container .rt-bt__row--flip {
  grid-template-columns: minmax(0, 5fr) var(--rt-spine) minmax(0, 7fr);
  grid-template-areas: "copy node view";
}
.recap-tour-container .rt-bt__view { grid-area: view; }
.recap-tour-container .rt-bt__node { grid-area: node; }
.recap-tour-container .rt-bt__copy { grid-area: copy; min-width: 0; }
 
/* station on the traverse */
.recap-tour-container .rt-bt__node {
  position: relative;
  z-index: 2;
  justify-self: center;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  font-size: 0.7em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  font-variant-numeric: tabular-nums;
  color: var(--rt-carbon-2);
  background: var(--rt-bg);
  border: 1px solid rgba(43, 45, 49, 0.22);
  transition: color 0.35s ease, background-color 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}
.recap-tour-container .rt-bt__node::before,
.recap-tour-container .rt-bt__node::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 16px;
  border-top: 1px dashed rgba(43, 45, 49, 0.35);
}
.recap-tour-container .rt-bt__node::before { right: 100%; }
.recap-tour-container .rt-bt__node::after { left: 100%; }
.recap-tour-container .rt-bt__node.is-reached {
  color: var(--rt-yellow);
  background: var(--rt-carbon);
  border-color: var(--rt-carbon);
  box-shadow: 0 0 0 5px rgba(43, 45, 49, 0.07);
}
 
/* ---------- The visual ---------- */
.recap-tour-container .rt-bt__view {
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 8px;
  background: var(--glass-bg, rgba(244, 245, 247, 0.75));
  -webkit-backdrop-filter: blur(var(--glass-blur, 16px));
  backdrop-filter: blur(var(--glass-blur, 16px));
  border: 1px solid var(--glass-border, rgba(43, 45, 49, 0.12));
  box-shadow: var(--glass-shadow, 0 20px 40px rgba(43, 45, 49, 0.04), inset 1px 1px 0 rgba(255, 255, 255, 0.8));
}
.recap-tour-container .rt-bt__screen {
  position: relative;
  aspect-ratio: 16 / 11;
  overflow: hidden;
  background-color: #FFFFFF;
  background-image:
    linear-gradient(to right, rgba(43, 45, 49, 0.035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(43, 45, 49, 0.035) 1px, transparent 1px);
  background-size: 28px 28px;
  border: 1px solid rgba(43, 45, 49, 0.1);
}
.recap-tour-container .rt-bt__view--dark .rt-bt__screen {
  background-color: #2B2D31;
  background-image:
    linear-gradient(to right, rgba(244, 245, 247, 0.035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(244, 245, 247, 0.035) 1px, transparent 1px);
  border-color: #2B2D31;
}
.recap-tour-container .rt-bt__canvas,
.recap-tour-container .rt-bt__screen > img,
.recap-tour-container .rt-bt__screen > video {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.recap-tour-container .rt-bt__screen > img,
.recap-tour-container .rt-bt__screen > video { object-fit: cover; }
 
/* HUD */
.recap-tour-container .rt-bt__hud {
  position: absolute;
  left: 12px;
  right: 12px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  pointer-events: none;
}
.recap-tour-container .rt-bt__hud--top { top: 12px; }
.recap-tour-container .rt-bt__hud--bottom {
  bottom: 12px;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.recap-tour-container .rt-bt__chip,
.recap-tour-container .rt-bt__step {
  display: inline-block;
  padding: 4px 8px;
  font-size: 0.62em;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--rt-carbon);
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(43, 45, 49, 0.12);
}
.recap-tour-container .rt-bt__chip--val {
  text-transform: none;
  letter-spacing: 0.04em;
}
.recap-tour-container .rt-bt__chip--code {
  color: #F4F5F7;
  background: var(--rt-carbon);
  border-color: var(--rt-carbon);
}
.recap-tour-container .rt-bt__chip--pro {
  color: var(--rt-yellow);
  background: var(--rt-carbon);
  border-color: var(--rt-carbon);
}
.recap-tour-container .rt-bt__step {
  color: var(--rt-carbon-2);
  transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}
.recap-tour-container .rt-bt__step.is-on {
  color: var(--rt-yellow);
  background: var(--rt-carbon);
  border-color: var(--rt-carbon);
}
.recap-tour-container .rt-bt__view--dark .rt-bt__chip--code {
  color: var(--rt-carbon);
  background: #F4F5F7;
  border-color: #F4F5F7;
}
 
/* X-Ray toggle (the only clickable part of a HUD) */
.recap-tour-container .rt-bt__toggle {
  display: inline-flex;
  pointer-events: auto;
  background: rgba(43, 45, 49, 0.85);
  border: 1px solid rgba(244, 245, 247, 0.22);
}
.recap-tour-container .rt-bt__tbtn {
  display: inline-block;
  width: auto;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 5px 9px;
  font: inherit;
  font-size: 0.62em;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  color: rgba(244, 245, 247, 0.72);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  transition: color 0.25s ease, background-color 0.25s ease;
}
.recap-tour-container .rt-bt__tbtn:hover { color: #F4F5F7; background: transparent; }
.recap-tour-container .rt-bt__tbtn[aria-pressed="true"] {
  color: var(--rt-carbon);
  background: var(--rt-yellow);
}
.recap-tour-container .rt-bt__tbtn:focus-visible {
  outline: 2px solid var(--rt-yellow);
  outline-offset: 2px;
}
 
/* ---------- The copy ---------- */
.recap-tour-container .rt-bt__kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  font-size: 0.7em;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rt-carbon-2);
}
.recap-tour-container .rt-bt__title {
  margin: 0 0 26px;
  color: var(--rt-carbon);
}
.recap-tour-container .rt-bt__pro {
  display: inline-block;
  margin-left: 6px;
  padding: 5px 8px;
  font-size: 0.42em;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  vertical-align: middle;
  white-space: nowrap;
  color: var(--rt-yellow);
  background: var(--rt-carbon);
}
.recap-tour-container .rt-bt__dl { margin: 0; }
.recap-tour-container .rt-bt__dl dt {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 8px;
  font-size: 0.68em;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rt-carbon);
}
.recap-tour-container .rt-bt__dl dt::after {
  content: '';
  flex: 1 1 auto;
  border-top: 1px dashed rgba(43, 45, 49, 0.2);
}
.recap-tour-container .rt-bt__dl dd {
  margin: 0 0 22px;
  line-height: 1.7;
  color: var(--rt-carbon-2);
}
.recap-tour-container .rt-bt__dl dd + dd { margin-top: -10px; }
.recap-tour-container .rt-bt__dl dd:last-child { margin-bottom: 0; }
.recap-tour-container .rt-bt__val {
  font-weight: 600;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  color: var(--rt-carbon);
}
 
/* ---------- Deliverables: where the traverse closes ---------- */
.recap-tour-container .rt-bt__deliver {
  --line: rgba(43, 45, 49, 0.5);
  position: relative;
  z-index: 1;
  padding: clamp(32px, 4vw, 52px);
  color: #F4F5F7;
  background: var(--rt-carbon);
  border: 1px solid var(--rt-carbon);
  box-shadow: 0 28px 56px rgba(43, 45, 49, 0.16);
}
.recap-tour-container .rt-bt__deliver-node {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: var(--rt-carbon-2);
  background: var(--rt-bg);
  border: 1px solid rgba(43, 45, 49, 0.22);
  transform: translate(-50%, -50%);
  transition: color 0.35s ease, background-color 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}
.recap-tour-container .rt-bt__deliver-node svg {
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: square;
}
.recap-tour-container .rt-bt__deliver-node.is-reached {
  color: var(--rt-yellow);
  background: var(--rt-carbon);
  border-color: var(--rt-carbon);
  box-shadow: 0 0 0 4px var(--rt-bg);
}
.recap-tour-container .rt-bt__eyebrow--light { color: rgba(244, 245, 247, 0.6); }
.recap-tour-container .rt-bt__deliver-title {
  margin: 0;
  color: #F4F5F7;
}
.recap-tour-container .rt-bt__dv-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 36px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px dashed rgba(244, 245, 247, 0.18);
}
.recap-tour-container .rt-bt__dv {
  position: relative;
  margin: 0;
  padding: 30px 26px 0 0;
}
.recap-tour-container .rt-bt__dv + .rt-bt__dv {
  padding-left: 26px;
  border-left: 1px dashed rgba(244, 245, 247, 0.14);
}
.recap-tour-container .rt-bt__dv-icon {
  display: block;
  width: 40px;
  height: 40px;
  margin-bottom: 20px;
  color: rgba(244, 245, 247, 0.9);
}
.recap-tour-container .rt-bt__dv-icon svg {
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linejoin: round;
}
.recap-tour-container .rt-bt__dv-icon .rt-bt__ic-acc { stroke: var(--rt-yellow); }
.recap-tour-container .rt-bt__dv-icon .rt-bt__ic-dash { stroke-dasharray: 3 2.5; }
.recap-tour-container .rt-bt__dv-format {
  display: inline-block;
  margin-bottom: 14px;
  padding: 3px 7px;
  font-size: 0.62em;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rt-yellow);
  border: 1px solid rgba(254, 224, 24, 0.45);
}
.recap-tour-container .rt-bt__dv-title {
  margin: 0 0 10px;
  color: #F4F5F7;
}
.recap-tour-container .rt-bt__dv-title span {
  display: block;
  margin-top: 4px;
  font-size: 0.72em;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: rgba(244, 245, 247, 0.58);
}
.recap-tour-container .rt-bt__dv-text {
  margin: 0;
  font-size: 0.92em;
  line-height: 1.65;
  color: rgba(244, 245, 247, 0.72);
}
 
/* ---------- Entrance (only once JS is running) ---------- */
.recap-tour-container .rt-bt.is-ready .rt-bt__view,
.recap-tour-container .rt-bt.is-ready .rt-bt__copy,
.recap-tour-container .rt-bt.is-ready .rt-bt__deliver {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.recap-tour-container .rt-bt.is-ready .rt-bt__row.is-in .rt-bt__view,
.recap-tour-container .rt-bt.is-ready .rt-bt__row.is-in .rt-bt__copy,
.recap-tour-container .rt-bt.is-ready .rt-bt__deliver.is-in {
  opacity: 1;
  transform: none;
}
.recap-tour-container .rt-bt.is-ready .rt-bt__row.is-in .rt-bt__copy { transition-delay: 0.12s; }
 
@media (prefers-reduced-motion: reduce) {
  .recap-tour-container .rt-bt.is-ready .rt-bt__view,
  .recap-tour-container .rt-bt.is-ready .rt-bt__copy,
  .recap-tour-container .rt-bt.is-ready .rt-bt__deliver { transform: none; transition: opacity 0.3s ease; }
}
 
/* ---------- Tablet ---------- */
@media (max-width: 1100px) {
  .recap-tour-container .rt-bt { --rt-spine: 72px; }
  .recap-tour-container .rt-bt__head { gap: 24px 48px; }
  .recap-tour-container .rt-bt__dv-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .recap-tour-container .rt-bt__dv:nth-child(3) { padding-left: 0; border-left: 0; }
  .recap-tour-container .rt-bt__dv:nth-child(n + 3) { margin-top: 30px; border-top: 1px dashed rgba(244, 245, 247, 0.14); }
}
 
/* ---------- Stacked: the traverse runs down the left edge ---------- */
@media (max-width: 900px) {
  .recap-tour-container .rt-bt { --rt-gap: 72px; }
  .recap-tour-container .rt-bt__head { grid-template-columns: minmax(0, 1fr); margin-bottom: 64px; }
  .recap-tour-container .rt-bt__row,
  .recap-tour-container .rt-bt__row--flip {
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-areas: "node copy" "node view";
    column-gap: 20px;
    row-gap: 28px;
    align-items: start;
  }
  .recap-tour-container .rt-bt__node { align-self: start; }
  .recap-tour-container .rt-bt__node::before { display: none; }
  .recap-tour-container .rt-bt__deliver-node { left: 22px; }
}
 
/* ---------- Phones ---------- */
@media (max-width: 560px) {
  .recap-tour-container .rt-bt { padding: 0 16px; --rt-gap: 64px; }
  .recap-tour-container .rt-bt .rt-xhair { --ext: 12px; }
  .recap-tour-container .rt-bt__row,
  .recap-tour-container .rt-bt__row--flip {
    grid-template-columns: 36px minmax(0, 1fr);
    column-gap: 14px;
  }
  .recap-tour-container .rt-bt__node { width: 36px; height: 36px; }
  .recap-tour-container .rt-bt__node::after { width: 10px; }
  .recap-tour-container .rt-bt__deliver-node { left: 18px; width: 36px; height: 36px; }
  .recap-tour-container .rt-bt__view { padding: 6px; }
  .recap-tour-container .rt-bt__screen { aspect-ratio: 4 / 3; }
  .recap-tour-container .rt-bt__hud { left: 8px; right: 8px; }
  .recap-tour-container .rt-bt__hud--top { top: 8px; }
  .recap-tour-container .rt-bt__hud--bottom { bottom: 8px; }
  .recap-tour-container .rt-bt__chip--opt,
  .recap-tour-container .rt-bt__long { display: none; }
  .recap-tour-container .rt-bt__step:not(.is-on) { display: none; }
  .recap-tour-container .rt-bt__dv-list { grid-template-columns: minmax(0, 1fr); }
  .recap-tour-container .rt-bt__dv,
  .recap-tour-container .rt-bt__dv + .rt-bt__dv { padding: 26px 0 0; border-left: 0; }
  .recap-tour-container .rt-bt__dv + .rt-bt__dv { margin-top: 26px; border-top: 1px dashed rgba(244, 245, 247, 0.14); }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-794ad89 */.recap-promise {
    --rp-bg: #2B2D31;
    --rp-view: #1F2124;
    --rp-ink: #F4F5F7;
    --rp-yellow: var(--recap-yellow, #FEE018);
    
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin: 0;
}
@media (max-width: 1024px) { .recap-promise { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px)  { .recap-promise { grid-template-columns: minmax(0, 1fr); gap: 16px; } }
 
.recap-promise .rp-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--rp-bg);
    border: 1px solid rgba(244, 245, 247, 0.08);
    box-shadow: 0 20px 40px rgba(43, 45, 49, 0.10);
    overflow: hidden;
    transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}
/* κίτρινη γραμμή που «γεμίζει» στο πάνω μέρος στο hover */
.recap-promise .rp-card::before {
    content: "";
    position: absolute;
    z-index: 3;
    left: 0; top: 0;
    width: 100%; height: 2px;
    background: var(--rp-yellow);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.recap-promise .rp-card:hover {
    transform: translateY(-3px);
    border-color: rgba(254, 224, 24, 0.35);
    box-shadow: 0 26px 50px rgba(43, 45, 49, 0.22);
}
.recap-promise .rp-card:hover::before { transform: scaleX(1); }
 
/* Viewport: σκούρο πλέγμα CAD, όπως το παράθυρο 3D του λογισμικού */
.recap-promise .rp-view {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background-color: var(--rp-view);
    background-image:
        radial-gradient(ellipse at 50% 42%, rgba(255, 255, 255, 0.03) 0%, transparent 55%, rgba(0, 0, 0, 0.32) 100%),
        linear-gradient(rgba(244, 245, 247, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(244, 245, 247, 0.04) 1px, transparent 1px);
    background-size: 100% 100%, 20px 20px, 20px 20px;
    background-position: center, -1px -1px, -1px -1px;
    border-bottom: 1px solid rgba(244, 245, 247, 0.07);
}
.recap-promise .rp-canvas {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}
/* γωνίες «εστίασης» που κλειδώνουν όταν ολοκληρωθεί το σχέδιο */
.recap-promise .rp-view::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 10px;
    pointer-events: none;
    --c: var(--rp-yellow);
    background:
        linear-gradient(var(--c), var(--c)) top left / 12px 1.5px no-repeat,
        linear-gradient(var(--c), var(--c)) top left / 1.5px 12px no-repeat,
        linear-gradient(var(--c), var(--c)) top right / 12px 1.5px no-repeat,
        linear-gradient(var(--c), var(--c)) top right / 1.5px 12px no-repeat,
        linear-gradient(var(--c), var(--c)) bottom left / 12px 1.5px no-repeat,
        linear-gradient(var(--c), var(--c)) bottom left / 1.5px 12px no-repeat,
        linear-gradient(var(--c), var(--c)) bottom right / 12px 1.5px no-repeat,
        linear-gradient(var(--c), var(--c)) bottom right / 1.5px 12px no-repeat;
    opacity: 0.9;
    transition: inset 0.6s cubic-bezier(0.2, 0.7, 0.2, 1), opacity 0.6s ease;
}
.recap-promise.is-3d .rp-card:not(.is-drawn) .rp-view::after,
.recap-promise.is-3d .rp-card.is-rescan .rp-view::after {
    inset: 22px;
    opacity: 0;
}
 
/* Απλό σχέδιο: εμφανίζεται μόνο αν δεν τρέξει το script */
.recap-promise .rp-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
}
.recap-promise.is-3d .rp-svg { display: none; }
.recap-promise .rp-line {
    fill: none;
    stroke: rgba(244, 245, 247, 0.92);
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.recap-promise .rp-accent {
    stroke: var(--rp-yellow);
    stroke-width: 1.8;
}
.recap-promise .rp-label {
    font-size: 10px;
    letter-spacing: 0.08em;
    fill: rgba(244, 245, 247, 0.75);
}
 
/* HUD του viewport */
.recap-promise .rp-hud {
    position: absolute;
    z-index: 2;
    top: 16px;
    font-size: 10.5px;
    line-height: 1;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(244, 245, 247, 0.55);
    /* «φωτοστέφανο» στο χρώμα του φόντου ώστε να διαβάζεται πάνω από τα σημεία */
    text-shadow: 0 0 2px var(--rp-view, #1F2124), 0 0 5px var(--rp-view, #1F2124), 0 0 9px var(--rp-view, #1F2124);
    pointer-events: none;
}
.recap-promise .rp-hud--l { left: 28px; }
.recap-promise .rp-hud--r { right: 28px; color: var(--rp-yellow); }
.recap-promise .rp-hud--b {
    top: auto;
    bottom: 15px;
    left: 28px;
    font-size: 9.5px;
    letter-spacing: 0.1em;
    color: rgba(244, 245, 247, 0.6);
    text-transform: none;
    font-variant-numeric: tabular-nums;
}
 
/* Κείμενα */
.recap-promise .rp-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px 22px 22px;
    flex: 1;
}
.recap-promise .rp-title {
    margin: 0;
    font-size: clamp(1.0625rem, 1rem + 0.2778vw, 1.25rem);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.01em;
    color: var(--rp-ink);
    text-wrap: balance;
}
.recap-promise .rp-text {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: rgba(244, 245, 247, 0.68);
}
.recap-promise .rp-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: auto 0 0;
    padding: 6px 0 0;
    list-style: none;
}
.recap-promise .rp-tags li {
    margin: 0;
    padding: 5px 7px;
    font-family: var(--rp-mono);
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.08em;
    color: rgba(244, 245, 247, 0.7);
    border: 1px solid rgba(244, 245, 247, 0.14);
    transition: color 0.3s ease, border-color 0.3s ease;
}
.recap-promise .rp-tags li::before { content: none; }
.recap-promise .rp-card:hover .rp-tags li { color: var(--rp-ink); border-color: rgba(254, 224, 24, 0.45); }
 
/* Σήμα PRO: εργαλεία που υπάρχουν μόνο στην έκδοση PRO */
.recap-promise .rp-pro {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 4px 1px;
    font-family: var(--rp-mono);
    font-size: 8.5px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.1em;
    vertical-align: 0.05em;
    color: #2B2D31;
    background: var(--rp-yellow);
}
.recap-promise .rp-title .rp-pro {
    margin-left: 10px;
    padding: 3px 6px 2px;
    font-size: 10px;
    vertical-align: 0.2em;
}
.recap-promise .rp-tags li.is-pro { border-color: rgba(254, 224, 24, 0.3); }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6e9ce75 *//* ---------- Signature crosshairs (reusable) ---------- */
.recap-tour-container .rt-xhair {
  --ext: 24px;
  --line: rgba(43, 45, 49, 0.5);
  position: relative;
  isolation: isolate;
}
.recap-tour-container .rt-xhair::before,
.recap-tour-container .rt-xhair::after {
  content: '';
  position: absolute;
  z-index: -1;
  pointer-events: none;
  background-repeat: no-repeat;
  --dash-h: repeating-linear-gradient(to right, transparent 0 4px, var(--line) 4px 8px);
  --dash-v: repeating-linear-gradient(to bottom, transparent 0 4px, var(--line) 4px 8px);
}
.recap-tour-container .rt-xhair::before {
  top: -1px; bottom: -1px;
  left: calc(var(--ext) * -1); right: calc(var(--ext) * -1);
  background-image: var(--dash-h), var(--dash-h), var(--dash-h), var(--dash-h);
  background-size: var(--ext) 1px;
  background-position: top left, top right, bottom left, bottom right;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--ext), #000 calc(100% - var(--ext)), transparent 100%);
          mask-image: linear-gradient(to right, transparent 0, #000 var(--ext), #000 calc(100% - var(--ext)), transparent 100%);
}
.recap-tour-container .rt-xhair::after {
  left: -1px; right: -1px;
  top: calc(var(--ext) * -1); bottom: calc(var(--ext) * -1);
  background-image: var(--dash-v), var(--dash-v), var(--dash-v), var(--dash-v);
  background-size: 1px var(--ext);
  background-position: top left, top right, bottom left, bottom right;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 var(--ext), #000 calc(100% - var(--ext)), transparent 100%);
          mask-image: linear-gradient(to bottom, transparent 0, #000 var(--ext), #000 calc(100% - var(--ext)), transparent 100%);
}
 
/* ---------- Button reset (low specificity: component classes win) ---------- */
.recap-tour-container :where(.rt-lic) button {
  margin: 0;
  padding: 0;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  text-transform: none;
  line-height: inherit;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  min-height: 0;
  cursor: pointer;
}
 
/* ---------- Layout ---------- */
.recap-tour-container .rt-lic {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
  gap: 64px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px;
  color: var(--carbon-gray, #2B2D31);
}
 
/* ================= LEFT: CONFIGURATOR ================= */
.recap-tour-container .rt-lic__config {
  display: flex;
  flex-direction: column;
  gap: 36px;
  padding: 32px;
  background: var(--glass-bg, rgba(244, 245, 247, 0.75));
  -webkit-backdrop-filter: blur(var(--glass-blur, 16px));
  backdrop-filter: blur(var(--glass-blur, 16px));
  border: 1px solid var(--glass-border, rgba(43, 45, 49, 0.12));
  box-shadow: var(--glass-shadow, 0 20px 40px rgba(43, 45, 49, 0.04), inset 1px 1px 0 rgba(255, 255, 255, 0.8));
}
 
.recap-tour-container .rt-lic__step-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.recap-tour-container .rt-lic__step-no {
  padding: 2px 6px;
  font-size: 0.75em;
  font-weight: 700;
  letter-spacing: 0.08em;
  font-variant-numeric: tabular-nums;
  color: var(--carbon-light, #5A5D64);
  border: 1px solid rgba(43, 45, 49, 0.2);
}
.recap-tour-container .rt-lic__step-label {
  font-size: 0.85em;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.recap-tour-container .rt-lic__step-tag {
  margin-left: auto;
  padding: 2px 8px;
  font-size: 0.75em;
  font-weight: 600;
  color: #F4F5F7;
  background: var(--carbon-gray, #2B2D31);
}
 
/* 01 — Segmented control */
.recap-tour-container .rt-lic__seg {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  padding: 4px;
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(43, 45, 49, 0.15);
}
.recap-tour-container .rt-lic__seg-btn {
  padding: 12px 16px;
  font-weight: 600;
  color: var(--carbon-light, #5A5D64);
  transition: background-color 0.25s ease, color 0.25s ease;
}
.recap-tour-container .rt-lic__seg-btn:hover {
  color: var(--carbon-gray, #2B2D31);
  background: rgba(43, 45, 49, 0.05);
}
.recap-tour-container .rt-lic__seg-btn[aria-pressed="true"] {
  color: #F4F5F7;
  background: var(--carbon-gray, #2B2D31);
}
 
/* 02 — Measuring scale */
.recap-tour-container .rt-lic__scale { --i: 4; }
.recap-tour-container .rt-lic__scale-track {
  position: relative;
  height: 34px;
  border-bottom: 1px solid rgba(43, 45, 49, 0.35);
  background:
    /* major ticks at the stop centers (10%, 30%, 50%, 70%, 90%) */
    repeating-linear-gradient(to right, transparent 0 calc(10% - 1px), rgba(43, 45, 49, 0.5) calc(10% - 1px) 10%, transparent 10% 20%) left bottom / 100% 16px no-repeat,
    /* minor ticks */
    repeating-linear-gradient(to right, rgba(43, 45, 49, 0.2) 0 1px, transparent 1px 2%) left bottom / 100% 7px no-repeat;
}
/* Filled "measured" band up to the marker */
.recap-tour-container .rt-lic__scale-track::before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  height: 100%;
  width: calc((var(--i) * 2 + 1) * 10%);
  background: linear-gradient(to top, rgba(43, 45, 49, 0.09), transparent);
  transition: width 0.5s cubic-bezier(0.65, 0, 0.35, 1);
}
/* The needle */
.recap-tour-container .rt-lic__scale-marker {
  position: absolute;
  bottom: -1px;
  left: calc((var(--i) * 2 + 1) * 10%);
  width: 2px;
  height: calc(100% + 1px);
  background: var(--carbon-gray, #2B2D31);
  transform: translateX(-50%);
  transition: left 0.5s cubic-bezier(0.65, 0, 0.35, 1);
}
.recap-tour-container .rt-lic__scale-marker::before {
  content: '';
  position: absolute;
  top: -2px;
  left: 50%;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 8px solid var(--carbon-gray, #2B2D31);
  transform: translateX(-50%);
}
.recap-tour-container .rt-lic__scale-stops {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 8px;
}
.recap-tour-container .rt-lic__stop {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 8px 2px;
  color: var(--carbon-light, #5A5D64);
  transition: color 0.25s ease;
}
.recap-tour-container .rt-lic__stop-val {
  font-size: 1.5em;
  font-weight: 700;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
.recap-tour-container .rt-lic__stop-unit { font-size: 0.78em; }
.recap-tour-container .rt-lic__stop:hover,
.recap-tour-container .rt-lic__stop[aria-pressed="true"] {
  color: var(--carbon-gray, #2B2D31);
}
.recap-tour-container .rt-lic__stop[aria-pressed="true"] .rt-lic__stop-unit { font-weight: 600; }
 
/* 03 — Seats */
.recap-tour-container .rt-lic__seats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.recap-tour-container .rt-lic__seat {
  --rt-pc-fill: #FBFBFC;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 16px 8px 12px;
  color: var(--carbon-light, #5A5D64);
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(43, 45, 49, 0.15);
  transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
.recap-tour-container .rt-lic__seat:hover {
  color: var(--carbon-gray, #2B2D31);
  border-color: var(--carbon-gray, #2B2D31);
  transform: translateY(-2px);
}
.recap-tour-container .rt-lic__seat[aria-pressed="true"] {
  --rt-pc-fill: var(--carbon-gray, #2B2D31);
  color: #F4F5F7;
  background: var(--carbon-gray, #2B2D31);
  border-color: var(--carbon-gray, #2B2D31);
}
.recap-tour-container .rt-lic__pcs {
  display: flex;
  align-items: center;
  height: 18px;
}
.recap-tour-container .rt-lic__pcs svg {
  width: 20px;
  height: 18px;
  fill: var(--rt-pc-fill);
  stroke: currentColor;
  stroke-width: 1.3;
  transition: fill 0.25s ease;
}
.recap-tour-container .rt-lic__pcs svg + svg { margin-left: -7px; }
.recap-tour-container .rt-lic__seat-label {
  font-size: 0.9em;
  font-weight: 600;
}
.recap-tour-container .rt-lic__hint {
  margin: 14px 0 0;
  padding-left: 12px;
  font-size: 0.85em;
  color: var(--carbon-light, #5A5D64);
  border-left: 2px solid rgba(43, 45, 49, 0.2);
}
 
/* Keyboard focus */
.recap-tour-container .rt-lic__seg-btn:focus-visible,
.recap-tour-container .rt-lic__stop:focus-visible,
.recap-tour-container .rt-lic__seat:focus-visible {
  outline: 2px solid var(--carbon-gray, #2B2D31);
  outline-offset: 2px;
}
 
/* ================= RIGHT: READOUT ================= */
.recap-tour-container .rt-lic__readout {
  display: flex;
  flex-direction: column;
  padding: 28px;
  color: #F4F5F7;
  background-color: var(--carbon-gray, #2B2D31);
  background-image:
    linear-gradient(to right, rgba(244, 245, 247, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(244, 245, 247, 0.05) 1px, transparent 1px);
  background-size: 28px 28px;
  border: 1px solid var(--carbon-gray, #2B2D31);
  box-shadow: 0 24px 48px rgba(43, 45, 49, 0.18);
}
.recap-tour-container .rt-lic__readout-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 16px;
  font-size: 0.8em;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(244, 245, 247, 0.6);
  background: repeating-linear-gradient(to right, rgba(244, 245, 247, 0.25) 0 4px, transparent 4px 8px) left bottom / 100% 1px no-repeat;
}
.recap-tour-container .rt-lic__led {
  width: 8px;
  height: 8px;
  background: var(--recap-yellow, #FEE018);
  box-shadow: 0 0 10px rgba(254, 224, 24, 0.7);
  animation: rt-lic-pulse 2s ease-in-out infinite;
}
@keyframes rt-lic-pulse {
  50% { opacity: 0.35; box-shadow: 0 0 2px rgba(254, 224, 24, 0.3); }
}
 
.recap-tour-container .rt-lic__summary { margin: 8px 0 0; padding: 0; }
.recap-tour-container .rt-lic__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 0;
  background: repeating-linear-gradient(to right, rgba(244, 245, 247, 0.12) 0 4px, transparent 4px 8px) left bottom / 100% 1px no-repeat;
}
.recap-tour-container .rt-lic__dt {
  margin: 0;
  font-size: 0.9em;
  font-weight: 400;
  color: rgba(244, 245, 247, 0.6);
}
.recap-tour-container .rt-lic__dd {
  margin: 0;
  font-weight: 600;
  text-align: right;
  color: #F4F5F7;
}
 
.recap-tour-container .rt-lic__total {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: auto;
  padding-top: 32px;
}
.recap-tour-container .rt-lic__total-label {
  font-size: 0.8em;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(244, 245, 247, 0.6);
}
.recap-tour-container .rt-lic__price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  color: var(--recap-yellow, #FEE018);
  text-shadow: 0 0 18px rgba(254, 224, 24, 0.25);
}
.recap-tour-container .rt-lic__price-cur { font-size: 1.4em; font-weight: 600; }
.recap-tour-container .rt-lic__price-val {
  font-size: 3.2em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.recap-tour-container .rt-lic__price.is-quote .rt-lic__price-cur { display: none; }
.recap-tour-container .rt-lic__price.is-quote .rt-lic__price-val { font-size: 1.7em; letter-spacing: 0; }
.recap-tour-container .rt-lic__price.is-updated { animation: rt-lic-flash 0.45s ease; }
@keyframes rt-lic-flash {
  from { opacity: 0.2; transform: translateY(4px); }
  to   { opacity: 1;   transform: none; }
}
.recap-tour-container .rt-lic__price-note,
.recap-tour-container .rt-lic__price-monthly {
  font-size: 0.85em;
  color: rgba(244, 245, 247, 0.6);
}
.recap-tour-container .rt-lic__price-monthly[hidden] { display: none; }
 
.recap-tour-container .rt-lic__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 24px;
  padding: 16px 20px;
  font-weight: 700;
  color: var(--carbon-gray, #2B2D31);
  text-decoration: none;
  background: var(--recap-yellow, #FEE018);
  transition: gap 0.25s ease, box-shadow 0.3s ease;
}
.recap-tour-container .rt-lic__cta:hover {
  gap: 14px;
  color: var(--carbon-gray, #2B2D31);
  box-shadow: 0 0 28px rgba(254, 224, 24, 0.45);
}
.recap-tour-container .rt-lic__cta:focus-visible {
  outline: 2px solid #F4F5F7;
  outline-offset: 3px;
}
 
/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .recap-tour-container .rt-lic {
    grid-template-columns: 1fr;
    gap: 48px;
    max-width: 720px;
  }
}
@media (max-width: 767px) {
  .recap-tour-container .rt-lic { padding: 16px; }
  .recap-tour-container .rt-xhair { --ext: 12px; }
  .recap-tour-container .rt-lic__config,
  .recap-tour-container .rt-lic__readout { padding: 22px; }
  .recap-tour-container .rt-lic__stop-val { font-size: 1.2em; }
  .recap-tour-container .rt-lic__stop-unit { font-size: 0.72em; }
}
@media (max-width: 480px) {
  .recap-tour-container .rt-lic__seats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .recap-tour-container .rt-lic *,
  .recap-tour-container .rt-lic *::before { transition: none !important; animation: none !important; }
}/* End custom CSS */
/* Start custom CSS for video-playlist, class: .elementor-element-32daa16 *//* === RECAP Video Playlist — Tech Glass === */

/* Parents must not clip the crosshairs */
.elementor-27380 .elementor-element.elementor-element-32daa16 .elementor-widget-container,
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs {
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
}

/* ---------- Layout: 2 separate containers ---------- */
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-main-area {
  display: flex !important;
  gap: 32px !important;
  background: transparent !important;
  border: 0 !important;
}

/* ================= LEFT: PLAYLIST (glass) ================= */
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-wrapper {
  --ext: 24px;
  --line: rgba(43, 45, 49, 0.5);
  position: relative !important;
  isolation: isolate;
  display: flex !important;
  flex-direction: column;
  overflow: visible !important;
  color: var(--carbon-gray, #2B2D31);
  background: var(--glass-bg, rgba(244, 245, 247, 0.75)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur, 16px));
  backdrop-filter: blur(var(--glass-blur, 16px));
  border: 1px solid var(--glass-border, rgba(43, 45, 49, 0.12)) !important;
  border-radius: 0 !important;
  box-shadow: var(--glass-shadow, 0 20px 40px rgba(43, 45, 49, 0.04), inset 1px 1px 0 rgba(255, 255, 255, 0.8)) !important;
}

/* Signature crosshairs */
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-wrapper::before,
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-wrapper::after {
  content: '' !important;
  position: absolute !important;
  z-index: -1;
  pointer-events: none;
  background-repeat: no-repeat;
  --dash-h: repeating-linear-gradient(to right, transparent 0 4px, var(--line) 4px 8px);
  --dash-v: repeating-linear-gradient(to bottom, transparent 0 4px, var(--line) 4px 8px);
}
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-wrapper::before {
  top: -1px; bottom: -1px;
  left: calc(var(--ext) * -1); right: calc(var(--ext) * -1);
  background-image: var(--dash-h), var(--dash-h), var(--dash-h), var(--dash-h);
  background-size: var(--ext) 1px;
  background-position: top left, top right, bottom left, bottom right;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--ext), #000 calc(100% - var(--ext)), transparent 100%);
          mask-image: linear-gradient(to right, transparent 0, #000 var(--ext), #000 calc(100% - var(--ext)), transparent 100%);
}
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-wrapper::after {
  left: -1px; right: -1px;
  top: calc(var(--ext) * -1); bottom: calc(var(--ext) * -1);
  background-image: var(--dash-v), var(--dash-v), var(--dash-v), var(--dash-v);
  background-size: 1px var(--ext);
  background-position: top left, top right, bottom left, bottom right;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 var(--ext), #000 calc(100% - var(--ext)), transparent 100%);
          mask-image: linear-gradient(to bottom, transparent 0, #000 var(--ext), #000 calc(100% - var(--ext)), transparent 100%);
}

/* Header */
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-header {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 20px !important;
  background: repeating-linear-gradient(to right, rgba(43, 45, 49, 0.25) 0 4px, transparent 4px 8px) bottom left / 100% 1px no-repeat !important;
  border: 0 !important;
}
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-title {
  margin: 0 !important;
  color: var(--carbon-gray, #2B2D31) !important;
  font-size: 0.85em !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-videos-count {
  padding: 3px 8px;
  font-size: 0.8em;
  font-variant-numeric: tabular-nums;
  color: var(--carbon-light, #5A5D64) !important;
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(43, 45, 49, 0.15);
}

/* List + thin scrollbar */
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-items-wrapper {
  flex: 1;
  overflow-y: auto;
  background: transparent !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(43, 45, 49, 0.3) transparent;
}
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-items-wrapper::-webkit-scrollbar { width: 6px; }
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-items-wrapper::-webkit-scrollbar-thumb { background: rgba(43, 45, 49, 0.25); }

/* Item */
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title {
  position: relative !important;
  display: flex !important;
  align-items: center;
  gap: 14px;
  margin: 0 !important;
  padding: 12px 20px !important;
  cursor: pointer;
  border: 0 !important;
  background-color: transparent !important;
  /* dashed separator between items */
  background-image: repeating-linear-gradient(to right, rgba(43, 45, 49, 0.14) 0 4px, transparent 4px 8px) !important;
  background-size: calc(100% - 40px) 1px !important;
  background-position: 20px 100% !important;
  background-repeat: no-repeat !important;
  transition: background-color 0.3s ease, padding-left 0.3s ease !important;
}
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title:last-child { background-image: none !important; }

/* Left indicator bar */
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--carbon-gray, #2B2D31);
  transform: scaleY(0);
  transform-origin: center;
  transition: transform 0.3s ease, background-color 0.3s ease;
}

/* Hover */
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title:hover {
  background-color: rgba(43, 45, 49, 0.05) !important;
  padding-left: 24px !important;
}
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title:hover::before { transform: scaleY(0.5); }

/* Active — carbon row, yellow ONLY on carbon */
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title.e-active,
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title[aria-selected="true"] {
  background-color: var(--carbon-gray, #2B2D31) !important;
  background-image: none !important;
  padding-left: 24px !important;
}
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title.e-active::before,
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title[aria-selected="true"]::before {
  background: var(--recap-yellow, #FEE018);
  transform: scaleY(1);
}

/* Thumbnail */
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-thumbnail {
  flex: 0 0 auto;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(43, 45, 49, 0.12);
  border-radius: 0 !important;
  transition: border-color 0.3s ease;
}
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-thumbnail img {
  display: block;
  border-radius: 0 !important;
  filter: grayscale(0.6) contrast(0.95);
  transition: filter 0.35s ease, transform 0.5s ease;
}
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title:hover .e-tab-thumbnail img,
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title.e-active .e-tab-thumbnail img,
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title[aria-selected="true"] .e-tab-thumbnail img {
  filter: none;
  transform: scale(1.06);
}
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title.e-active .e-tab-thumbnail,
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title[aria-selected="true"] .e-tab-thumbnail {
  border-color: rgba(254, 224, 24, 0.55);
}

/* Title */
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title-text {
  flex: 1;
  min-width: 0;
  margin: 0 !important;
  color: var(--carbon-gray, #2B2D31) !important;
  font-weight: 600;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  transition: color 0.3s ease;
}
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title-text a,
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title-text button {
  padding: 0 !important;
  color: inherit !important;
  text-align: left;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title.e-active .e-tab-title-text,
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title[aria-selected="true"] .e-tab-title-text {
  color: #F4F5F7 !important;
}

/* Duration */
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-duration {
  flex: 0 0 auto;
  padding: 2px 6px;
  font-size: 0.85em;
  font-variant-numeric: tabular-nums;
  color: var(--carbon-light, #5A5D64) !important;
  border: 1px solid rgba(43, 45, 49, 0.14);
  transition: color 0.3s ease, border-color 0.3s ease;
}
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title.e-active .e-tab-duration,
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title[aria-selected="true"] .e-tab-duration {
  color: var(--recap-yellow, #FEE018) !important;
  border-color: rgba(254, 224, 24, 0.4);
}

/* Keyboard focus */
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title:focus-visible {
  outline: 2px solid var(--carbon-gray, #2B2D31);
  outline-offset: -2px;
}


}

/* Smooth entrance when the video changes */
.elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-content.e-active {
  animation: rt-vp-in 0.45s ease both;
}
@keyframes rt-vp-in {
  from { opacity: 0; transform: scale(0.985); }
  to   { opacity: 1; transform: scale(1); }
}

/* ---------- Responsive ---------- */
@media (max-width: 767px) {
  .elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-main-area { gap: 24px !important; }
  .elementor-27380 .elementor-element.elementor-element-32daa16 .e-tabs-wrapper { --ext: 12px; }
  .elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title { padding: 10px 14px !important; }
  .elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title:hover,
  .elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title.e-active,
  .elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title[aria-selected="true"] { padding-left: 18px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title,
  .elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title::before,
  .elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-thumbnail img,
  .elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-title-text,
  .elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-duration { transition: none !important; }
  .elementor-27380 .elementor-element.elementor-element-32daa16 .e-tab-content.e-active { animation: none; }
}/* End custom CSS */
/* Start custom CSS for loop-carousel, class: .elementor-element-715ed19 */.elementor-27380 .elementor-element.elementor-element-715ed19 .swiper {
overflow: visible }/* End custom CSS */
/* Start custom CSS *//* === RECAP Tour — CAD grid + fade (this post only, scrolls with content) ===
   In Page Settings, "body.elementor-page-27380" = body.elementor-page-{ID} */
body.elementor-page-27380 {
  --bg-main: #F4F5F7;
  --carbon-gray: #2B2D31;
  --carbon-light: #5A5D64;
  --recap-yellow: #FEE018;
  --grid-size: 112px;
  --grid-line: rgba(43, 45, 49, 0.055);
  --grid-fade-x: 18%;     /* side fade width */
  --grid-fade-y: 240px;   /* top & bottom fade height */
  --glass-bg: rgba(244, 245, 247, 0.75);
  --glass-blur: 16px;
  --glass-border: rgba(43, 45, 49, 0.12);
  --glass-shadow: 0 20px 40px rgba(43, 45, 49, 0.04), inset 1px 1px 0px rgba(255, 255, 255, 0.8);

  background-color: var(--bg-main, #F4F5F7) !important;
  background-image:
    /* 1. side fade */
    linear-gradient(to right,
      var(--bg-main, #F4F5F7) 0%,
      transparent var(--grid-fade-x, 18%),
      transparent calc(100% - var(--grid-fade-x, 18%)),
      var(--bg-main, #F4F5F7) 100%),
    /* 2. top fade */
    linear-gradient(to bottom, var(--bg-main, #F4F5F7) 0, transparent var(--grid-fade-y, 240px)),
    /* 3. bottom fade */
    linear-gradient(to top, var(--bg-main, #F4F5F7) 0, transparent var(--grid-fade-y, 240px)),
    /* 4–5. CAD grid */
    linear-gradient(to right, var(--grid-line, rgba(43, 45, 49, 0.055)) 1px, transparent 1px),
    linear-gradient(to bottom, var(--grid-line, rgba(43, 45, 49, 0.055)) 1px, transparent 1px) !important;
  background-size:
    100% 100%,
    100% var(--grid-fade-y, 240px),
    100% var(--grid-fade-y, 240px),
    var(--grid-size, 112px) var(--grid-size, 112px),
    var(--grid-size, 112px) var(--grid-size, 112px) !important;
  background-position:
    center top,
    center top,
    center bottom,
    center top,
    center top !important;
  background-repeat: no-repeat, no-repeat, no-repeat, repeat, repeat !important;
  background-attachment: scroll, scroll, scroll, scroll, scroll !important;
}

/* Theme wrappers must be transparent so the grid shows through
   (header & footer templates excluded) */
body.elementor-page-27380 .website-wrapper,
body.elementor-page-27380 .main-page-wrapper,
body.elementor-page-27380 #page,
body.elementor-page-27380 .site,
body.elementor-page-27380 .site-content,
body.elementor-page-27380 .elementor:not(.elementor-location-footer):not(.elementor-location-header) {
  background-color: transparent !important;
}

/* Mobile: narrower side fade so the grid stays visible on small screens */
@media (max-width: 767px) {
  body.elementor-page-27380 {
    --grid-fade-x: 8%;
    --grid-fade-y: 140px;
  }
}/* End custom CSS */