.elementor-39 .elementor-element.elementor-element-5221a5a{--display:flex;--padding-top:1rem;--padding-bottom:0rem;--padding-left:1rem;--padding-right:1rem;}.elementor-39 .elementor-element.elementor-element-adf2a08{--display:flex;--min-height:47vh;--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;--justify-content:center;--overlay-opacity:0.03;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );--border-radius:34px 34px 34px 34px;--padding-top:150px;--padding-bottom:60px;--padding-left:80px;--padding-right:80px;}.elementor-39 .elementor-element.elementor-element-adf2a08:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-adf2a08 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-adf2a08::before, .elementor-39 .elementor-element.elementor-element-adf2a08 > .elementor-background-video-container::before, .elementor-39 .elementor-element.elementor-element-adf2a08 > .e-con-inner > .elementor-background-video-container::before, .elementor-39 .elementor-element.elementor-element-adf2a08 > .elementor-background-slideshow::before, .elementor-39 .elementor-element.elementor-element-adf2a08 > .e-con-inner > .elementor-background-slideshow::before, .elementor-39 .elementor-element.elementor-element-adf2a08 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://back2rank.com/wp-content/uploads/2026/07/Artboard-1-1-2-1.svg");--background-overlay:'';background-position:top center;background-repeat:no-repeat;background-size:100% auto;}.elementor-39 .elementor-element.elementor-element-4657cb6{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:80px;--padding-right:80px;--z-index:100;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-d92526e.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-d92526e{font-family:"Playfair Display", Sans-serif;font-weight:500;font-style:italic;color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-d92526e p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-d92526e a{color:var( --e-global-color-primary );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-40df834{width:var( --container-widget-width, 935px );max-width:935px;--container-widget-width:935px;--container-widget-flex-grow:0;text-align:center;}.elementor-39 .elementor-element.elementor-element-40df834.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-40df834 .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:44px;font-weight:600;color:var( --e-global-color-14ec9f2 );}.elementor-39 .elementor-element.elementor-element-762f5e4{width:var( --container-widget-width, 569px );max-width:569px;--container-widget-width:569px;--container-widget-flex-grow:0;text-align:center;color:var( --e-global-color-accent );}.elementor-39 .elementor-element.elementor-element-762f5e4 p{margin-block-end:20px;}.elementor-39 .elementor-element.elementor-element-318bccf{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--overlay-opacity:0.88;border-style:none;--border-style:none;--padding-top:3rem;--padding-bottom:0rem;--padding-left:1rem;--padding-right:1rem;}.elementor-39 .elementor-element.elementor-element-318bccf::before, .elementor-39 .elementor-element.elementor-element-318bccf > .elementor-background-video-container::before, .elementor-39 .elementor-element.elementor-element-318bccf > .e-con-inner > .elementor-background-video-container::before, .elementor-39 .elementor-element.elementor-element-318bccf > .elementor-background-slideshow::before, .elementor-39 .elementor-element.elementor-element-318bccf > .e-con-inner > .elementor-background-slideshow::before, .elementor-39 .elementor-element.elementor-element-318bccf > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-39 .elementor-element.elementor-element-bcd6fb1{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-39 .elementor-element.elementor-element-6f55cf8{--display:flex;--justify-content:center;--background-transition:0.3s;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );--border-radius:34px 34px 34px 34px;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-39 .elementor-element.elementor-element-6f55cf8:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-6f55cf8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-14ec9f2 );background-image:url("https://back2rank.com/wp-content/uploads/2026/07/24711017_220314_point_grid_01_v_f-2-3-scaled.png");background-position:center center;background-size:54% auto;}.elementor-39 .elementor-element.elementor-element-6f55cf8:hover{background-color:#F6F7F7;}.elementor-39 .elementor-element.elementor-element-8f73fe1{--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;--justify-content:flex-start;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-8f73fe1.e-con{--align-self:center;}.elementor-39 .elementor-element.elementor-element-631b085{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-39 .elementor-element.elementor-element-cd7e19a.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-cd7e19a{font-family:"Playfair Display", Sans-serif;font-size:16px;font-weight:500;font-style:italic;text-transform:uppercase;color:#1E1E1E;}.elementor-39 .elementor-element.elementor-element-cd7e19a p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-cd7e19a a{color:#1E1E1E;}.elementor-39 .elementor-element.elementor-element-870d35c{--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;--justify-content:center;--align-items:center;--gap:12px 12px;--row-gap:12px;--column-gap:12px;--padding-top:0px;--padding-bottom:0px;--padding-left:80px;--padding-right:80px;--z-index:0;}.elementor-39 .elementor-element.elementor-element-13e1ecb{text-align:center;}.elementor-39 .elementor-element.elementor-element-13e1ecb .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:40px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-e6849f4{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;text-align:center;font-family:"Blumir", Sans-serif;font-weight:300;color:#1E1E1EB0;}.elementor-39 .elementor-element.elementor-element-e6849f4 p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-feb3851{--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;}.elementor-39 .elementor-element.elementor-element-7897621{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-39 .elementor-element.elementor-element-eed2ff4{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--border-radius:50px 50px 50px 50px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-39 .elementor-element.elementor-element-eed2ff4:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-eed2ff4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-8614c35{--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-39 .elementor-element.elementor-element-f3af88b{--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;}.elementor-39 .elementor-element.elementor-element-d9d6a38 .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-43db2ec.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-43db2ec .elementor-icon-wrapper{text-align:center;}.elementor-39 .elementor-element.elementor-element-43db2ec.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-43db2ec.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-43db2ec.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-43db2ec.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-43db2ec.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-43db2ec.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-43db2ec.elementor-view-stacked .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-43db2ec .elementor-icon{font-size:12px;border-width:1px 1px 1px 1px;}.elementor-39 .elementor-element.elementor-element-43db2ec .elementor-icon svg{height:12px;}.elementor-39 .elementor-element.elementor-element-43db2ec .elementor-icon i, .elementor-39 .elementor-element.elementor-element-43db2ec .elementor-icon svg{transform:rotate(0deg);}.elementor-39 .elementor-element.elementor-element-24953d2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-24953d2 p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-40975c0{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--border-radius:50px 50px 50px 50px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-39 .elementor-element.elementor-element-40975c0:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-40975c0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-87a3b3b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-39 .elementor-element.elementor-element-555be03{--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;}.elementor-39 .elementor-element.elementor-element-e8fc695 .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-b7301ee.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-b7301ee .elementor-icon-wrapper{text-align:center;}.elementor-39 .elementor-element.elementor-element-b7301ee.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-b7301ee.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-b7301ee.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-b7301ee.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-b7301ee.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-b7301ee.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-b7301ee.elementor-view-stacked .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-b7301ee .elementor-icon{font-size:12px;border-width:1px 1px 1px 1px;}.elementor-39 .elementor-element.elementor-element-b7301ee .elementor-icon svg{height:12px;}.elementor-39 .elementor-element.elementor-element-b7301ee .elementor-icon i, .elementor-39 .elementor-element.elementor-element-b7301ee .elementor-icon svg{transform:rotate(0deg);}.elementor-39 .elementor-element.elementor-element-c19f943{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 65px;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-c19f943 p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-9227265{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--border-radius:50px 50px 50px 50px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-39 .elementor-element.elementor-element-9227265:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-9227265 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-b195ca0{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-39 .elementor-element.elementor-element-4e300fd{--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;}.elementor-39 .elementor-element.elementor-element-b243f5f .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-52004a5.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-52004a5 .elementor-icon-wrapper{text-align:center;}.elementor-39 .elementor-element.elementor-element-52004a5.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-52004a5.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-52004a5.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-52004a5.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-52004a5.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-52004a5.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-52004a5.elementor-view-stacked .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-52004a5 .elementor-icon{font-size:12px;border-width:1px 1px 1px 1px;}.elementor-39 .elementor-element.elementor-element-52004a5 .elementor-icon svg{height:12px;}.elementor-39 .elementor-element.elementor-element-52004a5 .elementor-icon i, .elementor-39 .elementor-element.elementor-element-52004a5 .elementor-icon svg{transform:rotate(0deg);}.elementor-39 .elementor-element.elementor-element-d5ef4ad{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 65px;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-d5ef4ad p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-ea233b5{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--border-radius:50px 50px 50px 50px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-39 .elementor-element.elementor-element-ea233b5:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-ea233b5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-7ba75f1{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-39 .elementor-element.elementor-element-f62006a{--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;}.elementor-39 .elementor-element.elementor-element-d0589a5 .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-28b9769.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-28b9769 .elementor-icon-wrapper{text-align:center;}.elementor-39 .elementor-element.elementor-element-28b9769.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-28b9769.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-28b9769.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-28b9769.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-28b9769.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-28b9769.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-28b9769.elementor-view-stacked .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-28b9769 .elementor-icon{font-size:12px;border-width:1px 1px 1px 1px;}.elementor-39 .elementor-element.elementor-element-28b9769 .elementor-icon svg{height:12px;}.elementor-39 .elementor-element.elementor-element-28b9769 .elementor-icon i, .elementor-39 .elementor-element.elementor-element-28b9769 .elementor-icon svg{transform:rotate(0deg);}.elementor-39 .elementor-element.elementor-element-beb63c3{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 65px;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-beb63c3 p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-27a3874{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-39 .elementor-element.elementor-element-b68a3b0{--display:flex;--justify-content:center;--background-transition:0.3s;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );--border-radius:34px 34px 34px 34px;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-39 .elementor-element.elementor-element-b68a3b0:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-b68a3b0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-14ec9f2 );background-image:url("https://back2rank.com/wp-content/uploads/2026/07/24711017_220314_point_grid_01_v_f-2-3-scaled.png");background-position:center center;background-size:54% auto;}.elementor-39 .elementor-element.elementor-element-b68a3b0:hover{background-color:#F6F7F7;}.elementor-39 .elementor-element.elementor-element-59bbb32{--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;--justify-content:flex-start;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-59bbb32.e-con{--align-self:center;}.elementor-39 .elementor-element.elementor-element-20f6cf0{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-39 .elementor-element.elementor-element-3898875.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-3898875{font-family:"Playfair Display", Sans-serif;font-size:16px;font-weight:500;font-style:italic;text-transform:uppercase;color:#1E1E1E;}.elementor-39 .elementor-element.elementor-element-3898875 p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-3898875 a{color:#1E1E1E;}.elementor-39 .elementor-element.elementor-element-9ebbadd{--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;--justify-content:center;--align-items:center;--gap:12px 12px;--row-gap:12px;--column-gap:12px;--padding-top:0px;--padding-bottom:0px;--padding-left:80px;--padding-right:80px;--z-index:0;}.elementor-39 .elementor-element.elementor-element-746a1bf{text-align:center;}.elementor-39 .elementor-element.elementor-element-746a1bf .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:40px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-ebec787{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;text-align:center;font-family:"Blumir", Sans-serif;font-weight:300;color:#1E1E1EB0;}.elementor-39 .elementor-element.elementor-element-ebec787 p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-6fe3ad8{--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;}.elementor-39 .elementor-element.elementor-element-44116aa{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-39 .elementor-element.elementor-element-9ac443a{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--border-radius:50px 50px 50px 50px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-39 .elementor-element.elementor-element-9ac443a:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-9ac443a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-e100459{--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-39 .elementor-element.elementor-element-b7ca124{--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;}.elementor-39 .elementor-element.elementor-element-9e8c59d .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-875956d.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-875956d .elementor-icon-wrapper{text-align:center;}.elementor-39 .elementor-element.elementor-element-875956d.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-875956d.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-875956d.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-875956d.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-875956d.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-875956d.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-875956d.elementor-view-stacked .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-875956d .elementor-icon{font-size:12px;border-width:1px 1px 1px 1px;}.elementor-39 .elementor-element.elementor-element-875956d .elementor-icon svg{height:12px;}.elementor-39 .elementor-element.elementor-element-875956d .elementor-icon i, .elementor-39 .elementor-element.elementor-element-875956d .elementor-icon svg{transform:rotate(0deg);}.elementor-39 .elementor-element.elementor-element-f88057e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-f88057e p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-5944764{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--border-radius:50px 50px 50px 50px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-39 .elementor-element.elementor-element-5944764:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-5944764 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-1c2a719{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-39 .elementor-element.elementor-element-a7728ed{--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;}.elementor-39 .elementor-element.elementor-element-7d15181 .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-70431c5.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-70431c5 .elementor-icon-wrapper{text-align:center;}.elementor-39 .elementor-element.elementor-element-70431c5.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-70431c5.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-70431c5.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-70431c5.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-70431c5.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-70431c5.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-70431c5.elementor-view-stacked .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-70431c5 .elementor-icon{font-size:12px;border-width:1px 1px 1px 1px;}.elementor-39 .elementor-element.elementor-element-70431c5 .elementor-icon svg{height:12px;}.elementor-39 .elementor-element.elementor-element-70431c5 .elementor-icon i, .elementor-39 .elementor-element.elementor-element-70431c5 .elementor-icon svg{transform:rotate(0deg);}.elementor-39 .elementor-element.elementor-element-07e964b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 65px;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-07e964b p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-5cd087e{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--border-radius:50px 50px 50px 50px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-39 .elementor-element.elementor-element-5cd087e:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-5cd087e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-332a918{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-39 .elementor-element.elementor-element-6fd3632{--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;}.elementor-39 .elementor-element.elementor-element-7b84def .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-5a4d405.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-5a4d405 .elementor-icon-wrapper{text-align:center;}.elementor-39 .elementor-element.elementor-element-5a4d405.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-5a4d405.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-5a4d405.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-5a4d405.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-5a4d405.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-5a4d405.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-5a4d405.elementor-view-stacked .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-5a4d405 .elementor-icon{font-size:12px;border-width:1px 1px 1px 1px;}.elementor-39 .elementor-element.elementor-element-5a4d405 .elementor-icon svg{height:12px;}.elementor-39 .elementor-element.elementor-element-5a4d405 .elementor-icon i, .elementor-39 .elementor-element.elementor-element-5a4d405 .elementor-icon svg{transform:rotate(0deg);}.elementor-39 .elementor-element.elementor-element-5880428{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 65px;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-5880428 p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-fc859a9{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-39 .elementor-element.elementor-element-2bf9bbe{--display:flex;--justify-content:center;--background-transition:0.3s;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );--border-radius:34px 34px 34px 34px;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-39 .elementor-element.elementor-element-2bf9bbe:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-2bf9bbe > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-14ec9f2 );background-image:url("https://back2rank.com/wp-content/uploads/2026/07/24711017_220314_point_grid_01_v_f-2-3-scaled.png");background-position:center center;background-size:54% auto;}.elementor-39 .elementor-element.elementor-element-2bf9bbe:hover{background-color:#F6F7F7;}.elementor-39 .elementor-element.elementor-element-69c5aae{--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;--justify-content:flex-start;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-69c5aae.e-con{--align-self:center;}.elementor-39 .elementor-element.elementor-element-2db4285{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-39 .elementor-element.elementor-element-af19210.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-af19210{font-family:"Playfair Display", Sans-serif;font-size:16px;font-weight:500;font-style:italic;text-transform:uppercase;color:#1E1E1E;}.elementor-39 .elementor-element.elementor-element-af19210 p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-af19210 a{color:#1E1E1E;}.elementor-39 .elementor-element.elementor-element-adbd54f{--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;--justify-content:center;--align-items:center;--gap:12px 12px;--row-gap:12px;--column-gap:12px;--padding-top:0px;--padding-bottom:0px;--padding-left:80px;--padding-right:80px;--z-index:0;}.elementor-39 .elementor-element.elementor-element-97c138b{text-align:center;}.elementor-39 .elementor-element.elementor-element-97c138b .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:40px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-5f83644{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;text-align:center;font-family:"Blumir", Sans-serif;font-weight:300;color:#1E1E1EB0;}.elementor-39 .elementor-element.elementor-element-5f83644 p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-ae9c19f{--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;}.elementor-39 .elementor-element.elementor-element-2c48a44{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-39 .elementor-element.elementor-element-64829a4{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--border-radius:50px 50px 50px 50px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-39 .elementor-element.elementor-element-64829a4:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-64829a4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-22ae0f7{--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-39 .elementor-element.elementor-element-57dfff1{--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;}.elementor-39 .elementor-element.elementor-element-ec9b7ff .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-300413e.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-300413e .elementor-icon-wrapper{text-align:center;}.elementor-39 .elementor-element.elementor-element-300413e.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-300413e.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-300413e.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-300413e.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-300413e.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-300413e.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-300413e.elementor-view-stacked .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-300413e .elementor-icon{font-size:12px;border-width:1px 1px 1px 1px;}.elementor-39 .elementor-element.elementor-element-300413e .elementor-icon svg{height:12px;}.elementor-39 .elementor-element.elementor-element-300413e .elementor-icon i, .elementor-39 .elementor-element.elementor-element-300413e .elementor-icon svg{transform:rotate(0deg);}.elementor-39 .elementor-element.elementor-element-4826290{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-4826290 p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-11ee1ed{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--border-radius:50px 50px 50px 50px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-39 .elementor-element.elementor-element-11ee1ed:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-11ee1ed > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-5d44110{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-39 .elementor-element.elementor-element-9c36d67{--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;}.elementor-39 .elementor-element.elementor-element-b69f10e .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-721f91d.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-721f91d .elementor-icon-wrapper{text-align:center;}.elementor-39 .elementor-element.elementor-element-721f91d.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-721f91d.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-721f91d.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-721f91d.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-721f91d.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-721f91d.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-721f91d.elementor-view-stacked .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-721f91d .elementor-icon{font-size:12px;border-width:1px 1px 1px 1px;}.elementor-39 .elementor-element.elementor-element-721f91d .elementor-icon svg{height:12px;}.elementor-39 .elementor-element.elementor-element-721f91d .elementor-icon i, .elementor-39 .elementor-element.elementor-element-721f91d .elementor-icon svg{transform:rotate(0deg);}.elementor-39 .elementor-element.elementor-element-255e189{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 65px;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-255e189 p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-bf9c513{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--border-radius:50px 50px 50px 50px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-39 .elementor-element.elementor-element-bf9c513:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-bf9c513 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-d1c5a1e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-39 .elementor-element.elementor-element-5899cc7{--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;}.elementor-39 .elementor-element.elementor-element-94bbabe .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-77553e6.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-77553e6 .elementor-icon-wrapper{text-align:center;}.elementor-39 .elementor-element.elementor-element-77553e6.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-77553e6.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-77553e6.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-77553e6.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-77553e6.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-77553e6.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-77553e6.elementor-view-stacked .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-77553e6 .elementor-icon{font-size:12px;border-width:1px 1px 1px 1px;}.elementor-39 .elementor-element.elementor-element-77553e6 .elementor-icon svg{height:12px;}.elementor-39 .elementor-element.elementor-element-77553e6 .elementor-icon i, .elementor-39 .elementor-element.elementor-element-77553e6 .elementor-icon svg{transform:rotate(0deg);}.elementor-39 .elementor-element.elementor-element-f03a3ba{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 65px;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-f03a3ba p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-f5c3549{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-39 .elementor-element.elementor-element-5312987{--display:flex;--justify-content:center;--background-transition:0.3s;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );--border-radius:34px 34px 34px 34px;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-39 .elementor-element.elementor-element-5312987:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-5312987 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-14ec9f2 );background-image:url("https://back2rank.com/wp-content/uploads/2026/07/24711017_220314_point_grid_01_v_f-2-3-scaled.png");background-position:center center;background-size:54% auto;}.elementor-39 .elementor-element.elementor-element-5312987:hover{background-color:#F6F7F7;}.elementor-39 .elementor-element.elementor-element-de980dd{--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;--justify-content:flex-start;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-de980dd.e-con{--align-self:center;}.elementor-39 .elementor-element.elementor-element-4b59fcc{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-39 .elementor-element.elementor-element-7e99af9.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-7e99af9{font-family:"Playfair Display", Sans-serif;font-size:16px;font-weight:500;font-style:italic;text-transform:uppercase;color:#1E1E1E;}.elementor-39 .elementor-element.elementor-element-7e99af9 p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-7e99af9 a{color:#1E1E1E;}.elementor-39 .elementor-element.elementor-element-9243340{--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;--justify-content:center;--align-items:center;--gap:12px 12px;--row-gap:12px;--column-gap:12px;--padding-top:0px;--padding-bottom:0px;--padding-left:80px;--padding-right:80px;--z-index:0;}.elementor-39 .elementor-element.elementor-element-68ac174{text-align:center;}.elementor-39 .elementor-element.elementor-element-68ac174 .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:40px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-e366bc9{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;text-align:center;font-family:"Blumir", Sans-serif;font-weight:300;color:#1E1E1EB0;}.elementor-39 .elementor-element.elementor-element-e366bc9 p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-8ef208f{--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;}.elementor-39 .elementor-element.elementor-element-fa7fab8{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-39 .elementor-element.elementor-element-c14badc{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--border-radius:50px 50px 50px 50px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-39 .elementor-element.elementor-element-c14badc:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-c14badc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-b8ccb36{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-39 .elementor-element.elementor-element-231fae2{--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;}.elementor-39 .elementor-element.elementor-element-b464c1b .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-9c54444.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-9c54444 .elementor-icon-wrapper{text-align:center;}.elementor-39 .elementor-element.elementor-element-9c54444.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-9c54444.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-9c54444.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-9c54444.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-9c54444.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-9c54444.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-9c54444.elementor-view-stacked .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-9c54444 .elementor-icon{font-size:12px;border-width:1px 1px 1px 1px;}.elementor-39 .elementor-element.elementor-element-9c54444 .elementor-icon svg{height:12px;}.elementor-39 .elementor-element.elementor-element-9c54444 .elementor-icon i, .elementor-39 .elementor-element.elementor-element-9c54444 .elementor-icon svg{transform:rotate(0deg);}.elementor-39 .elementor-element.elementor-element-605f68c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 65px;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-605f68c p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-ecb70c0{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--border-radius:50px 50px 50px 50px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-39 .elementor-element.elementor-element-ecb70c0:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-ecb70c0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-a659be3{--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-39 .elementor-element.elementor-element-b8b8b4e{--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;}.elementor-39 .elementor-element.elementor-element-6e3443d .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-282cee9.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-282cee9 .elementor-icon-wrapper{text-align:center;}.elementor-39 .elementor-element.elementor-element-282cee9.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-282cee9.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-282cee9.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-282cee9.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-282cee9.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-282cee9.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-282cee9.elementor-view-stacked .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-282cee9 .elementor-icon{font-size:12px;border-width:1px 1px 1px 1px;}.elementor-39 .elementor-element.elementor-element-282cee9 .elementor-icon svg{height:12px;}.elementor-39 .elementor-element.elementor-element-282cee9 .elementor-icon i, .elementor-39 .elementor-element.elementor-element-282cee9 .elementor-icon svg{transform:rotate(0deg);}.elementor-39 .elementor-element.elementor-element-ac240db{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-ac240db p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-dfdd20a{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--border-radius:50px 50px 50px 50px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-39 .elementor-element.elementor-element-dfdd20a:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-dfdd20a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-dab50ce{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-39 .elementor-element.elementor-element-7185905{--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;}.elementor-39 .elementor-element.elementor-element-02da14e .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-6111347.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-6111347 .elementor-icon-wrapper{text-align:center;}.elementor-39 .elementor-element.elementor-element-6111347.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-6111347.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-6111347.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-6111347.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-6111347.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-6111347.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-6111347.elementor-view-stacked .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-6111347 .elementor-icon{font-size:12px;border-width:1px 1px 1px 1px;}.elementor-39 .elementor-element.elementor-element-6111347 .elementor-icon svg{height:12px;}.elementor-39 .elementor-element.elementor-element-6111347 .elementor-icon i, .elementor-39 .elementor-element.elementor-element-6111347 .elementor-icon svg{transform:rotate(0deg);}.elementor-39 .elementor-element.elementor-element-f3662b5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 65px;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-f3662b5 p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-84da3f0{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-39 .elementor-element.elementor-element-263cccc{--display:flex;--justify-content:center;--background-transition:0.3s;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );--border-radius:34px 34px 34px 34px;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-39 .elementor-element.elementor-element-263cccc:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-263cccc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-14ec9f2 );background-image:url("https://back2rank.com/wp-content/uploads/2026/07/24711017_220314_point_grid_01_v_f-2-3-scaled.png");background-position:center center;background-size:54% auto;}.elementor-39 .elementor-element.elementor-element-263cccc:hover{background-color:#F6F7F7;}.elementor-39 .elementor-element.elementor-element-15a658a{--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;--justify-content:flex-start;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-15a658a.e-con{--align-self:center;}.elementor-39 .elementor-element.elementor-element-4c55461{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-39 .elementor-element.elementor-element-052ae21.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-052ae21{font-family:"Playfair Display", Sans-serif;font-size:16px;font-weight:500;font-style:italic;text-transform:uppercase;color:#1E1E1E;}.elementor-39 .elementor-element.elementor-element-052ae21 p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-052ae21 a{color:#1E1E1E;}.elementor-39 .elementor-element.elementor-element-a426594{--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;--justify-content:center;--align-items:center;--gap:12px 12px;--row-gap:12px;--column-gap:12px;--padding-top:0px;--padding-bottom:0px;--padding-left:80px;--padding-right:80px;--z-index:0;}.elementor-39 .elementor-element.elementor-element-8e5de05{text-align:center;}.elementor-39 .elementor-element.elementor-element-8e5de05 .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:40px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-9ea4a98{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;text-align:center;font-family:"Blumir", Sans-serif;font-weight:300;color:#1E1E1EB0;}.elementor-39 .elementor-element.elementor-element-9ea4a98 p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-271498b{--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;}.elementor-39 .elementor-element.elementor-element-b29fca9{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-39 .elementor-element.elementor-element-2b335ad{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--border-radius:50px 50px 50px 50px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-39 .elementor-element.elementor-element-2b335ad:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-2b335ad > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-c0eb467{--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-39 .elementor-element.elementor-element-b0baf50{--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;}.elementor-39 .elementor-element.elementor-element-2dfeb87 .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-12c125c.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-12c125c .elementor-icon-wrapper{text-align:center;}.elementor-39 .elementor-element.elementor-element-12c125c.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-12c125c.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-12c125c.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-12c125c.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-12c125c.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-12c125c.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-12c125c.elementor-view-stacked .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-12c125c .elementor-icon{font-size:12px;border-width:1px 1px 1px 1px;}.elementor-39 .elementor-element.elementor-element-12c125c .elementor-icon svg{height:12px;}.elementor-39 .elementor-element.elementor-element-12c125c .elementor-icon i, .elementor-39 .elementor-element.elementor-element-12c125c .elementor-icon svg{transform:rotate(0deg);}.elementor-39 .elementor-element.elementor-element-a152e4e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-a152e4e p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-6b54da3{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--border-radius:50px 50px 50px 50px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-39 .elementor-element.elementor-element-6b54da3:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-6b54da3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-755e6de{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-39 .elementor-element.elementor-element-eb5aab4{--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;}.elementor-39 .elementor-element.elementor-element-5cc55d9 .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-04ee1c4.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-04ee1c4 .elementor-icon-wrapper{text-align:center;}.elementor-39 .elementor-element.elementor-element-04ee1c4.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-04ee1c4.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-04ee1c4.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-04ee1c4.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-04ee1c4.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-04ee1c4.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-04ee1c4.elementor-view-stacked .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-04ee1c4 .elementor-icon{font-size:12px;border-width:1px 1px 1px 1px;}.elementor-39 .elementor-element.elementor-element-04ee1c4 .elementor-icon svg{height:12px;}.elementor-39 .elementor-element.elementor-element-04ee1c4 .elementor-icon i, .elementor-39 .elementor-element.elementor-element-04ee1c4 .elementor-icon svg{transform:rotate(0deg);}.elementor-39 .elementor-element.elementor-element-f2527de{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 65px;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-f2527de p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-d089672{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--border-radius:50px 50px 50px 50px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-39 .elementor-element.elementor-element-d089672:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-d089672 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-c9d9af7{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-39 .elementor-element.elementor-element-4f1318c{--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;}.elementor-39 .elementor-element.elementor-element-c7a48fd .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:16px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-df4f481.elementor-element{--align-self:center;}.elementor-39 .elementor-element.elementor-element-df4f481 .elementor-icon-wrapper{text-align:center;}.elementor-39 .elementor-element.elementor-element-df4f481.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-df4f481.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-df4f481.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-df4f481.elementor-view-framed .elementor-icon, .elementor-39 .elementor-element.elementor-element-df4f481.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-df4f481.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-df4f481.elementor-view-stacked .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-df4f481 .elementor-icon{font-size:12px;border-width:1px 1px 1px 1px;}.elementor-39 .elementor-element.elementor-element-df4f481 .elementor-icon svg{height:12px;}.elementor-39 .elementor-element.elementor-element-df4f481 .elementor-icon i, .elementor-39 .elementor-element.elementor-element-df4f481 .elementor-icon svg{transform:rotate(0deg);}.elementor-39 .elementor-element.elementor-element-ea86701{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 65px;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-ea86701 p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-ba8044b{--n-tabs-heading-justify-content:center;--n-tabs-title-width:initial;--n-tabs-title-height:initial;--n-tabs-title-align-items:center;--n-tabs-title-flex-grow:0;--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;--n-tabs-title-justify-content:center;--n-tabs-title-text-align:center;--n-tabs-title-gap:10px;--n-tabs-gap:35px;--n-tabs-title-border-radius:100px 100px 100px 100px;--n-tabs-title-padding-top:16px;--n-tabs-title-padding-right:22px;--n-tabs-title-padding-bottom:13px;--n-tabs-title-padding-left:22px;}.elementor-39 .elementor-element.elementor-element-ba8044b > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:var( --e-global-color-primary );}.elementor-39 .elementor-element.elementor-element-ba8044b.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-text );}.elementor-39 .elementor-element.elementor-element-ba8044b.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-39 .elementor-element.elementor-element-ba8044b.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-ba8044b.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:"Gonya", Sans-serif;font-weight:700;}.elementor-39 .elementor-element.elementor-element-b7005ae{--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:100px;--padding-bottom:100px;--padding-left:80px;--padding-right:80px;}.elementor-39 .elementor-element.elementor-element-89e4bf5{--display:flex;--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.17;--border-radius:34px 34px 34px 34px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-89e4bf5:not(.elementor-motion-effects-element-type-background), .elementor-39 .elementor-element.elementor-element-89e4bf5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );background-image:url("https://back2rank.com/wp-content/uploads/2026/07/24711017_220314_point_grid_01_v_f-2-3-scaled.png");background-size:contain;}.elementor-39 .elementor-element.elementor-element-89e4bf5::before, .elementor-39 .elementor-element.elementor-element-89e4bf5 > .elementor-background-video-container::before, .elementor-39 .elementor-element.elementor-element-89e4bf5 > .e-con-inner > .elementor-background-video-container::before, .elementor-39 .elementor-element.elementor-element-89e4bf5 > .elementor-background-slideshow::before, .elementor-39 .elementor-element.elementor-element-89e4bf5 > .e-con-inner > .elementor-background-slideshow::before, .elementor-39 .elementor-element.elementor-element-89e4bf5 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://back2rank.com/wp-content/uploads/2026/07/BACK2RANK_FULL_SHAPE_WHITE-1.webp");--background-overlay:'';background-position:-125px 8px;background-repeat:no-repeat;background-size:63% auto;}.elementor-39 .elementor-element.elementor-element-41ea5c9{--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;--justify-content:space-between;--align-items:center;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-39 .elementor-element.elementor-element-84769d5{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:50px;--padding-left:0px;--padding-right:50px;}.elementor-39 .elementor-element.elementor-element-08d9293.elementor-element{--align-self:flex-start;}.elementor-39 .elementor-element.elementor-element-08d9293{text-align:start;}.elementor-39 .elementor-element.elementor-element-08d9293 .elementor-heading-title{font-family:"Gonya", Sans-serif;font-size:40px;font-weight:600;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-eba4bb6{width:var( --container-widget-width, 545px );max-width:545px;--container-widget-width:545px;--container-widget-flex-grow:0;text-align:start;font-family:"Blumir", Sans-serif;font-weight:300;color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-eba4bb6 p{margin-block-end:0px;}.elementor-39 .elementor-element.elementor-element-811b9ab{--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;--justify-content:flex-start;--align-items:center;--border-radius:10px 10px 10px 10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-39 .elementor-element.elementor-element-e021e13 .elementor-button{background-color:var( --e-global-color-secondary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );fill:var( --e-global-color-14ec9f2 );color:var( --e-global-color-14ec9f2 );border-radius:8px 8px 8px 8px;padding:5px 5px 5px 25px;}.elementor-39 .elementor-element.elementor-element-e021e13{padding:0px 0px 0px 0px;}.elementor-39 .elementor-element.elementor-element-e021e13 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-39 .elementor-element.elementor-element-e021e13 .elementor-button .elementor-button-content-wrapper{gap:2px;}.elementor-39 .elementor-element.elementor-element-e021e13 .elementor-button:hover, .elementor-39 .elementor-element.elementor-element-e021e13 .elementor-button:focus{color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-e021e13 .elementor-button:hover svg, .elementor-39 .elementor-element.elementor-element-e021e13 .elementor-button:focus svg{fill:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-43505d5 .elementor-button{background-color:#FFFFFF;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );fill:var( --e-global-color-text );color:var( --e-global-color-text );border-radius:8px 8px 8px 8px;padding:5px 5px 5px 25px;}.elementor-39 .elementor-element.elementor-element-43505d5 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-39 .elementor-element.elementor-element-43505d5 .elementor-button .elementor-button-content-wrapper{gap:2px;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-39 .elementor-element.elementor-element-c1c2b3e{width:var( --container-widget-width, 45% );max-width:45%;padding:0px 0px 0px 0px;--container-widget-width:45%;--container-widget-flex-grow:0;border-radius:8px 8px 8px 8px;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-button span{gap:20px;}.elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-field-group{padding-right:calc( 15px/2 );padding-left:calc( 15px/2 );margin-bottom:15px;}.elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-form-fields-wrapper{margin-left:calc( -15px/2 );margin-right:calc( -15px/2 );margin-bottom:-15px;}.elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-field-group.recaptcha_v3-bottomleft, .elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-labels-inline .elementor-field-group > label{padding-left:7px;}body:not(.rtl) .elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-labels-inline .elementor-field-group > label{padding-right:7px;}body .elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-labels-above .elementor-field-group > label{padding-bottom:7px;}.elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-field-group > label, .elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-field-subgroup label{color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-field-group > label{font-family:"Blumir", Sans-serif;font-weight:300;}.elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-field-type-html{padding-bottom:0px;color:var( --e-global-color-secondary );font-family:"Blumir", Sans-serif;font-size:14px;font-weight:400;}.elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-field-group .elementor-field{color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-field-group .elementor-field, .elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:var( --e-global-color-14ec9f2 );border-color:var( --e-global-color-secondary );border-width:0px 0px 0px 0px;border-radius:8px 8px 8px 8px;}.elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-field-group .elementor-select-wrapper select{background-color:var( --e-global-color-14ec9f2 );border-color:var( --e-global-color-secondary );border-width:0px 0px 0px 0px;border-radius:8px 8px 8px 8px;}.elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-field-group .elementor-select-wrapper::before{color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-button{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );border-radius:100px 100px 100px 100px;padding:15px 15px 15px 15px;}.elementor-39 .elementor-element.elementor-element-c1c2b3e .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-secondary );color:#ffffff;}.elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-button[type="submit"]{background-color:var( --e-global-color-secondary );color:#ffffff;}.elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-39 .elementor-element.elementor-element-c1c2b3e .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-39 .elementor-element.elementor-element-c1c2b3e .e-form__buttons__wrapper__button-next:hover{background-color:var( --e-global-color-14ec9f2 );color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-button[type="submit"]:hover{background-color:var( --e-global-color-14ec9f2 );color:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-button[type="submit"]:hover svg *{fill:var( --e-global-color-secondary );}.elementor-39 .elementor-element.elementor-element-c1c2b3e .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-39 .elementor-element.elementor-element-c1c2b3e .elementor-message{font-family:"Blumir", Sans-serif;font-weight:300;}.elementor-39 .elementor-element.elementor-element-c1c2b3e .e-form__indicators__indicator, .elementor-39 .elementor-element.elementor-element-c1c2b3e .e-form__indicators__indicator__label{font-family:"Blumir", Sans-serif;font-weight:300;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-39 .elementor-element.elementor-element-bcd6fb1{--width:100%;}.elementor-39 .elementor-element.elementor-element-6f55cf8{--width:75%;}.elementor-39 .elementor-element.elementor-element-8f73fe1{--width:80%;}.elementor-39 .elementor-element.elementor-element-7897621{--width:70%;}.elementor-39 .elementor-element.elementor-element-b68a3b0{--width:75%;}.elementor-39 .elementor-element.elementor-element-59bbb32{--width:80%;}.elementor-39 .elementor-element.elementor-element-44116aa{--width:80%;}.elementor-39 .elementor-element.elementor-element-2bf9bbe{--width:75%;}.elementor-39 .elementor-element.elementor-element-69c5aae{--width:80%;}.elementor-39 .elementor-element.elementor-element-2c48a44{--width:80%;}.elementor-39 .elementor-element.elementor-element-5312987{--width:75%;}.elementor-39 .elementor-element.elementor-element-de980dd{--width:80%;}.elementor-39 .elementor-element.elementor-element-fa7fab8{--width:80%;}.elementor-39 .elementor-element.elementor-element-263cccc{--width:75%;}.elementor-39 .elementor-element.elementor-element-15a658a{--width:80%;}.elementor-39 .elementor-element.elementor-element-b29fca9{--width:80%;}.elementor-39 .elementor-element.elementor-element-84769d5{--width:62%;}}@media(max-width:1024px) and (min-width:768px){.elementor-39 .elementor-element.elementor-element-8f73fe1{--width:100%;}.elementor-39 .elementor-element.elementor-element-59bbb32{--width:100%;}.elementor-39 .elementor-element.elementor-element-69c5aae{--width:100%;}.elementor-39 .elementor-element.elementor-element-de980dd{--width:100%;}.elementor-39 .elementor-element.elementor-element-15a658a{--width:100%;}.elementor-39 .elementor-element.elementor-element-84769d5{--width:100%;}}@media(min-width:2400px){.elementor-39 .elementor-element.elementor-element-13e1ecb .elementor-heading-title{font-size:60px;}.elementor-39 .elementor-element.elementor-element-746a1bf .elementor-heading-title{font-size:60px;}.elementor-39 .elementor-element.elementor-element-97c138b .elementor-heading-title{font-size:60px;}.elementor-39 .elementor-element.elementor-element-68ac174 .elementor-heading-title{font-size:60px;}.elementor-39 .elementor-element.elementor-element-8e5de05 .elementor-heading-title{font-size:60px;}.elementor-39 .elementor-element.elementor-element-89e4bf5{--min-height:0vh;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-41ea5c9{--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}}@media(max-width:1024px){.elementor-39 .elementor-element.elementor-element-4657cb6{--padding-top:0px;--padding-bottom:0px;--padding-left:30px;--padding-right:30px;}.elementor-39 .elementor-element.elementor-element-318bccf{--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:70px;--padding-bottom:70px;--padding-left:30px;--padding-right:30px;}.elementor-39 .elementor-element.elementor-element-8f73fe1{--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;--gap:50px 50px;--row-gap:50px;--column-gap:50px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-870d35c{--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;}.elementor-39 .elementor-element.elementor-element-feb3851{--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:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-39 .elementor-element.elementor-element-59bbb32{--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;--gap:50px 50px;--row-gap:50px;--column-gap:50px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-9ebbadd{--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;}.elementor-39 .elementor-element.elementor-element-6fe3ad8{--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:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-39 .elementor-element.elementor-element-69c5aae{--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;--gap:50px 50px;--row-gap:50px;--column-gap:50px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-adbd54f{--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;}.elementor-39 .elementor-element.elementor-element-ae9c19f{--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:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-39 .elementor-element.elementor-element-de980dd{--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;--gap:50px 50px;--row-gap:50px;--column-gap:50px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-9243340{--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;}.elementor-39 .elementor-element.elementor-element-8ef208f{--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:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-39 .elementor-element.elementor-element-15a658a{--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;--gap:50px 50px;--row-gap:50px;--column-gap:50px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-a426594{--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;}.elementor-39 .elementor-element.elementor-element-271498b{--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:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-39 .elementor-element.elementor-element-b7005ae{--padding-top:70px;--padding-bottom:70px;--padding-left:30px;--padding-right:30px;}.elementor-39 .elementor-element.elementor-element-89e4bf5{--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;}.elementor-39 .elementor-element.elementor-element-89e4bf5::before, .elementor-39 .elementor-element.elementor-element-89e4bf5 > .elementor-background-video-container::before, .elementor-39 .elementor-element.elementor-element-89e4bf5 > .e-con-inner > .elementor-background-video-container::before, .elementor-39 .elementor-element.elementor-element-89e4bf5 > .elementor-background-slideshow::before, .elementor-39 .elementor-element.elementor-element-89e4bf5 > .e-con-inner > .elementor-background-slideshow::before, .elementor-39 .elementor-element.elementor-element-89e4bf5 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-39 .elementor-element.elementor-element-41ea5c9{--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:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-39 .elementor-element.elementor-element-08d9293{width:var( --container-widget-width, 383px );max-width:383px;--container-widget-width:383px;--container-widget-flex-grow:0;}.elementor-39 .elementor-element.elementor-element-c1c2b3e{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}}@media(max-width:767px){.elementor-39 .elementor-element.elementor-element-adf2a08{--min-height:58vh;--padding-top:100px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-39 .elementor-element.elementor-element-adf2a08::before, .elementor-39 .elementor-element.elementor-element-adf2a08 > .elementor-background-video-container::before, .elementor-39 .elementor-element.elementor-element-adf2a08 > .e-con-inner > .elementor-background-video-container::before, .elementor-39 .elementor-element.elementor-element-adf2a08 > .elementor-background-slideshow::before, .elementor-39 .elementor-element.elementor-element-adf2a08 > .e-con-inner > .elementor-background-slideshow::before, .elementor-39 .elementor-element.elementor-element-adf2a08 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:bottom center;background-size:150% auto;}.elementor-39 .elementor-element.elementor-element-4657cb6{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-40df834 .elementor-heading-title{font-size:28px;}.elementor-39 .elementor-element.elementor-element-318bccf{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:50px;--padding-bottom:50px;--padding-left:15px;--padding-right:15px;}.elementor-39 .elementor-element.elementor-element-6f55cf8{--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-39 .elementor-element.elementor-element-870d35c{--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-13e1ecb{width:var( --container-widget-width, 238px );max-width:238px;--container-widget-width:238px;--container-widget-flex-grow:0;}.elementor-39 .elementor-element.elementor-element-13e1ecb .elementor-heading-title{font-size:25px;}.elementor-39 .elementor-element.elementor-element-e6849f4{width:100%;max-width:100%;}.elementor-39 .elementor-element.elementor-element-feb3851{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-39 .elementor-element.elementor-element-f3af88b{--width:200px;--gap:7px 7px;--row-gap:7px;--column-gap:7px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-d9d6a38 .elementor-heading-title{font-size:14px;}.elementor-39 .elementor-element.elementor-element-43db2ec .elementor-icon{font-size:10px;}.elementor-39 .elementor-element.elementor-element-43db2ec .elementor-icon svg{height:10px;}.elementor-39 .elementor-element.elementor-element-555be03{--width:200px;--gap:7px 7px;--row-gap:7px;--column-gap:7px;}.elementor-39 .elementor-element.elementor-element-e8fc695 .elementor-heading-title{font-size:14px;}.elementor-39 .elementor-element.elementor-element-b7301ee .elementor-icon{font-size:10px;}.elementor-39 .elementor-element.elementor-element-b7301ee .elementor-icon svg{height:10px;}.elementor-39 .elementor-element.elementor-element-4e300fd{--width:200px;--gap:7px 7px;--row-gap:7px;--column-gap:7px;}.elementor-39 .elementor-element.elementor-element-b243f5f .elementor-heading-title{font-size:14px;}.elementor-39 .elementor-element.elementor-element-52004a5 .elementor-icon{font-size:10px;}.elementor-39 .elementor-element.elementor-element-52004a5 .elementor-icon svg{height:10px;}.elementor-39 .elementor-element.elementor-element-f62006a{--width:200px;--gap:7px 7px;--row-gap:7px;--column-gap:7px;}.elementor-39 .elementor-element.elementor-element-d0589a5{width:var( --container-widget-width, 115px );max-width:115px;--container-widget-width:115px;--container-widget-flex-grow:0;}.elementor-39 .elementor-element.elementor-element-d0589a5 .elementor-heading-title{font-size:14px;}.elementor-39 .elementor-element.elementor-element-28b9769 .elementor-icon{font-size:10px;}.elementor-39 .elementor-element.elementor-element-28b9769 .elementor-icon svg{height:10px;}.elementor-39 .elementor-element.elementor-element-b68a3b0{--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-39 .elementor-element.elementor-element-9ebbadd{--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-746a1bf{width:var( --container-widget-width, 238px );max-width:238px;--container-widget-width:238px;--container-widget-flex-grow:0;}.elementor-39 .elementor-element.elementor-element-746a1bf .elementor-heading-title{font-size:25px;}.elementor-39 .elementor-element.elementor-element-ebec787{width:100%;max-width:100%;}.elementor-39 .elementor-element.elementor-element-6fe3ad8{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-39 .elementor-element.elementor-element-b7ca124{--width:200px;--gap:7px 7px;--row-gap:7px;--column-gap:7px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-9e8c59d{width:var( --container-widget-width, 115px );max-width:115px;--container-widget-width:115px;--container-widget-flex-grow:0;}.elementor-39 .elementor-element.elementor-element-9e8c59d .elementor-heading-title{font-size:14px;}.elementor-39 .elementor-element.elementor-element-875956d .elementor-icon{font-size:10px;}.elementor-39 .elementor-element.elementor-element-875956d .elementor-icon svg{height:10px;}.elementor-39 .elementor-element.elementor-element-a7728ed{--width:200px;--gap:7px 7px;--row-gap:7px;--column-gap:7px;}.elementor-39 .elementor-element.elementor-element-7d15181{width:var( --container-widget-width, 115px );max-width:115px;--container-widget-width:115px;--container-widget-flex-grow:0;}.elementor-39 .elementor-element.elementor-element-7d15181 .elementor-heading-title{font-size:14px;}.elementor-39 .elementor-element.elementor-element-70431c5 .elementor-icon{font-size:10px;}.elementor-39 .elementor-element.elementor-element-70431c5 .elementor-icon svg{height:10px;}.elementor-39 .elementor-element.elementor-element-6fd3632{--width:200px;--gap:7px 7px;--row-gap:7px;--column-gap:7px;}.elementor-39 .elementor-element.elementor-element-7b84def{width:var( --container-widget-width, 115px );max-width:115px;--container-widget-width:115px;--container-widget-flex-grow:0;}.elementor-39 .elementor-element.elementor-element-7b84def .elementor-heading-title{font-size:14px;}.elementor-39 .elementor-element.elementor-element-5a4d405 .elementor-icon{font-size:10px;}.elementor-39 .elementor-element.elementor-element-5a4d405 .elementor-icon svg{height:10px;}.elementor-39 .elementor-element.elementor-element-2bf9bbe{--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-39 .elementor-element.elementor-element-adbd54f{--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-97c138b{width:var( --container-widget-width, 238px );max-width:238px;--container-widget-width:238px;--container-widget-flex-grow:0;}.elementor-39 .elementor-element.elementor-element-97c138b .elementor-heading-title{font-size:25px;}.elementor-39 .elementor-element.elementor-element-5f83644{width:100%;max-width:100%;}.elementor-39 .elementor-element.elementor-element-ae9c19f{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-39 .elementor-element.elementor-element-57dfff1{--width:200px;--gap:7px 7px;--row-gap:7px;--column-gap:7px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-ec9b7ff{width:var( --container-widget-width, 115px );max-width:115px;--container-widget-width:115px;--container-widget-flex-grow:0;}.elementor-39 .elementor-element.elementor-element-ec9b7ff .elementor-heading-title{font-size:14px;}.elementor-39 .elementor-element.elementor-element-300413e .elementor-icon{font-size:10px;}.elementor-39 .elementor-element.elementor-element-300413e .elementor-icon svg{height:10px;}.elementor-39 .elementor-element.elementor-element-9c36d67{--width:200px;--gap:7px 7px;--row-gap:7px;--column-gap:7px;}.elementor-39 .elementor-element.elementor-element-b69f10e{width:var( --container-widget-width, 115px );max-width:115px;--container-widget-width:115px;--container-widget-flex-grow:0;}.elementor-39 .elementor-element.elementor-element-b69f10e .elementor-heading-title{font-size:14px;}.elementor-39 .elementor-element.elementor-element-721f91d .elementor-icon{font-size:10px;}.elementor-39 .elementor-element.elementor-element-721f91d .elementor-icon svg{height:10px;}.elementor-39 .elementor-element.elementor-element-5899cc7{--width:200px;--gap:7px 7px;--row-gap:7px;--column-gap:7px;}.elementor-39 .elementor-element.elementor-element-94bbabe{width:var( --container-widget-width, 115px );max-width:115px;--container-widget-width:115px;--container-widget-flex-grow:0;}.elementor-39 .elementor-element.elementor-element-94bbabe .elementor-heading-title{font-size:14px;}.elementor-39 .elementor-element.elementor-element-77553e6 .elementor-icon{font-size:10px;}.elementor-39 .elementor-element.elementor-element-77553e6 .elementor-icon svg{height:10px;}.elementor-39 .elementor-element.elementor-element-5312987{--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-39 .elementor-element.elementor-element-9243340{--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-68ac174{width:var( --container-widget-width, 238px );max-width:238px;--container-widget-width:238px;--container-widget-flex-grow:0;}.elementor-39 .elementor-element.elementor-element-68ac174 .elementor-heading-title{font-size:25px;}.elementor-39 .elementor-element.elementor-element-e366bc9{width:100%;max-width:100%;}.elementor-39 .elementor-element.elementor-element-8ef208f{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-39 .elementor-element.elementor-element-231fae2{--width:200px;--gap:7px 7px;--row-gap:7px;--column-gap:7px;}.elementor-39 .elementor-element.elementor-element-b464c1b{width:var( --container-widget-width, 115px );max-width:115px;--container-widget-width:115px;--container-widget-flex-grow:0;}.elementor-39 .elementor-element.elementor-element-b464c1b .elementor-heading-title{font-size:14px;}.elementor-39 .elementor-element.elementor-element-9c54444 .elementor-icon{font-size:10px;}.elementor-39 .elementor-element.elementor-element-9c54444 .elementor-icon svg{height:10px;}.elementor-39 .elementor-element.elementor-element-b8b8b4e{--width:200px;--gap:7px 7px;--row-gap:7px;--column-gap:7px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-6e3443d{width:var( --container-widget-width, 115px );max-width:115px;--container-widget-width:115px;--container-widget-flex-grow:0;}.elementor-39 .elementor-element.elementor-element-6e3443d .elementor-heading-title{font-size:14px;}.elementor-39 .elementor-element.elementor-element-282cee9 .elementor-icon{font-size:10px;}.elementor-39 .elementor-element.elementor-element-282cee9 .elementor-icon svg{height:10px;}.elementor-39 .elementor-element.elementor-element-7185905{--width:200px;--gap:7px 7px;--row-gap:7px;--column-gap:7px;}.elementor-39 .elementor-element.elementor-element-02da14e{width:var( --container-widget-width, 115px );max-width:115px;--container-widget-width:115px;--container-widget-flex-grow:0;}.elementor-39 .elementor-element.elementor-element-02da14e .elementor-heading-title{font-size:14px;}.elementor-39 .elementor-element.elementor-element-6111347 .elementor-icon{font-size:10px;}.elementor-39 .elementor-element.elementor-element-6111347 .elementor-icon svg{height:10px;}.elementor-39 .elementor-element.elementor-element-263cccc{--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-39 .elementor-element.elementor-element-a426594{--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-8e5de05{width:var( --container-widget-width, 238px );max-width:238px;--container-widget-width:238px;--container-widget-flex-grow:0;}.elementor-39 .elementor-element.elementor-element-8e5de05 .elementor-heading-title{font-size:25px;}.elementor-39 .elementor-element.elementor-element-9ea4a98{width:100%;max-width:100%;}.elementor-39 .elementor-element.elementor-element-271498b{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-39 .elementor-element.elementor-element-b0baf50{--width:190px;--gap:7px 7px;--row-gap:7px;--column-gap:7px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-2dfeb87{width:var( --container-widget-width, 47px );max-width:47px;--container-widget-width:47px;--container-widget-flex-grow:0;}.elementor-39 .elementor-element.elementor-element-2dfeb87 .elementor-heading-title{font-size:14px;}.elementor-39 .elementor-element.elementor-element-12c125c .elementor-icon{font-size:10px;}.elementor-39 .elementor-element.elementor-element-12c125c .elementor-icon svg{height:10px;}.elementor-39 .elementor-element.elementor-element-eb5aab4{--width:200px;--gap:7px 7px;--row-gap:7px;--column-gap:7px;}.elementor-39 .elementor-element.elementor-element-5cc55d9 .elementor-heading-title{font-size:14px;}.elementor-39 .elementor-element.elementor-element-04ee1c4 .elementor-icon{font-size:10px;}.elementor-39 .elementor-element.elementor-element-04ee1c4 .elementor-icon svg{height:10px;}.elementor-39 .elementor-element.elementor-element-4f1318c{--width:200px;--gap:7px 7px;--row-gap:7px;--column-gap:7px;}.elementor-39 .elementor-element.elementor-element-c7a48fd{width:var( --container-widget-width, 115px );max-width:115px;--container-widget-width:115px;--container-widget-flex-grow:0;}.elementor-39 .elementor-element.elementor-element-c7a48fd .elementor-heading-title{font-size:14px;}.elementor-39 .elementor-element.elementor-element-df4f481 .elementor-icon{font-size:10px;}.elementor-39 .elementor-element.elementor-element-df4f481 .elementor-icon svg{height:10px;}.elementor-39 .elementor-element.elementor-element-ba8044b{--n-tabs-heading-wrap:nowrap;--n-tabs-heading-overflow-x:scroll;--n-tabs-title-white-space:nowrap;--n-tabs-gap:20px;--n-tabs-title-padding-top:12px;--n-tabs-title-padding-right:12px;--n-tabs-title-padding-bottom:7px;--n-tabs-title-padding-left:12px;--n-tabs-title-font-size:12px;}.elementor-39 .elementor-element.elementor-element-b7005ae{--padding-top:70px;--padding-bottom:50px;--padding-left:15px;--padding-right:15px;}.elementor-39 .elementor-element.elementor-element-89e4bf5::before, .elementor-39 .elementor-element.elementor-element-89e4bf5 > .elementor-background-video-container::before, .elementor-39 .elementor-element.elementor-element-89e4bf5 > .e-con-inner > .elementor-background-video-container::before, .elementor-39 .elementor-element.elementor-element-89e4bf5 > .elementor-background-slideshow::before, .elementor-39 .elementor-element.elementor-element-89e4bf5 > .e-con-inner > .elementor-background-slideshow::before, .elementor-39 .elementor-element.elementor-element-89e4bf5 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:bottom right;background-size:476px auto;}.elementor-39 .elementor-element.elementor-element-89e4bf5{--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-41ea5c9{--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:50px;--padding-left:25px;--padding-right:25px;}.elementor-39 .elementor-element.elementor-element-84769d5{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39 .elementor-element.elementor-element-08d9293 .elementor-heading-title{font-size:25px;}.elementor-39 .elementor-element.elementor-element-eba4bb6{text-align:start;}.elementor-39 .elementor-element.elementor-element-811b9ab{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:8px;--padding-bottom:8px;--padding-left:8px;--padding-right:8px;}.elementor-39 .elementor-element.elementor-element-e021e13{width:100%;max-width:100%;}.elementor-39 .elementor-element.elementor-element-e021e13 .elementor-button{border-radius:8px 8px 8px 8px;}}/* Start custom CSS for heading, class: .elementor-element-40df834 */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-13e1ecb */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-eed2ff4 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon1,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-eed2ff4 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-eed2ff4 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-eed2ff4 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-eed2ff4:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-eed2ff4:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-eed2ff4:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-eed2ff4,
    .elementor-39 .elementor-element.elementor-element-eed2ff4.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-eed2ff4 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-eed2ff4 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-40975c0 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-40975c0.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-40975c0 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-40975c0 .icon1,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-40975c0 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-40975c0 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-40975c0 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-40975c0 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-40975c0 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-40975c0 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-40975c0 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-40975c0:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-40975c0:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-40975c0:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-40975c0,
    .elementor-39 .elementor-element.elementor-element-40975c0.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-40975c0 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-40975c0 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-40975c0.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9227265 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-9227265.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-9227265 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-9227265 .icon1,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-9227265 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-9227265 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-9227265 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9227265 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9227265 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-9227265 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-9227265 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-9227265:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-9227265:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-9227265:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-9227265,
    .elementor-39 .elementor-element.elementor-element-9227265.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9227265 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-9227265 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9227265.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ea233b5 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-ea233b5 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon1,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-ea233b5 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-ea233b5 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-ea233b5 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ea233b5 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ea233b5 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-ea233b5:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-ea233b5:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-ea233b5:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-ea233b5,
    .elementor-39 .elementor-element.elementor-element-ea233b5.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ea233b5 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-ea233b5 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ea233b5.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-746a1bf */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ac443a *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-9ac443a .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-9ac443a .icon1,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-9ac443a > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-9ac443a .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-9ac443a .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9ac443a .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9ac443a .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-9ac443a .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-9ac443a .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-9ac443a:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-9ac443a:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-9ac443a:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-9ac443a,
    .elementor-39 .elementor-element.elementor-element-9ac443a.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9ac443a .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-9ac443a .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9ac443a.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5944764 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-5944764.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-5944764 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-5944764 .icon1,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-5944764 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-5944764 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-5944764 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5944764 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5944764 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-5944764 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-5944764 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-5944764:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-5944764:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-5944764:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-5944764,
    .elementor-39 .elementor-element.elementor-element-5944764.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5944764 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-5944764 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5944764.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5cd087e *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-5cd087e .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-5cd087e .icon1,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-5cd087e > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-5cd087e .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-5cd087e .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5cd087e .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5cd087e .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-5cd087e .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-5cd087e .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-5cd087e:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-5cd087e:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-5cd087e:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-5cd087e,
    .elementor-39 .elementor-element.elementor-element-5cd087e.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5cd087e .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-5cd087e .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5cd087e.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-97c138b */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-64829a4 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-64829a4.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-64829a4 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-64829a4 .icon1,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-64829a4 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-64829a4 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-64829a4 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-64829a4 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-64829a4 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-64829a4 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-64829a4 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-64829a4:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-64829a4:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-64829a4:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-64829a4,
    .elementor-39 .elementor-element.elementor-element-64829a4.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-64829a4 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-64829a4 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-64829a4.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-11ee1ed *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-11ee1ed .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon1,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-11ee1ed > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-11ee1ed .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-11ee1ed .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-11ee1ed .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-11ee1ed .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-11ee1ed:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-11ee1ed:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-11ee1ed:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-11ee1ed,
    .elementor-39 .elementor-element.elementor-element-11ee1ed.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-11ee1ed .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-11ee1ed .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bf9c513 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-bf9c513 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon1,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-bf9c513 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-bf9c513 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-bf9c513 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-bf9c513 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-bf9c513 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-bf9c513:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-bf9c513:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-bf9c513:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-bf9c513,
    .elementor-39 .elementor-element.elementor-element-bf9c513.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-bf9c513 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-bf9c513 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-bf9c513.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-68ac174 */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c14badc *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-c14badc.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-c14badc .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-c14badc .icon1,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-c14badc > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-c14badc .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-c14badc .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-c14badc .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-c14badc .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-c14badc .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-c14badc .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-c14badc:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-c14badc:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-c14badc:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-c14badc,
    .elementor-39 .elementor-element.elementor-element-c14badc.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-c14badc .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-c14badc .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-c14badc.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ecb70c0 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon1,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-ecb70c0 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ecb70c0 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ecb70c0 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-ecb70c0:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-ecb70c0:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-ecb70c0:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-ecb70c0,
    .elementor-39 .elementor-element.elementor-element-ecb70c0.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ecb70c0 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-ecb70c0 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dfdd20a *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-dfdd20a .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon1,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-dfdd20a > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-dfdd20a .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-dfdd20a .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-dfdd20a .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-dfdd20a .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-dfdd20a:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-dfdd20a:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-dfdd20a:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-dfdd20a,
    .elementor-39 .elementor-element.elementor-element-dfdd20a.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-dfdd20a .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-dfdd20a .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-8e5de05 */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b335ad *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-2b335ad .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-2b335ad .icon1,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-2b335ad > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-2b335ad .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-2b335ad .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-2b335ad .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-2b335ad .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-2b335ad .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-2b335ad .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-2b335ad:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-2b335ad:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-2b335ad:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-2b335ad,
    .elementor-39 .elementor-element.elementor-element-2b335ad.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-2b335ad .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-2b335ad .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-2b335ad.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6b54da3 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-6b54da3 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon1,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-6b54da3 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-6b54da3 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-6b54da3 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-6b54da3 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-6b54da3 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-6b54da3:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-6b54da3:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-6b54da3:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-6b54da3,
    .elementor-39 .elementor-element.elementor-element-6b54da3.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-6b54da3 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-6b54da3 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-6b54da3.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d089672 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-d089672.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-d089672 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-d089672 .icon1,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-d089672 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-d089672 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-d089672 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-d089672 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-d089672 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-d089672 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-d089672 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-d089672:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-d089672:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-d089672:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-d089672,
    .elementor-39 .elementor-element.elementor-element-d089672.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-d089672 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-d089672 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-d089672.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-13e1ecb */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-eed2ff4 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon1,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-eed2ff4 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-eed2ff4 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-eed2ff4 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-eed2ff4:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-eed2ff4:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-eed2ff4:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-eed2ff4,
    .elementor-39 .elementor-element.elementor-element-eed2ff4.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-eed2ff4 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-eed2ff4 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-40975c0 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-40975c0.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-40975c0 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-40975c0 .icon1,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-40975c0 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-40975c0 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-40975c0 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-40975c0 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-40975c0 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-40975c0 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-40975c0 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-40975c0:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-40975c0:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-40975c0:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-40975c0,
    .elementor-39 .elementor-element.elementor-element-40975c0.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-40975c0 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-40975c0 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-40975c0.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9227265 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-9227265.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-9227265 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-9227265 .icon1,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-9227265 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-9227265 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-9227265 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9227265 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9227265 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-9227265 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-9227265 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-9227265:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-9227265:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-9227265:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-9227265,
    .elementor-39 .elementor-element.elementor-element-9227265.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9227265 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-9227265 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9227265.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ea233b5 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-ea233b5 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon1,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-ea233b5 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-ea233b5 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-ea233b5 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ea233b5 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ea233b5 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-ea233b5:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-ea233b5:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-ea233b5:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-ea233b5,
    .elementor-39 .elementor-element.elementor-element-ea233b5.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ea233b5 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-ea233b5 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ea233b5.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-746a1bf */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ac443a *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-9ac443a .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-9ac443a .icon1,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-9ac443a > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-9ac443a .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-9ac443a .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9ac443a .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9ac443a .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-9ac443a .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-9ac443a .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-9ac443a:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-9ac443a:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-9ac443a:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-9ac443a,
    .elementor-39 .elementor-element.elementor-element-9ac443a.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9ac443a .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-9ac443a .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9ac443a.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5944764 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-5944764.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-5944764 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-5944764 .icon1,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-5944764 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-5944764 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-5944764 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5944764 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5944764 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-5944764 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-5944764 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-5944764:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-5944764:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-5944764:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-5944764,
    .elementor-39 .elementor-element.elementor-element-5944764.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5944764 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-5944764 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5944764.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5cd087e *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-5cd087e .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-5cd087e .icon1,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-5cd087e > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-5cd087e .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-5cd087e .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5cd087e .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5cd087e .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-5cd087e .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-5cd087e .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-5cd087e:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-5cd087e:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-5cd087e:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-5cd087e,
    .elementor-39 .elementor-element.elementor-element-5cd087e.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5cd087e .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-5cd087e .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5cd087e.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-97c138b */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-64829a4 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-64829a4.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-64829a4 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-64829a4 .icon1,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-64829a4 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-64829a4 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-64829a4 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-64829a4 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-64829a4 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-64829a4 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-64829a4 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-64829a4:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-64829a4:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-64829a4:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-64829a4,
    .elementor-39 .elementor-element.elementor-element-64829a4.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-64829a4 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-64829a4 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-64829a4.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-11ee1ed *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-11ee1ed .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon1,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-11ee1ed > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-11ee1ed .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-11ee1ed .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-11ee1ed .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-11ee1ed .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-11ee1ed:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-11ee1ed:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-11ee1ed:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-11ee1ed,
    .elementor-39 .elementor-element.elementor-element-11ee1ed.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-11ee1ed .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-11ee1ed .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bf9c513 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-bf9c513 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon1,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-bf9c513 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-bf9c513 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-bf9c513 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-bf9c513 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-bf9c513 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-bf9c513:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-bf9c513:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-bf9c513:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-bf9c513,
    .elementor-39 .elementor-element.elementor-element-bf9c513.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-bf9c513 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-bf9c513 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-bf9c513.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-68ac174 */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c14badc *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-c14badc.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-c14badc .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-c14badc .icon1,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-c14badc > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-c14badc .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-c14badc .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-c14badc .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-c14badc .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-c14badc .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-c14badc .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-c14badc:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-c14badc:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-c14badc:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-c14badc,
    .elementor-39 .elementor-element.elementor-element-c14badc.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-c14badc .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-c14badc .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-c14badc.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ecb70c0 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon1,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-ecb70c0 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ecb70c0 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ecb70c0 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-ecb70c0:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-ecb70c0:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-ecb70c0:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-ecb70c0,
    .elementor-39 .elementor-element.elementor-element-ecb70c0.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ecb70c0 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-ecb70c0 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dfdd20a *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-dfdd20a .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon1,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-dfdd20a > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-dfdd20a .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-dfdd20a .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-dfdd20a .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-dfdd20a .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-dfdd20a:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-dfdd20a:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-dfdd20a:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-dfdd20a,
    .elementor-39 .elementor-element.elementor-element-dfdd20a.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-dfdd20a .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-dfdd20a .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-8e5de05 */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b335ad *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-2b335ad .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-2b335ad .icon1,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-2b335ad > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-2b335ad .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-2b335ad .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-2b335ad .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-2b335ad .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-2b335ad .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-2b335ad .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-2b335ad:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-2b335ad:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-2b335ad:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-2b335ad,
    .elementor-39 .elementor-element.elementor-element-2b335ad.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-2b335ad .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-2b335ad .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-2b335ad.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6b54da3 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-6b54da3 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon1,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-6b54da3 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-6b54da3 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-6b54da3 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-6b54da3 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-6b54da3 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-6b54da3:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-6b54da3:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-6b54da3:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-6b54da3,
    .elementor-39 .elementor-element.elementor-element-6b54da3.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-6b54da3 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-6b54da3 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-6b54da3.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d089672 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-d089672.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-d089672 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-d089672 .icon1,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-d089672 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-d089672 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-d089672 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-d089672 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-d089672 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-d089672 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-d089672 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-d089672:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-d089672:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-d089672:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-d089672,
    .elementor-39 .elementor-element.elementor-element-d089672.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-d089672 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-d089672 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-d089672.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-13e1ecb */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-eed2ff4 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon1,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-eed2ff4 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-eed2ff4 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-eed2ff4 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-eed2ff4:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-eed2ff4:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-eed2ff4:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-eed2ff4,
    .elementor-39 .elementor-element.elementor-element-eed2ff4.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-eed2ff4 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-eed2ff4 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-40975c0 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-40975c0.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-40975c0 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-40975c0 .icon1,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-40975c0 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-40975c0 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-40975c0 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-40975c0 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-40975c0 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-40975c0 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-40975c0 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-40975c0:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-40975c0:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-40975c0:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-40975c0,
    .elementor-39 .elementor-element.elementor-element-40975c0.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-40975c0 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-40975c0 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-40975c0.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9227265 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-9227265.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-9227265 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-9227265 .icon1,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-9227265 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-9227265 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-9227265 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9227265 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9227265 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-9227265 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-9227265 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-9227265:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-9227265:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-9227265:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-9227265,
    .elementor-39 .elementor-element.elementor-element-9227265.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9227265 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-9227265 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9227265.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ea233b5 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-ea233b5 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon1,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-ea233b5 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-ea233b5 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-ea233b5 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ea233b5 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ea233b5 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-ea233b5:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-ea233b5:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-ea233b5:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-ea233b5,
    .elementor-39 .elementor-element.elementor-element-ea233b5.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ea233b5 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-ea233b5 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ea233b5.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-746a1bf */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ac443a *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-9ac443a .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-9ac443a .icon1,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-9ac443a > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-9ac443a .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-9ac443a .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9ac443a .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9ac443a .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-9ac443a .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-9ac443a .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-9ac443a:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-9ac443a:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-9ac443a:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-9ac443a,
    .elementor-39 .elementor-element.elementor-element-9ac443a.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9ac443a .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-9ac443a .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9ac443a.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5944764 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-5944764.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-5944764 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-5944764 .icon1,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-5944764 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-5944764 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-5944764 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5944764 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5944764 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-5944764 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-5944764 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-5944764:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-5944764:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-5944764:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-5944764,
    .elementor-39 .elementor-element.elementor-element-5944764.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5944764 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-5944764 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5944764.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5cd087e *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-5cd087e .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-5cd087e .icon1,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-5cd087e > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-5cd087e .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-5cd087e .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5cd087e .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5cd087e .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-5cd087e .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-5cd087e .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-5cd087e:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-5cd087e:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-5cd087e:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-5cd087e,
    .elementor-39 .elementor-element.elementor-element-5cd087e.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5cd087e .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-5cd087e .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5cd087e.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-97c138b */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-64829a4 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-64829a4.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-64829a4 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-64829a4 .icon1,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-64829a4 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-64829a4 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-64829a4 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-64829a4 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-64829a4 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-64829a4 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-64829a4 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-64829a4:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-64829a4:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-64829a4:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-64829a4,
    .elementor-39 .elementor-element.elementor-element-64829a4.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-64829a4 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-64829a4 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-64829a4.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-11ee1ed *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-11ee1ed .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon1,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-11ee1ed > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-11ee1ed .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-11ee1ed .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-11ee1ed .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-11ee1ed .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-11ee1ed:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-11ee1ed:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-11ee1ed:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-11ee1ed,
    .elementor-39 .elementor-element.elementor-element-11ee1ed.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-11ee1ed .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-11ee1ed .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bf9c513 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-bf9c513 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon1,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-bf9c513 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-bf9c513 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-bf9c513 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-bf9c513 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-bf9c513 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-bf9c513:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-bf9c513:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-bf9c513:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-bf9c513,
    .elementor-39 .elementor-element.elementor-element-bf9c513.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-bf9c513 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-bf9c513 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-bf9c513.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-68ac174 */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c14badc *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-c14badc.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-c14badc .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-c14badc .icon1,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-c14badc > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-c14badc .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-c14badc .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-c14badc .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-c14badc .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-c14badc .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-c14badc .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-c14badc:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-c14badc:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-c14badc:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-c14badc,
    .elementor-39 .elementor-element.elementor-element-c14badc.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-c14badc .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-c14badc .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-c14badc.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ecb70c0 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon1,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-ecb70c0 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ecb70c0 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ecb70c0 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-ecb70c0:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-ecb70c0:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-ecb70c0:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-ecb70c0,
    .elementor-39 .elementor-element.elementor-element-ecb70c0.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ecb70c0 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-ecb70c0 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dfdd20a *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-dfdd20a .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon1,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-dfdd20a > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-dfdd20a .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-dfdd20a .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-dfdd20a .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-dfdd20a .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-dfdd20a:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-dfdd20a:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-dfdd20a:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-dfdd20a,
    .elementor-39 .elementor-element.elementor-element-dfdd20a.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-dfdd20a .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-dfdd20a .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-8e5de05 */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b335ad *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-2b335ad .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-2b335ad .icon1,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-2b335ad > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-2b335ad .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-2b335ad .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-2b335ad .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-2b335ad .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-2b335ad .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-2b335ad .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-2b335ad:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-2b335ad:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-2b335ad:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-2b335ad,
    .elementor-39 .elementor-element.elementor-element-2b335ad.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-2b335ad .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-2b335ad .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-2b335ad.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6b54da3 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-6b54da3 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon1,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-6b54da3 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-6b54da3 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-6b54da3 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-6b54da3 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-6b54da3 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-6b54da3:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-6b54da3:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-6b54da3:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-6b54da3,
    .elementor-39 .elementor-element.elementor-element-6b54da3.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-6b54da3 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-6b54da3 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-6b54da3.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d089672 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-d089672.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-d089672 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-d089672 .icon1,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-d089672 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-d089672 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-d089672 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-d089672 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-d089672 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-d089672 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-d089672 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-d089672:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-d089672:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-d089672:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-d089672,
    .elementor-39 .elementor-element.elementor-element-d089672.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-d089672 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-d089672 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-d089672.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-13e1ecb */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-eed2ff4 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon1,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-eed2ff4 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-eed2ff4 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-eed2ff4 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-eed2ff4:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-eed2ff4:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-eed2ff4:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-eed2ff4,
    .elementor-39 .elementor-element.elementor-element-eed2ff4.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-eed2ff4 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-eed2ff4 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-40975c0 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-40975c0.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-40975c0 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-40975c0 .icon1,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-40975c0 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-40975c0 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-40975c0 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-40975c0 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-40975c0 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-40975c0 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-40975c0 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-40975c0:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-40975c0:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-40975c0:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-40975c0,
    .elementor-39 .elementor-element.elementor-element-40975c0.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-40975c0 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-40975c0 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-40975c0.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9227265 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-9227265.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-9227265 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-9227265 .icon1,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-9227265 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-9227265 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-9227265 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9227265 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9227265 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-9227265 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-9227265 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-9227265:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-9227265:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-9227265:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-9227265,
    .elementor-39 .elementor-element.elementor-element-9227265.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9227265 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-9227265 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9227265.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ea233b5 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-ea233b5 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon1,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-ea233b5 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-ea233b5 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-ea233b5 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ea233b5 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ea233b5 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-ea233b5:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-ea233b5:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-ea233b5:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-ea233b5,
    .elementor-39 .elementor-element.elementor-element-ea233b5.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ea233b5 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-ea233b5 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ea233b5.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-746a1bf */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ac443a *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-9ac443a .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-9ac443a .icon1,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-9ac443a > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-9ac443a .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-9ac443a .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9ac443a .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9ac443a .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-9ac443a .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-9ac443a .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-9ac443a:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-9ac443a:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-9ac443a:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-9ac443a,
    .elementor-39 .elementor-element.elementor-element-9ac443a.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9ac443a .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-9ac443a .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9ac443a.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5944764 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-5944764.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-5944764 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-5944764 .icon1,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-5944764 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-5944764 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-5944764 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5944764 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5944764 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-5944764 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-5944764 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-5944764:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-5944764:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-5944764:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-5944764,
    .elementor-39 .elementor-element.elementor-element-5944764.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5944764 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-5944764 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5944764.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5cd087e *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-5cd087e .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-5cd087e .icon1,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-5cd087e > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-5cd087e .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-5cd087e .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5cd087e .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5cd087e .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-5cd087e .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-5cd087e .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-5cd087e:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-5cd087e:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-5cd087e:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-5cd087e,
    .elementor-39 .elementor-element.elementor-element-5cd087e.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5cd087e .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-5cd087e .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5cd087e.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-97c138b */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-64829a4 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-64829a4.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-64829a4 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-64829a4 .icon1,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-64829a4 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-64829a4 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-64829a4 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-64829a4 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-64829a4 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-64829a4 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-64829a4 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-64829a4:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-64829a4:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-64829a4:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-64829a4,
    .elementor-39 .elementor-element.elementor-element-64829a4.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-64829a4 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-64829a4 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-64829a4.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-11ee1ed *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-11ee1ed .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon1,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-11ee1ed > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-11ee1ed .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-11ee1ed .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-11ee1ed .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-11ee1ed .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-11ee1ed:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-11ee1ed:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-11ee1ed:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-11ee1ed,
    .elementor-39 .elementor-element.elementor-element-11ee1ed.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-11ee1ed .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-11ee1ed .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bf9c513 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-bf9c513 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon1,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-bf9c513 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-bf9c513 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-bf9c513 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-bf9c513 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-bf9c513 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-bf9c513:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-bf9c513:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-bf9c513:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-bf9c513,
    .elementor-39 .elementor-element.elementor-element-bf9c513.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-bf9c513 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-bf9c513 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-bf9c513.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-68ac174 */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c14badc *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-c14badc.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-c14badc .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-c14badc .icon1,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-c14badc > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-c14badc .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-c14badc .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-c14badc .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-c14badc .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-c14badc .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-c14badc .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-c14badc:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-c14badc:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-c14badc:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-c14badc,
    .elementor-39 .elementor-element.elementor-element-c14badc.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-c14badc .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-c14badc .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-c14badc.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ecb70c0 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon1,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-ecb70c0 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ecb70c0 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ecb70c0 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-ecb70c0:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-ecb70c0:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-ecb70c0:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-ecb70c0,
    .elementor-39 .elementor-element.elementor-element-ecb70c0.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ecb70c0 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-ecb70c0 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dfdd20a *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-dfdd20a .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon1,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-dfdd20a > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-dfdd20a .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-dfdd20a .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-dfdd20a .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-dfdd20a .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-dfdd20a:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-dfdd20a:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-dfdd20a:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-dfdd20a,
    .elementor-39 .elementor-element.elementor-element-dfdd20a.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-dfdd20a .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-dfdd20a .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-8e5de05 */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b335ad *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-2b335ad .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-2b335ad .icon1,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-2b335ad > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-2b335ad .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-2b335ad .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-2b335ad .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-2b335ad .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-2b335ad .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-2b335ad .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-2b335ad:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-2b335ad:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-2b335ad:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-2b335ad,
    .elementor-39 .elementor-element.elementor-element-2b335ad.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-2b335ad .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-2b335ad .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-2b335ad.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6b54da3 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-6b54da3 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon1,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-6b54da3 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-6b54da3 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-6b54da3 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-6b54da3 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-6b54da3 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-6b54da3:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-6b54da3:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-6b54da3:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-6b54da3,
    .elementor-39 .elementor-element.elementor-element-6b54da3.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-6b54da3 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-6b54da3 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-6b54da3.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d089672 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-d089672.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-d089672 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-d089672 .icon1,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-d089672 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-d089672 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-d089672 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-d089672 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-d089672 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-d089672 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-d089672 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-d089672:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-d089672:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-d089672:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-d089672,
    .elementor-39 .elementor-element.elementor-element-d089672.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-d089672 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-d089672 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-d089672.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-13e1ecb */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-eed2ff4 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon1,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-eed2ff4 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-eed2ff4 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-eed2ff4 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-eed2ff4:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-eed2ff4:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-eed2ff4:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-eed2ff4,
    .elementor-39 .elementor-element.elementor-element-eed2ff4.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-eed2ff4 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-eed2ff4 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-40975c0 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-40975c0.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-40975c0 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-40975c0 .icon1,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-40975c0 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-40975c0 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-40975c0 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-40975c0 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-40975c0 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-40975c0 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-40975c0 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-40975c0:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-40975c0:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-40975c0:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-40975c0,
    .elementor-39 .elementor-element.elementor-element-40975c0.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-40975c0 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-40975c0 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-40975c0.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9227265 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-9227265.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-9227265 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-9227265 .icon1,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-9227265 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-9227265 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-9227265 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9227265 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9227265 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-9227265 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-9227265 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-9227265:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-9227265:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-9227265:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-9227265,
    .elementor-39 .elementor-element.elementor-element-9227265.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9227265 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-9227265 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9227265.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ea233b5 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-ea233b5 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon1,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-ea233b5 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-ea233b5 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-ea233b5 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ea233b5 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ea233b5 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-ea233b5:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-ea233b5:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-ea233b5:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-ea233b5,
    .elementor-39 .elementor-element.elementor-element-ea233b5.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ea233b5 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-ea233b5 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ea233b5.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-746a1bf */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ac443a *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-9ac443a .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-9ac443a .icon1,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-9ac443a > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-9ac443a .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-9ac443a .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9ac443a .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9ac443a .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-9ac443a .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-9ac443a .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-9ac443a:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-9ac443a:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-9ac443a:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-9ac443a,
    .elementor-39 .elementor-element.elementor-element-9ac443a.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9ac443a .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-9ac443a .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9ac443a.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5944764 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-5944764.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-5944764 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-5944764 .icon1,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-5944764 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-5944764 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-5944764 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5944764 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5944764 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-5944764 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-5944764 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-5944764:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-5944764:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-5944764:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-5944764,
    .elementor-39 .elementor-element.elementor-element-5944764.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5944764 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-5944764 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5944764.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5cd087e *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-5cd087e .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-5cd087e .icon1,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-5cd087e > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-5cd087e .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-5cd087e .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5cd087e .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5cd087e .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-5cd087e .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-5cd087e .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-5cd087e:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-5cd087e:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-5cd087e:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-5cd087e,
    .elementor-39 .elementor-element.elementor-element-5cd087e.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5cd087e .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-5cd087e .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5cd087e.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-97c138b */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-64829a4 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-64829a4.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-64829a4 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-64829a4 .icon1,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-64829a4 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-64829a4 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-64829a4 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-64829a4 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-64829a4 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-64829a4 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-64829a4 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-64829a4:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-64829a4:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-64829a4:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-64829a4,
    .elementor-39 .elementor-element.elementor-element-64829a4.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-64829a4 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-64829a4 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-64829a4.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-11ee1ed *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-11ee1ed .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon1,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-11ee1ed > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-11ee1ed .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-11ee1ed .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-11ee1ed .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-11ee1ed .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-11ee1ed:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-11ee1ed:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-11ee1ed:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-11ee1ed,
    .elementor-39 .elementor-element.elementor-element-11ee1ed.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-11ee1ed .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-11ee1ed .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bf9c513 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-bf9c513 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon1,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-bf9c513 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-bf9c513 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-bf9c513 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-bf9c513 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-bf9c513 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-bf9c513:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-bf9c513:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-bf9c513:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-bf9c513,
    .elementor-39 .elementor-element.elementor-element-bf9c513.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-bf9c513 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-bf9c513 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-bf9c513.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-68ac174 */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c14badc *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-c14badc.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-c14badc .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-c14badc .icon1,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-c14badc > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-c14badc .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-c14badc .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-c14badc .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-c14badc .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-c14badc .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-c14badc .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-c14badc:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-c14badc:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-c14badc:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-c14badc,
    .elementor-39 .elementor-element.elementor-element-c14badc.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-c14badc .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-c14badc .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-c14badc.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ecb70c0 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon1,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-ecb70c0 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ecb70c0 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ecb70c0 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-ecb70c0:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-ecb70c0:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-ecb70c0:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-ecb70c0,
    .elementor-39 .elementor-element.elementor-element-ecb70c0.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ecb70c0 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-ecb70c0 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dfdd20a *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-dfdd20a .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon1,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-dfdd20a > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-dfdd20a .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-dfdd20a .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-dfdd20a .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-dfdd20a .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-dfdd20a:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-dfdd20a:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-dfdd20a:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-dfdd20a,
    .elementor-39 .elementor-element.elementor-element-dfdd20a.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-dfdd20a .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-dfdd20a .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-8e5de05 */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b335ad *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-2b335ad .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-2b335ad .icon1,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-2b335ad > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-2b335ad .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-2b335ad .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-2b335ad .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-2b335ad .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-2b335ad .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-2b335ad .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-2b335ad:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-2b335ad:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-2b335ad:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-2b335ad,
    .elementor-39 .elementor-element.elementor-element-2b335ad.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-2b335ad .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-2b335ad .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-2b335ad.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6b54da3 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-6b54da3 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon1,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-6b54da3 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-6b54da3 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-6b54da3 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-6b54da3 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-6b54da3 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-6b54da3:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-6b54da3:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-6b54da3:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-6b54da3,
    .elementor-39 .elementor-element.elementor-element-6b54da3.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-6b54da3 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-6b54da3 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-6b54da3.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d089672 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-d089672.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-d089672 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-d089672 .icon1,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-d089672 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-d089672 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-d089672 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-d089672 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-d089672 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-d089672 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-d089672 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-d089672:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-d089672:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-d089672:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-d089672,
    .elementor-39 .elementor-element.elementor-element-d089672.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-d089672 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-d089672 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-d089672.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-13e1ecb */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-eed2ff4 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon1,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-eed2ff4 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-eed2ff4 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-eed2ff4 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-eed2ff4:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-eed2ff4:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-eed2ff4 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-eed2ff4:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-eed2ff4,
    .elementor-39 .elementor-element.elementor-element-eed2ff4.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-eed2ff4 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-eed2ff4 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-eed2ff4.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-40975c0 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-40975c0.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-40975c0 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-40975c0 .icon1,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-40975c0 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-40975c0 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-40975c0 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-40975c0 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-40975c0 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-40975c0.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-40975c0 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-40975c0 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-40975c0:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-40975c0:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-40975c0 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-40975c0:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-40975c0.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-40975c0,
    .elementor-39 .elementor-element.elementor-element-40975c0.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-40975c0 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-40975c0 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-40975c0.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9227265 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-9227265.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-9227265 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-9227265 .icon1,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-9227265 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-9227265 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-9227265 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9227265 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9227265 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-9227265.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-9227265 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-9227265 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-9227265:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-9227265:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-9227265 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-9227265:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9227265.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-9227265,
    .elementor-39 .elementor-element.elementor-element-9227265.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9227265 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-9227265 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9227265.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ea233b5 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-ea233b5 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon1,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-ea233b5 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-ea233b5 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-ea233b5 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ea233b5 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ea233b5 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-ea233b5:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-ea233b5:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-ea233b5 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-ea233b5:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ea233b5.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-ea233b5,
    .elementor-39 .elementor-element.elementor-element-ea233b5.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ea233b5 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-ea233b5 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ea233b5.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-746a1bf */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ac443a *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-9ac443a .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-9ac443a .icon1,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-9ac443a > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-9ac443a .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-9ac443a .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9ac443a .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-9ac443a .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-9ac443a .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-9ac443a .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-9ac443a:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-9ac443a:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-9ac443a .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-9ac443a:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-9ac443a.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-9ac443a,
    .elementor-39 .elementor-element.elementor-element-9ac443a.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9ac443a .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-9ac443a .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-9ac443a.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5944764 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-5944764.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-5944764 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-5944764 .icon1,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-5944764 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-5944764 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-5944764 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5944764 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5944764 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-5944764.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-5944764 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-5944764 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-5944764:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-5944764:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-5944764 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-5944764:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5944764.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-5944764,
    .elementor-39 .elementor-element.elementor-element-5944764.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5944764 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-5944764 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5944764.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5cd087e *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-5cd087e .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-5cd087e .icon1,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-5cd087e > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-5cd087e .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-5cd087e .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5cd087e .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-5cd087e .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-5cd087e .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-5cd087e .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-5cd087e:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-5cd087e:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-5cd087e .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-5cd087e:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-5cd087e.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-5cd087e,
    .elementor-39 .elementor-element.elementor-element-5cd087e.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5cd087e .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-5cd087e .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-5cd087e.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-97c138b */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-64829a4 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-64829a4.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-64829a4 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-64829a4 .icon1,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-64829a4 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-64829a4 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-64829a4 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-64829a4 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-64829a4 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-64829a4.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-64829a4 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-64829a4 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-64829a4:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-64829a4:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-64829a4 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-64829a4:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-64829a4.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-64829a4,
    .elementor-39 .elementor-element.elementor-element-64829a4.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-64829a4 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-64829a4 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-64829a4.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-11ee1ed *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-11ee1ed .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon1,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-11ee1ed > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-11ee1ed .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-11ee1ed .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-11ee1ed .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-11ee1ed .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-11ee1ed:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-11ee1ed:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-11ee1ed .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-11ee1ed:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-11ee1ed,
    .elementor-39 .elementor-element.elementor-element-11ee1ed.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-11ee1ed .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-11ee1ed .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-11ee1ed.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bf9c513 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-bf9c513 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon1,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-bf9c513 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-bf9c513 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-bf9c513 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-bf9c513 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-bf9c513 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-bf9c513:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-bf9c513:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-bf9c513 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-bf9c513:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-bf9c513.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-bf9c513,
    .elementor-39 .elementor-element.elementor-element-bf9c513.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-bf9c513 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-bf9c513 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-bf9c513.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-68ac174 */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c14badc *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-c14badc.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-c14badc .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-c14badc .icon1,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-c14badc > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-c14badc .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-c14badc .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-c14badc .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-c14badc .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-c14badc.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-c14badc .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-c14badc .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-c14badc:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-c14badc:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-c14badc .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-c14badc:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-c14badc.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-c14badc,
    .elementor-39 .elementor-element.elementor-element-c14badc.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-c14badc .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-c14badc .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-c14badc.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ecb70c0 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon1,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-ecb70c0 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ecb70c0 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-ecb70c0 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-ecb70c0:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-ecb70c0:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-ecb70c0 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-ecb70c0:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-ecb70c0,
    .elementor-39 .elementor-element.elementor-element-ecb70c0.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ecb70c0 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-ecb70c0 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-ecb70c0.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dfdd20a *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-dfdd20a .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon1,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-dfdd20a > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-dfdd20a .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-dfdd20a .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-dfdd20a .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-dfdd20a .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-dfdd20a:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-dfdd20a:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-dfdd20a .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-dfdd20a:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-dfdd20a,
    .elementor-39 .elementor-element.elementor-element-dfdd20a.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-dfdd20a .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-dfdd20a .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-dfdd20a.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-8e5de05 */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b335ad *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-2b335ad .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-2b335ad .icon1,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-2b335ad > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-2b335ad .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-2b335ad .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-2b335ad .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-2b335ad .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-2b335ad .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-2b335ad .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-2b335ad:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-2b335ad:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-2b335ad .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-2b335ad:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-2b335ad.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-2b335ad,
    .elementor-39 .elementor-element.elementor-element-2b335ad.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-2b335ad .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-2b335ad .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-2b335ad.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6b54da3 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-6b54da3 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon1,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-6b54da3 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-6b54da3 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-6b54da3 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-6b54da3 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-6b54da3 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-6b54da3:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-6b54da3:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-6b54da3 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-6b54da3:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-6b54da3.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-6b54da3,
    .elementor-39 .elementor-element.elementor-element-6b54da3.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-6b54da3 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-6b54da3 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-6b54da3.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d089672 *//* ==============================
   MAIN BOX
   Paste in .box Custom CSS
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 {
    overflow: hidden !important;

    /* Same radius when open and closed */
    border-radius: 50px !important;

    /* Remove extra space around the closed item */
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    gap: 0 !important;

    cursor: pointer;

    transition: none;
}

/* Keep the same radius when opened */
.elementor-39 .elementor-element.elementor-element-d089672.is-open {
    border-radius: 50px !important;
    padding-bottom: 0 !important;
}

/* ==============================
   HEADER / INNER CONTAINER
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 .innerbox {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;

    margin: 0 !important;

    /* Control the visible closed-state spacing here */
    padding-top: 16px !important;
    padding-right: 0px !important;
    padding-bottom: 10px !important;
    padding-left: 10px !important;

    gap: 5px;
}

/* Keep the title width stable when opening */
.elementor-39 .elementor-element.elementor-element-d089672 .title {
    flex: 1 1 auto;
    min-width: 0;
}

/* Keep both icons at their original width */
.elementor-39 .elementor-element.elementor-element-d089672 .icon1,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 {
    flex: 0 0 auto;
}

/* Remove Elementor container gaps */
.elementor-39 .elementor-element.elementor-element-d089672 > .e-con-inner,
.elementor-39 .elementor-element.elementor-element-d089672 .innerbox > .e-con-inner {
    gap: 0 !important;
}

/* ==============================
   OPEN / CLOSE ICON
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 .icon2 {
    margin-left: auto !important;
    cursor: pointer;

    transform: rotate(0deg);
    transform-origin: center center;

    transition: transform 0.4s cubic-bezier(.22, 1, .36, 1);
}

/*
Do not rotate the nested Elementor elements.
Only .icon2 itself should rotate once.
*/
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 > .elementor-widget-container,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon-wrapper,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon {
    transform: none !important;
}

/* Rotate the + into an X */
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon2 {
    transform: rotate(45deg) !important;
}

/* ==============================
   TEXT — CLOSED
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672 .text {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;

    overflow: hidden !important;

    opacity: 0;
    visibility: hidden;

    margin: 0 !important;
    padding: 0 24px 0 24px !important;

    transform: translateY(-6px);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.25s ease,
        transform 0.4s ease,
        visibility 0s linear 0.45s,
        padding 0.4s ease;
}

/* Remove internal Elementor spacing */
.elementor-39 .elementor-element.elementor-element-d089672 .text .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-d089672 .text p {
    margin-top: 0 !important;
}

.elementor-39 .elementor-element.elementor-element-d089672 .text p:last-child {
    margin-bottom: 0 !important;
}

/* ==============================
   TEXT — OPEN
   ============================== */

.elementor-39 .elementor-element.elementor-element-d089672.is-open .text {
    height: auto !important;
    max-height: 300px !important;

    opacity: 1;
    visibility: visible;

    padding: 0px 0px 16px 14px !important;

    transform: translateY(0);

    transition:
        max-height 0.45s cubic-bezier(.22, 1, .36, 1),
        opacity 0.3s ease 0.08s,
        transform 0.4s ease,
        visibility 0s linear 0s,
        padding 0.4s ease;
}

/* ==============================
   ICON1 — FILLED BLACK BOX
   ============================== */

/* Default: black background, white SVG */
.elementor-39 .elementor-element.elementor-element-d089672 .icon1 .elementor-icon {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/*
Use a filter instead of changing SVG fill/stroke.
This preserves the original SVG structure.
*/
.elementor-39 .elementor-element.elementor-element-d089672 .icon1 .elementor-icon svg {
    filter: none;
    transition: filter 0.3s ease;
}

/* Hover/open: white background, black SVG */
.elementor-39 .elementor-element.elementor-element-d089672:hover .icon1 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon1 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
}

/* Change the white SVG to black */
.elementor-39 .elementor-element.elementor-element-d089672:hover .icon1 .elementor-icon svg,
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon1 .elementor-icon svg {
    filter: brightness(0) saturate(100%) !important;
}


/* ==============================
   ICON2 — OUTLINED BOX
   ============================== */

/* Default: transparent box with black stroke */
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}

/*
Only control the stroke.
Do not force a fill, so the + icon remains outlined.
*/
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg {
    color: inherit !important;
}

.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg path,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg line,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg polyline,
.elementor-39 .elementor-element.elementor-element-d089672 .icon2 .elementor-icon svg circle {
    stroke: currentColor !important;
}

/* Hover/open: white box with black icon */
.elementor-39 .elementor-element.elementor-element-d089672:hover .icon2 .elementor-icon,
.elementor-39 .elementor-element.elementor-element-d089672.is-open .icon2 .elementor-icon {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

/* ==============================
   MOBILE
   ============================== */

@media (max-width: 767px) {
    .elementor-39 .elementor-element.elementor-element-d089672,
    .elementor-39 .elementor-element.elementor-element-d089672.is-open {
        border-radius: 40px !important;
    }

    .elementor-39 .elementor-element.elementor-element-d089672 .innerbox {
        padding: 2px 0px px 0px !important;
        gap: 6px;
    }

    .elementor-39 .elementor-element.elementor-element-d089672 .text {
        padding-left: 20px !important;
        padding-right: 14px !important;
    }

    .elementor-39 .elementor-element.elementor-element-d089672.is-open .text {
        padding: 4px 14px 16px 34px !important;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-08d9293 */.hero-heading {
  margin: 0;
}

/* First line uses Playfair Display Medium Italic */
.line-1 {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(44px, 4.5vw, 96px); /* increased max size */
  line-height: 1.1;
  color: #fff;
}

/* Gradient only for "SEO" */
.seo-gradient {
  background: linear-gradient(90deg, #FF4968 0%, #FF6722 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

/* Second line inherits site font */
.line-2 {
  display: block;
  font-family: inherit;
  font-size: clamp(44px, 4.5vw, 96px); /* same scaling */
  line-height: 1.1;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-e021e13 */.elementor-39 .elementor-element.elementor-element-e021e13 .elementor-button {
    background: #000000;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: color 0.3s ease;
}
.elementor-39 .elementor-element.elementor-element-e021e13 .elementor-button .elementor-button-text {
    color: #ffffff;
}
.elementor-39 .elementor-element.elementor-element-e021e13 .elementor-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ffffff;
    border-radius: 8px;
    z-index: -1;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.3s ease;
}
.elementor-39 .elementor-element.elementor-element-e021e13 .elementor-button:hover::before {
    transform: scaleX(1);
}
.elementor-39 .elementor-element.elementor-element-e021e13 .elementor-button:hover .elementor-button-text {
    color: #000000;
}
.elementor-39 .elementor-element.elementor-element-e021e13 .elementor-button-icon {
    background: #ffffff;
    border-radius: 8px;
    padding: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 20px;
    position: relative;
    z-index: 2;
    transition: background 0.3s ease;
}
.elementor-39 .elementor-element.elementor-element-e021e13 .elementor-button-icon svg,
.elementor-39 .elementor-element.elementor-element-e021e13 .elementor-button-icon i {
    color: #ffffff;
    fill: #000000;
    transition: color 0.3s ease, fill 0.3s ease;
}
.elementor-39 .elementor-element.elementor-element-e021e13 .elementor-button:hover .elementor-button-icon {
    background: #000000;
}
.elementor-39 .elementor-element.elementor-element-e021e13 .elementor-button:hover .elementor-button-icon svg,
.elementor-39 .elementor-element.elementor-element-e021e13 .elementor-button:hover .elementor-button-icon i {
    color: #ffffff;
    fill: #ffffff;
}
.elementor-39 .elementor-element.elementor-element-e021e13 .elementor-button-content-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-43505d5 */.elementor-39 .elementor-element.elementor-element-43505d5 .elementor-button {
    background: #ffffff;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: color 0.3s ease;
}
.elementor-39 .elementor-element.elementor-element-43505d5 .elementor-button .elementor-button-text {
    color: #000000;
}
.elementor-39 .elementor-element.elementor-element-43505d5 .elementor-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000000;
    border-radius: 8px;
    z-index: -1;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.3s ease;
}
.elementor-39 .elementor-element.elementor-element-43505d5 .elementor-button:hover::before {
    transform: scaleX(1);
}
.elementor-39 .elementor-element.elementor-element-43505d5 .elementor-button:hover .elementor-button-text {
    color: #ffffff;
}
.elementor-39 .elementor-element.elementor-element-43505d5 .elementor-button-icon {
    background-color: #1E1E1E;
    border-radius: 8px;
    padding: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 20px;
    position: relative;
    z-index: 2;
    transition: background-color 0.3s ease;
}
.elementor-39 .elementor-element.elementor-element-43505d5 .elementor-button-icon svg,
.elementor-39 .elementor-element.elementor-element-43505d5 .elementor-button-icon i {
    color: #ffffff;
    fill: #ffffff;
    transition: color 0.3s ease, fill 0.3s ease;
}
.elementor-39 .elementor-element.elementor-element-43505d5 .elementor-button:hover .elementor-button-icon {
    background-color: #ffffff;
}
.elementor-39 .elementor-element.elementor-element-43505d5 .elementor-button:hover .elementor-button-icon svg,
.elementor-39 .elementor-element.elementor-element-43505d5 .elementor-button:hover .elementor-button-icon i {
    color: #000000;
    fill: #000000;
}
.elementor-39 .elementor-element.elementor-element-43505d5 .elementor-button-content-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-c1c2b3e *//* Custom arrow using the field wrap as anchor */
.elementor-field-type-select .elementor-field-wrap {
    position: relative;
}

.elementor-field-type-select .elementor-field-wrap::after {
    content: "";
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    pointer-events: none;
    opacity: 0.75;
}

/* Label offset fix */
.elementor-field-group.elementor-field-type-select label {
    padding-top: 10px;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Gonya';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://back2rank.com/wp-content/uploads/2026/07/Gonya-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Gonya';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://back2rank.com/wp-content/uploads/2026/07/Gonya-Medium.ttf') format('truetype');
}
@font-face {
	font-family: 'Gonya';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://back2rank.com/wp-content/uploads/2026/07/Gonya-SemiBold.ttf') format('truetype');
}
@font-face {
	font-family: 'Gonya';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://back2rank.com/wp-content/uploads/2026/07/Gonya-Bold.ttf') format('truetype');
}
@font-face {
	font-family: 'Gonya';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://back2rank.com/wp-content/uploads/2026/07/Blumir-Light-1.ttf') format('truetype');
}
@font-face {
	font-family: 'Gonya';
	font-style: normal;
	font-weight: 200;
	font-display: auto;
	src: url('https://back2rank.com/wp-content/uploads/2026/07/Blumir-Thin.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Blumir';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://back2rank.com/wp-content/uploads/2026/07/Blumir-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Blumir';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://back2rank.com/wp-content/uploads/2026/07/Blumir-Medium.ttf') format('truetype');
}
@font-face {
	font-family: 'Blumir';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://back2rank.com/wp-content/uploads/2026/07/Blumir-SemiBold.ttf') format('truetype');
}
@font-face {
	font-family: 'Blumir';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://back2rank.com/wp-content/uploads/2026/07/Blumir-Bold.ttf') format('truetype');
}
@font-face {
	font-family: 'Blumir';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://back2rank.com/wp-content/uploads/2026/07/Blumir-Light-1.ttf') format('truetype');
}
@font-face {
	font-family: 'Blumir';
	font-style: normal;
	font-weight: 200;
	font-display: auto;
	src: url('https://back2rank.com/wp-content/uploads/2026/07/Blumir-Thin.ttf') format('truetype');
}
/* End Custom Fonts CSS */