.elementor-12680 .elementor-element.elementor-element-4b12739{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--overlay-opacity:0.5;--border-radius:-5px -5px -5px -5px;--margin-top:0px;--margin-bottom:-12px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:41px;--padding-left:56px;--padding-right:56px;}.elementor-12680 .elementor-element.elementor-element-4b12739:not(.elementor-motion-effects-element-type-background), .elementor-12680 .elementor-element.elementor-element-4b12739 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;background-image:url("https://maikebalitour.com/wp-content/uploads/2026/10/Serene-Balinese-Temple-by-the-Lake.png");background-position:center center;background-size:cover;}.elementor-12680 .elementor-element.elementor-element-4b12739::before, .elementor-12680 .elementor-element.elementor-element-4b12739 > .elementor-background-video-container::before, .elementor-12680 .elementor-element.elementor-element-4b12739 > .e-con-inner > .elementor-background-video-container::before, .elementor-12680 .elementor-element.elementor-element-4b12739 > .elementor-background-slideshow::before, .elementor-12680 .elementor-element.elementor-element-4b12739 > .e-con-inner > .elementor-background-slideshow::before, .elementor-12680 .elementor-element.elementor-element-4b12739 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';background-color:#000000;}.elementor-12680 .elementor-element.elementor-element-c8922a8{--display:flex;--min-height:0px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12680 .elementor-element.elementor-element-c8922a8.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-12680 .elementor-element.elementor-element-43ea703{--display:flex;--min-height:0px;--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;--margin-top:90px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:2px;--padding-left:25px;--padding-right:0px;}.elementor-12680 .elementor-element.elementor-element-bfe8ec4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.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-12680 .elementor-element.elementor-element-5c302f2 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:13px;font-weight:500;line-height:1.08em;color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-c0fcfc0 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:55px;font-weight:500;line-height:1.08em;color:#FFFFFF;}.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-12680 .elementor-element.elementor-element-cb8703b{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;line-height:1.65em;color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-0e4542c{--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;--gap:12px 12px;--row-gap:12px;--column-gap:12px;}.elementor-widget-button .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );background-color:var( --e-global-color-accent );}.elementor-12680 .elementor-element.elementor-element-667e98e .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-12680 .elementor-element.elementor-element-667e98e .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-12680 .elementor-element.elementor-element-667e98e .elementor-button{font-family:"DM Sans", Sans-serif;font-size:14px;font-weight:700;fill:#FFFFFF;color:#FFFFFF;background-color:#009CE700;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-9353ecb );}.elementor-12680 .elementor-element.elementor-element-e11da54 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-12680 .elementor-element.elementor-element-e11da54 .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-12680 .elementor-element.elementor-element-e11da54 .elementor-button{font-family:"DM Sans", Sans-serif;font-size:14px;font-weight:700;background-color:#61CE7000;}.elementor-12680 .elementor-element.elementor-element-041894e{--display:flex;--min-height:643px;--margin-top:10px;--margin-bottom:0px;--margin-left:71px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--position:fixed;top:0px;}.elementor-12680 .elementor-element.elementor-element-041894e.e-con{--flex-grow:0;--flex-shrink:0;}body:not(.rtl) .elementor-12680 .elementor-element.elementor-element-041894e{left:0px;}body.rtl .elementor-12680 .elementor-element.elementor-element-041894e{right:0px;}.elementor-12680 .elementor-element.elementor-element-757685f{--display:flex;--overlay-opacity:0.5;--margin-top:13px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-12680 .elementor-element.elementor-element-757685f:not(.elementor-motion-effects-element-type-background), .elementor-12680 .elementor-element.elementor-element-757685f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;background-image:url("https://maikebalitour.com/wp-content/uploads/2026/08/lempuyang-temple.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-12680 .elementor-element.elementor-element-757685f::before, .elementor-12680 .elementor-element.elementor-element-757685f > .elementor-background-video-container::before, .elementor-12680 .elementor-element.elementor-element-757685f > .e-con-inner > .elementor-background-video-container::before, .elementor-12680 .elementor-element.elementor-element-757685f > .elementor-background-slideshow::before, .elementor-12680 .elementor-element.elementor-element-757685f > .e-con-inner > .elementor-background-slideshow::before, .elementor-12680 .elementor-element.elementor-element-757685f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';background-color:#A5616100;}.elementor-12680 .elementor-element.elementor-element-757685f.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-12680 .elementor-element.elementor-element-eda7253{--display:flex;border-style:none;--border-style:none;--margin-top:18px;--margin-bottom:0px;--margin-left:62px;--margin-right:168px;}.elementor-12680 .elementor-element.elementor-element-eda7253:not(.elementor-motion-effects-element-type-background), .elementor-12680 .elementor-element.elementor-element-eda7253 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://maikebalitour.com/wp-content/uploads/2026/08/ulun-petanu-waterfall-1.jpeg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-12680 .elementor-element.elementor-element-7a350c3{--display:flex;--margin-top:0px;--margin-bottom:88px;--margin-left:0px;--margin-right:0px;}.elementor-12680 .elementor-element.elementor-element-7a350c3:not(.elementor-motion-effects-element-type-background), .elementor-12680 .elementor-element.elementor-element-7a350c3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://maikebalitour.com/wp-content/uploads/2026/09/photo-1554481923-a6918bd997bc-scaled-2.avif");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-12680 .elementor-element.elementor-element-04231d9{--display:flex;--margin-top:0px;--margin-bottom:68px;--margin-left:9px;--margin-right:40px;}.elementor-12680 .elementor-element.elementor-element-04231d9:not(.elementor-motion-effects-element-type-background), .elementor-12680 .elementor-element.elementor-element-04231d9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0B2436AD;}.elementor-12680 .elementor-element.elementor-element-04231d9.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-12680 .elementor-element.elementor-element-707e8e3{--display:flex;}.elementor-12680 .elementor-element.elementor-element-bed1e12{text-align:start;}.elementor-12680 .elementor-element.elementor-element-bed1e12 .elementor-heading-title{font-family:"El Messiri", Sans-serif;font-size:1px;font-weight:600;color:#1C1C1C;}.elementor-12680 .elementor-element.elementor-element-3185f2e{--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;--margin-top:-11px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12680 .elementor-element.elementor-element-1711038{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-12680 .elementor-element.elementor-element-1711038.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-12680 .elementor-element.elementor-element-ec5ac54{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-12680 .elementor-element.elementor-element-99ffe78{--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;}.elementor-12680 .elementor-element.elementor-element-288256e{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-12680 .elementor-element.elementor-element-ee7a860 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-weight:600;}.elementor-12680 .elementor-element.elementor-element-38a8510 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:50px;font-weight:400;color:#000000;}.elementor-12680 .elementor-element.elementor-element-38f4509{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#000000;}.elementor-12680 .elementor-element.elementor-element-de0f6f5{--display:flex;}.elementor-12680 .elementor-element.elementor-element-8867645{--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-12680 .elementor-element.elementor-element-3bdf67e{--display:flex;--justify-content:center;}.elementor-12680 .elementor-element.elementor-element-f9d1ef8 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:50px;font-weight:500;color:#000000;}.elementor-12680 .elementor-element.elementor-element-ef331b4{--display:flex;--justify-content:center;}.elementor-12680 .elementor-element.elementor-element-1e2bacf{font-family:"DM Sans", Sans-serif;font-weight:400;color:#000000;}.elementor-12680 .elementor-element.elementor-element-3614809{--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-12680 .elementor-element.elementor-element-19fdaf6{--display:flex;}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );background-color:var( --e-global-color-accent );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-12680 .elementor-element.elementor-element-e02d938{--grid-columns:3;}.elementor-12680 .elementor-element.elementor-element-e02d938 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-12680 .elementor-element.elementor-element-e02d938 .e-loop-item > .elementor-section, .elementor-12680 .elementor-element.elementor-element-e02d938 .e-loop-item > .elementor-section > .elementor-container, .elementor-12680 .elementor-element.elementor-element-e02d938 .e-loop-item > .e-con, .elementor-12680 .elementor-element.elementor-element-e02d938 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-12680 .elementor-element.elementor-element-94b695d{--display:flex;--margin-top:0px;--margin-bottom:041px;--margin-left:0px;--margin-right:0px;}.elementor-12680 .elementor-element.elementor-element-4cf9921{--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-12680 .elementor-element.elementor-element-a68ee23{--display:flex;}.elementor-12680 .elementor-element.elementor-element-06f3d10 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:50px;font-weight:500;color:#000000;}.elementor-12680 .elementor-element.elementor-element-a55b339{--display:flex;}.elementor-12680 .elementor-element.elementor-element-027d882{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#000000;}.elementor-12680 .elementor-element.elementor-element-fa5ac09{--display:flex;}.elementor-12680 .elementor-element.elementor-element-e32eae8{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-12680 .elementor-element.elementor-element-b5b3f96 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:35px;font-weight:500;color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-e07b184{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#FFFFFF;width:var( --container-widget-width, 58.426% );max-width:58.426%;--container-widget-width:58.426%;--container-widget-flex-grow:0;}.elementor-12680 .elementor-element.elementor-element-e07b184.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-12680 .elementor-element.elementor-element-18fa51f .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-12680 .elementor-element.elementor-element-18fa51f .elementor-button{font-family:"DM Sans", Sans-serif;font-weight:500;fill:#FFFFFF;color:#FFFFFF;background-color:#009CE700;}.elementor-12680 .elementor-element.elementor-element-18fa51f .elementor-button:hover, .elementor-12680 .elementor-element.elementor-element-18fa51f .elementor-button:focus{color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-18fa51f .elementor-button:hover svg, .elementor-12680 .elementor-element.elementor-element-18fa51f .elementor-button:focus svg{fill:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-365fcda{--display:flex;--margin-top:-45px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .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 > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .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 > .elementor-widget-container > .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-12680 .elementor-element.elementor-element-a4b9607{--display:flex;}.elementor-12680 .elementor-element.elementor-element-0466d93{--grid-columns:3;}.elementor-12680 .elementor-element.elementor-element-0466d93 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-12680 .elementor-element.elementor-element-0466d93 .e-loop-item > .elementor-section, .elementor-12680 .elementor-element.elementor-element-0466d93 .e-loop-item > .elementor-section > .elementor-container, .elementor-12680 .elementor-element.elementor-element-0466d93 .e-loop-item > .e-con, .elementor-12680 .elementor-element.elementor-element-0466d93 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-12680 .elementor-element.elementor-element-20db82f{--display:flex;}.elementor-12680 .elementor-element.elementor-element-4260952{--grid-columns:3;}.elementor-12680 .elementor-element.elementor-element-4260952 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-12680 .elementor-element.elementor-element-4260952 .e-loop-item > .elementor-section, .elementor-12680 .elementor-element.elementor-element-4260952 .e-loop-item > .elementor-section > .elementor-container, .elementor-12680 .elementor-element.elementor-element-4260952 .e-loop-item > .e-con, .elementor-12680 .elementor-element.elementor-element-4260952 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-12680 .elementor-element.elementor-element-f160095{--display:flex;}.elementor-12680 .elementor-element.elementor-element-fd3022b{--grid-columns:3;}.elementor-12680 .elementor-element.elementor-element-fd3022b .elementor-loop-container{grid-auto-rows:1fr;}.elementor-12680 .elementor-element.elementor-element-fd3022b .e-loop-item > .elementor-section, .elementor-12680 .elementor-element.elementor-element-fd3022b .e-loop-item > .elementor-section > .elementor-container, .elementor-12680 .elementor-element.elementor-element-fd3022b .e-loop-item > .e-con, .elementor-12680 .elementor-element.elementor-element-fd3022b .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-12680 .elementor-element.elementor-element-0a139bf{--display:flex;}.elementor-12680 .elementor-element.elementor-element-069c6a0{--grid-columns:3;}.elementor-12680 .elementor-element.elementor-element-069c6a0 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-12680 .elementor-element.elementor-element-069c6a0 .e-loop-item > .elementor-section, .elementor-12680 .elementor-element.elementor-element-069c6a0 .e-loop-item > .elementor-section > .elementor-container, .elementor-12680 .elementor-element.elementor-element-069c6a0 .e-loop-item > .e-con, .elementor-12680 .elementor-element.elementor-element-069c6a0 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-12680 .elementor-element.elementor-element-3cf710a{--display:flex;}.elementor-12680 .elementor-element.elementor-element-66eb559{--grid-columns:3;}.elementor-12680 .elementor-element.elementor-element-66eb559 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-12680 .elementor-element.elementor-element-66eb559 .e-loop-item > .elementor-section, .elementor-12680 .elementor-element.elementor-element-66eb559 .e-loop-item > .elementor-section > .elementor-container, .elementor-12680 .elementor-element.elementor-element-66eb559 .e-loop-item > .e-con, .elementor-12680 .elementor-element.elementor-element-66eb559 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-12680 .elementor-element.elementor-element-b521b69{--display:flex;}.elementor-12680 .elementor-element.elementor-element-7af9761{--grid-columns:3;}.elementor-12680 .elementor-element.elementor-element-7af9761 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-12680 .elementor-element.elementor-element-7af9761 .e-loop-item > .elementor-section, .elementor-12680 .elementor-element.elementor-element-7af9761 .e-loop-item > .elementor-section > .elementor-container, .elementor-12680 .elementor-element.elementor-element-7af9761 .e-loop-item > .e-con, .elementor-12680 .elementor-element.elementor-element-7af9761 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-12680 .elementor-element.elementor-element-929e36b{--display:flex;}.elementor-12680 .elementor-element.elementor-element-f48b85d{--grid-columns:3;}.elementor-12680 .elementor-element.elementor-element-f48b85d .elementor-loop-container{grid-auto-rows:1fr;}.elementor-12680 .elementor-element.elementor-element-f48b85d .e-loop-item > .elementor-section, .elementor-12680 .elementor-element.elementor-element-f48b85d .e-loop-item > .elementor-section > .elementor-container, .elementor-12680 .elementor-element.elementor-element-f48b85d .e-loop-item > .e-con, .elementor-12680 .elementor-element.elementor-element-f48b85d .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-12680 .elementor-element.elementor-element-3161b29{--display:flex;}.elementor-12680 .elementor-element.elementor-element-3f2d0c7{--grid-columns:3;}.elementor-12680 .elementor-element.elementor-element-3f2d0c7 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-12680 .elementor-element.elementor-element-3f2d0c7 .e-loop-item > .elementor-section, .elementor-12680 .elementor-element.elementor-element-3f2d0c7 .e-loop-item > .elementor-section > .elementor-container, .elementor-12680 .elementor-element.elementor-element-3f2d0c7 .e-loop-item > .e-con, .elementor-12680 .elementor-element.elementor-element-3f2d0c7 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-12680 .elementor-element.elementor-element-accc461{--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;--n-tabs-title-color:#000000;--n-tabs-title-color-active:var( --e-global-color-9353ecb );}.elementor-12680 .elementor-element.elementor-element-accc461 > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:#02010100;}.elementor-12680 .elementor-element.elementor-element-accc461.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#61CE7000;}.elementor-12680 .elementor-element.elementor-element-accc461.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-12680 .elementor-element.elementor-element-accc461.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#61CE7000;}.elementor-12680 .elementor-element.elementor-element-accc461 [data-touch-mode="false"] .e-n-tab-title[aria-selected="false"]:hover{--n-tabs-title-color-hover:var( --e-global-color-9353ecb );}.elementor-12680 .elementor-element.elementor-element-accc461 > .elementor-widget-container{margin:40px 0px 0px 0px;}.elementor-12680 .elementor-element.elementor-element-0b70d49{--display:flex;--min-height:0px;--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;--border-radius:10px 10px 10px 10px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-12680 .elementor-element.elementor-element-880d66f{--display:flex;--min-height:350px;--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:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:50px 50px 50px 50px;box-shadow:0px 2px 5px 0px rgba(178, 34.00000000000002, 34.00000000000002, 0.34);--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12680 .elementor-element.elementor-element-435a3a5{--display:flex;--border-radius:50px 0px 0px 50px;}.elementor-12680 .elementor-element.elementor-element-435a3a5:not(.elementor-motion-effects-element-type-background), .elementor-12680 .elementor-element.elementor-element-435a3a5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://maikebalitour.com/wp-content/uploads/2025/03/Desa-Pinggan-Kintamani_mikevisua-e1741676347109.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-12680 .elementor-element.elementor-element-59b81f2{--display:flex;--justify-content:center;--border-radius:0px 50px 50px 0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-12680 .elementor-element.elementor-element-59b81f2:not(.elementor-motion-effects-element-type-background), .elementor-12680 .elementor-element.elementor-element-59b81f2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#009CE7;}.elementor-12680 .elementor-element.elementor-element-3b7c1e6 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:40px;font-weight:500;color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-3b7c1e6.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-12680 .elementor-element.elementor-element-af44be0{text-align:start;font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-af44be0 > .elementor-widget-container{margin:-10px 0px 0px 0px;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-12680 .elementor-element.elementor-element-576ac6d .elementor-icon-list-icon i{color:#FFFFFF;transition:color 0.3s;}.elementor-12680 .elementor-element.elementor-element-576ac6d .elementor-icon-list-icon svg{fill:#FFFFFF;transition:fill 0.3s;}.elementor-12680 .elementor-element.elementor-element-576ac6d{--e-icon-list-icon-size:19px;--icon-vertical-offset:0px;}.elementor-12680 .elementor-element.elementor-element-576ac6d .elementor-icon-list-item > .elementor-icon-list-text, .elementor-12680 .elementor-element.elementor-element-576ac6d .elementor-icon-list-item > a{font-family:"DM Sans", Sans-serif;font-size:15px;font-weight:400;}.elementor-12680 .elementor-element.elementor-element-576ac6d .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-12680 .elementor-element.elementor-element-bcde549 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-12680 .elementor-element.elementor-element-bcde549 .elementor-button{font-family:"DM Sans", Sans-serif;font-size:15px;font-weight:500;background-color:#009CE70A;border-style:solid;border-width:1px 1px 1px 1px;border-radius:10px 10px 10px 10px;padding:15px 15px 15px 15px;}.elementor-12680 .elementor-element.elementor-element-0dce1c5{--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-12680 .elementor-element.elementor-element-192ed06{--display:flex;--justify-content:center;}.elementor-12680 .elementor-element.elementor-element-2490a6b .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:50px;font-weight:500;}.elementor-12680 .elementor-element.elementor-element-b7ec411{--display:flex;--justify-content:center;}.elementor-12680 .elementor-element.elementor-element-24d8bf2{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#000000;}.elementor-12680 .elementor-element.elementor-element-41f7be1{--display:flex;--min-height:500px;--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-12680 .elementor-element.elementor-element-813ef92{--display:flex;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{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-12680 .elementor-element.elementor-element-34cb47c .elementor-icon-box-wrapper{gap:15px;}.elementor-12680 .elementor-element.elementor-element-34cb47c.elementor-view-stacked:has(:hover) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-34cb47c.elementor-view-stacked:has(:focus) .elementor-icon{background-color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-34cb47c.elementor-view-framed:has(:hover) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-34cb47c.elementor-view-default:has(:hover) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-34cb47c.elementor-view-framed:has(:focus) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-34cb47c.elementor-view-default:has(:focus) .elementor-icon{fill:#FFFFFF;color:#FFFFFF;border-color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-34cb47c .elementor-icon-box-title, .elementor-12680 .elementor-element.elementor-element-34cb47c .elementor-icon-box-title a{font-family:"DM Serif Display", Sans-serif;font-size:25px;font-weight:500;}.elementor-12680 .elementor-element.elementor-element-34cb47c .elementor-icon-box-description{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#000000;}.elementor-12680 .elementor-element.elementor-element-48efc7d .elementor-icon-box-wrapper{gap:15px;}.elementor-12680 .elementor-element.elementor-element-48efc7d.elementor-view-stacked:has(:hover) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-48efc7d.elementor-view-stacked:has(:focus) .elementor-icon{background-color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-48efc7d.elementor-view-framed:has(:hover) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-48efc7d.elementor-view-default:has(:hover) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-48efc7d.elementor-view-framed:has(:focus) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-48efc7d.elementor-view-default:has(:focus) .elementor-icon{fill:#FFFFFF;color:#FFFFFF;border-color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-48efc7d .elementor-icon-box-title, .elementor-12680 .elementor-element.elementor-element-48efc7d .elementor-icon-box-title a{font-family:"DM Serif Display", Sans-serif;font-weight:500;}.elementor-12680 .elementor-element.elementor-element-48efc7d .elementor-icon-box-description{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#000000;}.elementor-12680 .elementor-element.elementor-element-b081768 .elementor-icon-box-wrapper{gap:15px;}.elementor-12680 .elementor-element.elementor-element-b081768.elementor-view-stacked:has(:hover) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-b081768.elementor-view-stacked:has(:focus) .elementor-icon{background-color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-b081768.elementor-view-framed:has(:hover) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-b081768.elementor-view-default:has(:hover) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-b081768.elementor-view-framed:has(:focus) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-b081768.elementor-view-default:has(:focus) .elementor-icon{fill:#FFFFFF;color:#FFFFFF;border-color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-b081768 .elementor-icon-box-title, .elementor-12680 .elementor-element.elementor-element-b081768 .elementor-icon-box-title a{font-family:"DM Serif Display", Sans-serif;font-size:25px;font-weight:500;}.elementor-12680 .elementor-element.elementor-element-b081768 .elementor-icon-box-description{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#000000;}.elementor-12680 .elementor-element.elementor-element-2205280{--display:flex;}.elementor-12680 .elementor-element.elementor-element-2205280:not(.elementor-motion-effects-element-type-background), .elementor-12680 .elementor-element.elementor-element-2205280 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://maikebalitour.com/wp-content/uploads/2025/03/Rumah-bali.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-12680 .elementor-element.elementor-element-af5aefc{--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;}.elementor-12680 .elementor-element.elementor-element-6fcc115 .elementor-icon-box-wrapper{gap:15px;}.elementor-12680 .elementor-element.elementor-element-6fcc115.elementor-view-stacked:has(:hover) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-6fcc115.elementor-view-stacked:has(:focus) .elementor-icon{background-color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-6fcc115.elementor-view-framed:has(:hover) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-6fcc115.elementor-view-default:has(:hover) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-6fcc115.elementor-view-framed:has(:focus) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-6fcc115.elementor-view-default:has(:focus) .elementor-icon{fill:#FFFFFF;color:#FFFFFF;border-color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-6fcc115 .elementor-icon-box-title, .elementor-12680 .elementor-element.elementor-element-6fcc115 .elementor-icon-box-title a{font-family:"DM Serif Display", Sans-serif;font-size:25px;font-weight:500;}.elementor-12680 .elementor-element.elementor-element-6fcc115 .elementor-icon-box-description{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#000000;}.elementor-12680 .elementor-element.elementor-element-00475c6 .elementor-icon-box-wrapper{gap:15px;}.elementor-12680 .elementor-element.elementor-element-00475c6.elementor-view-stacked:has(:hover) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-00475c6.elementor-view-stacked:has(:focus) .elementor-icon{background-color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-00475c6.elementor-view-framed:has(:hover) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-00475c6.elementor-view-default:has(:hover) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-00475c6.elementor-view-framed:has(:focus) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-00475c6.elementor-view-default:has(:focus) .elementor-icon{fill:#FFFFFF;color:#FFFFFF;border-color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-00475c6 .elementor-icon-box-title, .elementor-12680 .elementor-element.elementor-element-00475c6 .elementor-icon-box-title a{font-family:"DM Serif Display", Sans-serif;font-size:25px;font-weight:500;}.elementor-12680 .elementor-element.elementor-element-00475c6 .elementor-icon-box-description{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#000000;}.elementor-12680 .elementor-element.elementor-element-e59b905 .elementor-icon-box-wrapper{gap:15px;}.elementor-12680 .elementor-element.elementor-element-e59b905.elementor-view-stacked:has(:hover) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-e59b905.elementor-view-stacked:has(:focus) .elementor-icon{background-color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-e59b905.elementor-view-framed:has(:hover) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-e59b905.elementor-view-default:has(:hover) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-e59b905.elementor-view-framed:has(:focus) .elementor-icon,
					 .elementor-12680 .elementor-element.elementor-element-e59b905.elementor-view-default:has(:focus) .elementor-icon{fill:#FFFFFF;color:#FFFFFF;border-color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-e59b905 .elementor-icon-box-title, .elementor-12680 .elementor-element.elementor-element-e59b905 .elementor-icon-box-title a{font-family:"DM Serif Display", Sans-serif;font-size:25px;font-weight:500;}.elementor-12680 .elementor-element.elementor-element-e59b905 .elementor-icon-box-description{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#000000;}.elementor-12680 .elementor-element.elementor-element-50123ba{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-12680 .elementor-element.elementor-element-8084fef{--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-12680 .elementor-element.elementor-element-ec03a07{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-12680 .elementor-element.elementor-element-bdfcb0a .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:50px;font-weight:500;color:#000000;}.elementor-12680 .elementor-element.elementor-element-bdfcb0a > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-12680 .elementor-element.elementor-element-03233f5{--display:flex;--justify-content:center;}.elementor-12680 .elementor-element.elementor-element-293f813{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#000000;}.elementor-12680 .elementor-element.elementor-element-57e0756{--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-12680 .elementor-element.elementor-element-6e05d6e{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-12680 .elementor-element.elementor-element-1094805 .elementor-heading-title{color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-53e4984{--e-rating-justify-content:center;--e-rating-icon-marked-color:#FFAA00;}.elementor-12680 .elementor-element.elementor-element-b403090 .elementor-heading-title{color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-6a8d656{font-family:"DM Sans", Sans-serif;font-weight:400;color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-7c56005{--display:flex;}.elementor-widget-reviews .elementor-testimonial__header, .elementor-widget-reviews .elementor-testimonial__name{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-reviews .elementor-testimonial__text{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-12680 .elementor-element.elementor-element-4210dab .elementor-testimonial__name{color:#000000;}.elementor-12680 .elementor-element.elementor-element-4210dab .elementor-testimonial__header, .elementor-12680 .elementor-element.elementor-element-4210dab .elementor-testimonial__name{font-family:"DM Serif Display", Sans-serif;font-size:16px;font-weight:500;}.elementor-12680 .elementor-element.elementor-element-4210dab .elementor-testimonial__title{color:#000000;}.elementor-12680 .elementor-element.elementor-element-4210dab .elementor-testimonial__text{color:#000000;font-family:"DM Sans", Sans-serif;font-size:15px;font-weight:400;}.elementor-12680 .elementor-element.elementor-element-4210dab .elementor-swiper-button{font-size:20px;}.elementor-12680 .elementor-element.elementor-element-c4b8642{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-12680 .elementor-element.elementor-element-c4b8642:not(.elementor-motion-effects-element-type-background), .elementor-12680 .elementor-element.elementor-element-c4b8642 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-59cdd44{--display:flex;}.elementor-widget-image .widget-image-caption{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-12680 .elementor-element.elementor-element-c8efb07 img{width:100%;}.elementor-12680 .elementor-element.elementor-element-c8efb07{width:var( --container-widget-width, 115.455% );max-width:115.455%;--container-widget-width:115.455%;--container-widget-flex-grow:0;}.elementor-12680 .elementor-element.elementor-element-c8efb07.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-12680 .elementor-element.elementor-element-962439e{--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;}.elementor-12680 .elementor-element.elementor-element-84ccb7c{text-align:start;}.elementor-12680 .elementor-element.elementor-element-84ccb7c .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:50px;font-weight:500;color:#020202;}.elementor-12680 .elementor-element.elementor-element-5e84c09{--display:flex;}.elementor-12680 .elementor-element.elementor-element-b0771ff .elementor-icon-list-item:hover .elementor-icon-list-icon i{color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-b0771ff .elementor-icon-list-item:hover .elementor-icon-list-icon svg{fill:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-b0771ff .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-12680 .elementor-element.elementor-element-b0771ff .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-12680 .elementor-element.elementor-element-b0771ff{--e-icon-list-icon-size:14px;--icon-vertical-align:flex-start;--icon-vertical-offset:0px;}.elementor-12680 .elementor-element.elementor-element-b0771ff .elementor-icon-list-item > .elementor-icon-list-text, .elementor-12680 .elementor-element.elementor-element-b0771ff .elementor-icon-list-item > a{font-family:"Plus Jakarta Sans", Sans-serif;font-weight:400;}.elementor-12680 .elementor-element.elementor-element-b0771ff .elementor-icon-list-text{color:#000000;transition:color 0.3s;}.elementor-12680 .elementor-element.elementor-element-8b68465{--display:flex;}.elementor-12680 .elementor-element.elementor-element-252b981{--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-12680 .elementor-element.elementor-element-ae5ae48{--display:flex;}.elementor-12680 .elementor-element.elementor-element-fa3c68a .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-size:50px;font-weight:500;color:#0D0D0D;}.elementor-12680 .elementor-element.elementor-element-fa3c68a > .elementor-widget-container{margin:-10px 0px 0px 0px;}.elementor-12680 .elementor-element.elementor-element-16fefde{--display:flex;}.elementor-12680 .elementor-element.elementor-element-c5fa3a4{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#000000;}.elementor-12680 .elementor-element.elementor-element-4d0e401{--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;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-widget-media-carousel .elementor-carousel-image-overlay{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-12680 .elementor-element.elementor-element-89b18e8 .elementor-main-swiper:not(.elementor-thumbnails-swiper){height:518px;}.elementor-12680 .elementor-element.elementor-element-89b18e8 .elementor-thumbnails-swiper .elementor-carousel-image{aspect-ratio:21 / 9;}.elementor-12680 .elementor-element.elementor-element-89b18e8.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:12px;}.elementor-12680 .elementor-element.elementor-element-89b18e8 .elementor-swiper-button{font-size:20px;}.elementor-12680 .elementor-element.elementor-element-89b18e8{width:var( --container-widget-width, 60% );max-width:60%;--container-widget-width:60%;--container-widget-flex-grow:0;}.elementor-12680 .elementor-element.elementor-element-89b18e8.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-widget-gallery .elementor-gallery-item__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-gallery .elementor-gallery-item__description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-gallery{--galleries-title-color-normal:var( --e-global-color-primary );--galleries-title-color-hover:var( --e-global-color-secondary );--galleries-pointer-bg-color-hover:var( --e-global-color-accent );--gallery-title-color-active:var( --e-global-color-secondary );--galleries-pointer-bg-color-active:var( --e-global-color-accent );}.elementor-widget-gallery .elementor-gallery-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-12680 .elementor-element.elementor-element-2cf78b4{--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-12680 .elementor-element.elementor-element-2cf78b4 .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-12680 .elementor-element.elementor-element-2cf78b4 .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-12680 .elementor-element.elementor-element-d8a952d .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-12680 .elementor-element.elementor-element-d8a952d .elementor-button{font-family:"Poppins", Sans-serif;font-size:15px;font-weight:500;fill:var( --e-global-color-9353ecb );color:var( --e-global-color-9353ecb );background-color:#009CE700;border-radius:10px 10px 10px 10px;padding:15px 15px 15px 15px;}.elementor-12680 .elementor-element.elementor-element-d8a952d .elementor-button:hover, .elementor-12680 .elementor-element.elementor-element-d8a952d .elementor-button:focus{color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-d8a952d .elementor-button:hover svg, .elementor-12680 .elementor-element.elementor-element-d8a952d .elementor-button:focus svg{fill:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-d8a952d.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-12680 .elementor-element.elementor-element-3e68c3a{--display:flex;}.elementor-12680 .elementor-element.elementor-element-2470451{--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-12680 .elementor-element.elementor-element-82fa95e{--display:flex;}.elementor-12680 .elementor-element.elementor-element-c94fc28 .elementor-heading-title{font-family:"DM Serif Display", Sans-serif;font-weight:500;color:#000000;}.elementor-12680 .elementor-element.elementor-element-b78a0ea{--display:flex;}.elementor-12680 .elementor-element.elementor-element-19c1f19{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;color:#000000;}.elementor-12680 .elementor-element.elementor-element-3a71bd7{--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-12680 .elementor-element.elementor-element-c6dd150{--display:flex;}.elementor-12680 .elementor-element.elementor-element-3cd2b98{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;}.elementor-12680 .elementor-element.elementor-element-d97a6ee .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-12680 .elementor-element.elementor-element-d97a6ee .elementor-button{font-family:"DM Sans", Sans-serif;font-weight:500;fill:#000000;color:#000000;background-color:#61CE7000;}.elementor-12680 .elementor-element.elementor-element-d97a6ee .elementor-button:hover, .elementor-12680 .elementor-element.elementor-element-d97a6ee .elementor-button:focus{color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-d97a6ee .elementor-button:hover svg, .elementor-12680 .elementor-element.elementor-element-d97a6ee .elementor-button:focus svg{fill:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-003c991{--display:flex;}.elementor-widget-accordion .elementor-accordion-icon, .elementor-widget-accordion .elementor-accordion-title{color:var( --e-global-color-primary );}.elementor-widget-accordion .elementor-accordion-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-accordion .elementor-active .elementor-accordion-icon, .elementor-widget-accordion .elementor-active .elementor-accordion-title{color:var( --e-global-color-accent );}.elementor-widget-accordion .elementor-active .elementor-accordion-icon svg{fill:var( --e-global-color-accent );}.elementor-widget-accordion .elementor-accordion-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-accordion .elementor-tab-content{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-12680 .elementor-element.elementor-element-1b0264c .elementor-accordion-icon, .elementor-12680 .elementor-element.elementor-element-1b0264c .elementor-accordion-title{color:#000000;}.elementor-12680 .elementor-element.elementor-element-1b0264c .elementor-accordion-icon svg{fill:#000000;}.elementor-12680 .elementor-element.elementor-element-1b0264c .elementor-active .elementor-accordion-icon, .elementor-12680 .elementor-element.elementor-element-1b0264c .elementor-active .elementor-accordion-title{color:var( --e-global-color-9353ecb );}.elementor-12680 .elementor-element.elementor-element-1b0264c .elementor-active .elementor-accordion-icon svg{fill:var( --e-global-color-9353ecb );}.elementor-12680 .elementor-element.elementor-element-1b0264c .elementor-accordion-title{font-family:"DM Sans", Sans-serif;font-weight:600;}.elementor-12680 .elementor-element.elementor-element-1b0264c .elementor-tab-title .elementor-accordion-icon i:before{color:var( --e-global-color-9353ecb );}.elementor-12680 .elementor-element.elementor-element-1b0264c .elementor-tab-title .elementor-accordion-icon svg{fill:var( --e-global-color-9353ecb );}.elementor-12680 .elementor-element.elementor-element-1b0264c .elementor-tab-title.elementor-active .elementor-accordion-icon i:before{color:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-1b0264c .elementor-tab-title.elementor-active .elementor-accordion-icon svg{fill:#FFFFFF;}.elementor-12680 .elementor-element.elementor-element-1b0264c .elementor-tab-content{color:#000000;font-family:"DM Sans", Sans-serif;font-size:15px;font-weight:400;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-12680 .elementor-element.elementor-element-4b12739{--width:100%;}.elementor-12680 .elementor-element.elementor-element-c8922a8{--width:100%;}.elementor-12680 .elementor-element.elementor-element-43ea703{--content-width:100%;}.elementor-12680 .elementor-element.elementor-element-041894e{--width:50%;}.elementor-12680 .elementor-element.elementor-element-757685f{--width:100%;}.elementor-12680 .elementor-element.elementor-element-04231d9{--width:42%;}.elementor-12680 .elementor-element.elementor-element-435a3a5{--width:40%;}.elementor-12680 .elementor-element.elementor-element-59b81f2{--width:60%;}}@media(min-width:1025px){.elementor-12680 .elementor-element.elementor-element-4b12739:not(.elementor-motion-effects-element-type-background), .elementor-12680 .elementor-element.elementor-element-4b12739 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}.elementor-12680 .elementor-element.elementor-element-2205280:not(.elementor-motion-effects-element-type-background), .elementor-12680 .elementor-element.elementor-element-2205280 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:scroll;}}@media(max-width:1024px){.elementor-12680 .elementor-element.elementor-element-4b12739{--min-height:349px;--padding-top:82px;--padding-bottom:68px;--padding-left:30px;--padding-right:30px;}.elementor-12680 .elementor-element.elementor-element-43ea703{--padding-top:0px;--padding-bottom:0px;--padding-left:22px;--padding-right:22px;}.elementor-12680 .elementor-element.elementor-element-5c302f2 .elementor-heading-title{font-size:18px;}.elementor-12680 .elementor-element.elementor-element-c0fcfc0 .elementor-heading-title{font-size:50px;}.elementor-12680 .elementor-element.elementor-element-cb8703b{font-size:14px;}.elementor-12680 .elementor-element.elementor-element-667e98e .elementor-button{font-size:13px;}.elementor-12680 .elementor-element.elementor-element-e11da54 .elementor-button{font-size:13px;}.elementor-12680 .elementor-element.elementor-element-041894e{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-12680 .elementor-element.elementor-element-e02d938{--grid-columns:2;}.elementor-12680 .elementor-element.elementor-element-0466d93{--grid-columns:2;}.elementor-12680 .elementor-element.elementor-element-4260952{--grid-columns:2;}.elementor-12680 .elementor-element.elementor-element-fd3022b{--grid-columns:2;}.elementor-12680 .elementor-element.elementor-element-069c6a0{--grid-columns:2;}.elementor-12680 .elementor-element.elementor-element-66eb559{--grid-columns:2;}.elementor-12680 .elementor-element.elementor-element-7af9761{--grid-columns:2;}.elementor-12680 .elementor-element.elementor-element-f48b85d{--grid-columns:2;}.elementor-12680 .elementor-element.elementor-element-3f2d0c7{--grid-columns:2;}.elementor-12680 .elementor-element.elementor-element-89b18e8.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}}@media(max-width:767px){.elementor-12680 .elementor-element.elementor-element-4b12739{--width:100%;--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:62px;--padding-bottom:58px;--padding-left:18px;--padding-right:18px;}.elementor-12680 .elementor-element.elementor-element-4b12739:not(.elementor-motion-effects-element-type-background), .elementor-12680 .elementor-element.elementor-element-4b12739 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;}.elementor-12680 .elementor-element.elementor-element-c8922a8{--width:100%;--min-height:0px;--justify-content:center;--padding-top:70px;--padding-bottom:36px;--padding-left:0px;--padding-right:0px;}.elementor-12680 .elementor-element.elementor-element-43ea703{--content-width:100%;--margin-top:-35px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:16px;--padding-right:16px;}.elementor-12680 .elementor-element.elementor-element-5c302f2 .elementor-heading-title{font-size:14px;}.elementor-12680 .elementor-element.elementor-element-c0fcfc0 .elementor-heading-title{font-size:43px;}.elementor-12680 .elementor-element.elementor-element-cb8703b{font-size:15px;}.elementor-12680 .elementor-element.elementor-element-667e98e .elementor-button{font-size:13px;}.elementor-12680 .elementor-element.elementor-element-e11da54 .elementor-button{font-size:13px;}.elementor-12680 .elementor-element.elementor-element-041894e{--width:96%;--min-height:683px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-12680 .elementor-element.elementor-element-1711038{--width:421.94px;}.elementor-12680 .elementor-element.elementor-element-38a8510 .elementor-heading-title{font-size:40px;}.elementor-12680 .elementor-element.elementor-element-38f4509{font-size:15px;}.elementor-12680 .elementor-element.elementor-element-f9d1ef8 .elementor-heading-title{font-size:40px;}.elementor-12680 .elementor-element.elementor-element-e02d938{--grid-columns:1;}.elementor-12680 .elementor-element.elementor-element-e02d938 > .elementor-widget-container{margin:0px 0px 47px 0px;}.elementor-12680 .elementor-element.elementor-element-94b695d{--margin-top:-50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-12680 .elementor-element.elementor-element-06f3d10 .elementor-heading-title{font-size:40px;}.elementor-12680 .elementor-element.elementor-element-e07b184{width:var( --container-widget-width, 288.656px );max-width:288.656px;--container-widget-width:288.656px;--container-widget-flex-grow:0;}.elementor-12680 .elementor-element.elementor-element-0466d93{--grid-columns:1;}.elementor-12680 .elementor-element.elementor-element-4260952{--grid-columns:1;}.elementor-12680 .elementor-element.elementor-element-fd3022b{--grid-columns:1;}.elementor-12680 .elementor-element.elementor-element-069c6a0{--grid-columns:1;}.elementor-12680 .elementor-element.elementor-element-66eb559{--grid-columns:1;}.elementor-12680 .elementor-element.elementor-element-7af9761{--grid-columns:1;}.elementor-12680 .elementor-element.elementor-element-f48b85d{--grid-columns:1;}.elementor-12680 .elementor-element.elementor-element-3f2d0c7{--grid-columns:1;}.elementor-12680 .elementor-element.elementor-element-0b70d49{--content-width:90%;--border-radius:8px 8px 8px 8px;}.elementor-12680 .elementor-element.elementor-element-435a3a5{--min-height:170px;--border-radius:20px 20px 0px 0px;}.elementor-12680 .elementor-element.elementor-element-59b81f2{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--border-radius:0px 00px 20px 20px;}.elementor-12680 .elementor-element.elementor-element-3b7c1e6 .elementor-heading-title{font-size:40px;}.elementor-12680 .elementor-element.elementor-element-3b7c1e6{width:var( --container-widget-width, 275.5px );max-width:275.5px;--container-widget-width:275.5px;--container-widget-flex-grow:0;}.elementor-12680 .elementor-element.elementor-element-af44be0{font-size:14px;}.elementor-12680 .elementor-element.elementor-element-576ac6d .elementor-icon-list-item > .elementor-icon-list-text, .elementor-12680 .elementor-element.elementor-element-576ac6d .elementor-icon-list-item > a{font-size:14px;}.elementor-12680 .elementor-element.elementor-element-bcde549 .elementor-button{font-size:14px;}.elementor-12680 .elementor-element.elementor-element-2490a6b .elementor-heading-title{font-size:40px;}.elementor-12680 .elementor-element.elementor-element-34cb47c .elementor-icon-box-title, .elementor-12680 .elementor-element.elementor-element-34cb47c .elementor-icon-box-title a{font-size:23px;}.elementor-12680 .elementor-element.elementor-element-48efc7d .elementor-icon-box-title, .elementor-12680 .elementor-element.elementor-element-48efc7d .elementor-icon-box-title a{font-size:23px;}.elementor-12680 .elementor-element.elementor-element-b081768 .elementor-icon-box-title, .elementor-12680 .elementor-element.elementor-element-b081768 .elementor-icon-box-title a{font-size:23px;}.elementor-12680 .elementor-element.elementor-element-6fcc115 .elementor-icon-box-title, .elementor-12680 .elementor-element.elementor-element-6fcc115 .elementor-icon-box-title a{font-size:23px;}.elementor-12680 .elementor-element.elementor-element-00475c6 .elementor-icon-box-title, .elementor-12680 .elementor-element.elementor-element-00475c6 .elementor-icon-box-title a{font-size:23px;}.elementor-12680 .elementor-element.elementor-element-e59b905 .elementor-icon-box-title, .elementor-12680 .elementor-element.elementor-element-e59b905 .elementor-icon-box-title a{font-size:23px;}.elementor-12680 .elementor-element.elementor-element-bdfcb0a .elementor-heading-title{font-size:40px;}.elementor-12680 .elementor-element.elementor-element-c8efb07 img{width:100%;}.elementor-12680 .elementor-element.elementor-element-84ccb7c{text-align:center;}.elementor-12680 .elementor-element.elementor-element-84ccb7c .elementor-heading-title{font-size:40px;}.elementor-12680 .elementor-element.elementor-element-fa3c68a .elementor-heading-title{font-size:40px;}.elementor-12680 .elementor-element.elementor-element-4d0e401{--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-12680 .elementor-element.elementor-element-89b18e8 .elementor-main-swiper:not(.elementor-thumbnails-swiper){height:251px;}.elementor-12680 .elementor-element.elementor-element-89b18e8.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}.elementor-12680 .elementor-element.elementor-element-89b18e8 .elementor-swiper-button{font-size:0px;}.elementor-12680 .elementor-element.elementor-element-89b18e8{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-12680 .elementor-element.elementor-element-d8a952d{width:var( --container-widget-width, 60% );max-width:60%;--container-widget-width:60%;--container-widget-flex-grow:0;}.elementor-12680 .elementor-element.elementor-element-d8a952d.elementor-element{--align-self:center;}.elementor-12680 .elementor-element.elementor-element-c94fc28 .elementor-heading-title{font-size:40px;}}/* Start custom CSS for container, class: .elementor-element-c8922a8 *//* ============================================================
   MAI KEBALI TOUR — HERO PHOTO COLLAGE (KANAN)
   v4 "Azure Frame" — PENGGANTI v2 (tata letak sama dengan referensi)

   CARA PASANG (PENTING):
   1. Buka tempat CSS v2 yang lama (Advanced > Custom CSS).
   2. HAPUS SELURUH isi lama, lalu tempel file ini. Jangan ditambahkan
      di bawah yang lama — CSS v2 yang masih tersisa akan menimpa
      bentuk baru (daun / hexagon akan tetap muncul).
   3. Pasang di container yang SAMA dengan CSS v2 sebelumnya.
   4. Hapus juga file v3 jika sempat ditempel di container lain.

   CLASS (TIDAK BERUBAH):
   .coastal-hero-collage__right         -> container kanan (pembungkus)
   .coastal-hero-collage__photo-main    -> foto besar tegak
   .coastal-hero-collage__photo-top     -> foto kecil atas
   .coastal-hero-collage__photo-bottom  -> foto kiri bawah
   .coastal-hero-collage__glass         -> label "Bali, Indonesia"
   .coastal-hero-collage__glass-text    -> teks kecil di label

   BENTUK (sama seperti referensi): semua foto = kotak membulat dengan
   bingkai krem. Tidak ada lagi sudut runcing, hexagon, atau daun.

   RINGAN: tanpa backdrop-filter / blur / filter / clip-path. Animasi
   hanya translate & scale (GPU). Berhenti otomatis jika perangkat
   memilih "kurangi gerakan".

   EDIT: semua angka tata letak ada di bagian 01 (variabel --cc-*).
   Gambar foto, teks, dan warna label tetap diatur dari panel
   Elementor. Tanpa !important.

   TIPS CEPAT: pakai gambar WebP — foto besar ±900px (≤150KB), foto
   kecil ±500px (≤60KB); foto besar jangan di-lazy-load.
   ============================================================ */


/* ============================================================
   01. VARIABEL — ubah angka di sini
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__right {
    /* palet */
    --cc-primary: #009CE7;
    --cc-light: #5CC8FF;
    --cc-deep: #073A5C;
    --cc-dark: #04202F;
    --cc-frame: #F5FBFF;                 /* warna bingkai foto */
    --cc-frame-w: 8px;                   /* tebal bingkai */

    /* font */
    --cc-font-display: "DM Serif Display", Georgia, serif;
    --cc-font-body: "Poppins", -apple-system, BlinkMacSystemFont, sans-serif;

    /* bentuk (kiri-atas  kanan-atas  kanan-bawah  kiri-bawah) */
    --cc-main-radius: 34px 34px 120px 34px;
    --cc-main-inner-radius: 26px 26px 108px 26px;
    --cc-small-radius: 30px;
    --cc-arch-radius: 240px 240px 64px 64px;

    /* gerak: 1 = hidup, 0 = mati */
    --cc-float: 1;
    --cc-ease: cubic-bezier(.2, .72, .2, 1);

    position: relative;
    z-index: 3;
    min-width: 0;
    max-width: 100%;
    min-height: 620px;
    overflow: visible;
}


/* ============================================================
   02. DEKORASI LATAR (statis, ringan)
   ::before = lengkung besar samar di belakang foto (seperti referensi)
   ::after  = garis tipis azure di dasar lengkung
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__right::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 13%;
    top: 2%;
    width: 77%;
    height: 95%;
    pointer-events: none;
    border: 1.5px solid rgba(92, 200, 255, .30);
    border-radius: var(--cc-arch-radius);
    background: linear-gradient(180deg, rgba(0, 156, 231, .13), rgba(0, 156, 231, 0) 75%);
    outline: 1px solid rgba(92, 200, 255, .14);
    outline-offset: 12px;
}

.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__right::after {
    content: "";
    position: absolute;
    z-index: 1;
    left: 20%;
    right: 9%;
    bottom: 0;
    height: 1px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, var(--cc-light), var(--cc-primary), transparent);
}


/* ============================================================
   03. DASAR SEMUA FOTO
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-main,
.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-top,
.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-bottom {
    position: absolute;
    max-width: 100%;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border: var(--cc-frame-w) solid var(--cc-frame);
    transition: translate .55s var(--cc-ease), rotate .55s var(--cc-ease), scale .55s var(--cc-ease);
}

/* jika berupa widget Image */
.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-main img,
.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-top img,
.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-bottom img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* ============================================================
   04. FOTO BESAR — tegak, sudut kanan-bawah melengkung besar
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-main {
    top: 11%;
    left: 29%;
    width: 54%;
    height: 86%;
    z-index: 2;
    border-radius: var(--cc-main-radius);
    box-shadow: 0 28px 60px rgba(4, 32, 47, .45), 0 0 0 1px rgba(0, 156, 231, .22);
}

/* garis tipis di dalam bingkai */
.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-main::before {
    content: "";
    position: absolute;
    inset: 10px;
    pointer-events: none;
    border: 1px solid rgba(245, 251, 255, .5);
    border-radius: var(--cc-main-inner-radius);
}


/* ============================================================
   05. FOTO ATAS — menimpa tepi atas foto besar
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-top {
    top: 2%;
    left: 34%;
    width: 32%;
    height: 21%;
    z-index: 6;
    border-radius: var(--cc-small-radius);
    rotate: -2deg;
    box-shadow: 0 18px 38px rgba(4, 32, 47, .4), 0 0 0 1px rgba(0, 156, 231, .25);
    animation:
        ccIn .7s var(--cc-ease) backwards,
        ccFloat 7s ease-in-out .8s infinite alternate;
}


/* ============================================================
   06. FOTO KIRI BAWAH — menimpa sisi kiri foto besar
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-bottom {
    left: 5%;
    bottom: 5%;
    width: 44%;
    height: 38%;
    z-index: 7;
    border-radius: calc(var(--cc-small-radius) + 8px);
    rotate: 1.5deg;
    box-shadow: 0 20px 42px rgba(4, 32, 47, .42), 0 0 0 1px rgba(0, 156, 231, .25);
    animation:
        ccIn .7s var(--cc-ease) .1s backwards,
        ccFloat 8.5s ease-in-out 1.2s infinite alternate-reverse;
}

/* garis tipis di dalam bingkai */
.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-bottom::before {
    content: "";
    position: absolute;
    inset: 9px;
    pointer-events: none;
    border: 1px solid rgba(245, 251, 255, .5);
    border-radius: calc(var(--cc-small-radius) - 2px);
}


/* ============================================================
   07. LABEL — kanan bawah, menimpa tepi foto besar
   (tanpa blur: latar gradien pekat, jauh lebih ringan)
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__glass {
    position: absolute;
    z-index: 9;
    left: auto;
    right: 2%;
    bottom: 12%;
    width: 29%;
    min-width: 150px;
    max-width: 220px;
    display: block;
    padding: 14px 16px 14px 32px;
    border: 1px solid rgba(92, 200, 255, .38);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(7, 58, 92, .96), rgba(4, 32, 47, .94));
    box-shadow: 0 18px 38px rgba(4, 32, 47, .42), inset 0 1px 0 rgba(255, 255, 255, .08);
    transition: translate .45s var(--cc-ease), border-color .3s ease;
}

/* titik lokasi */
.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__glass::before {
    content: "";
    position: absolute;
    left: 14px;
    top: 21px;
    width: 8px;
    height: 8px;
    pointer-events: none;
    border-radius: 50%;
    background: var(--cc-light);
    box-shadow: 0 0 0 4px rgba(92, 200, 255, .22);
}

.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__glass .elementor-heading-title {
    margin: 0;
    font-family: var(--cc-font-display);
    font-weight: 400;
    font-size: clamp(15px, 1.1vw, 19px);
    line-height: 1.15;
    color: #fff;
}

.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__glass-text {
    width: 100%;
    margin-top: 5px;
}

.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__glass-text,
.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__glass-text p {
    margin: 0;
    font-family: var(--cc-font-body);
    font-size: 11px;
    line-height: 1.45;
    color: rgba(234, 247, 255, .8);
}

/* maksimal 2 baris */
.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__glass-text p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}


/* ============================================================
   08. HOVER (hanya perangkat dengan mouse)
   ============================================================ */

@media (hover: hover) and (pointer: fine) {

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__right:hover .coastal-hero-collage__photo-main {
        translate: 0 -5px;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-top:hover {
        rotate: 0deg;
        scale: 1.06;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-bottom:hover {
        rotate: 0deg;
        scale: 1.05;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__glass:hover {
        translate: 0 -4px;
        border-color: rgba(92, 200, 255, .75);
    }
}

/* ditekan (HP & mouse) */
.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-top:active,
.elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-bottom:active {
    scale: .97;
}


/* ============================================================
   09. ANIMASI (hanya translate / scale — ringan)
   ============================================================ */

@keyframes ccIn {
    from { scale: .93; }
    to   { scale: 1; }
}

@keyframes ccFloat {
    from { translate: 0 0; }
    to   { translate: 0 calc(-7px * var(--cc-float)); }
}


/* ============================================================
   10. TABLET (768 – 1024px)
   ============================================================ */

@media (min-width: 768px) and (max-width: 1024px) {

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__right {
        --cc-frame-w: 7px;
        --cc-main-radius: 30px 30px 100px 30px;
        --cc-main-inner-radius: 23px 23px 90px 23px;
        --cc-small-radius: 26px;
        min-height: 560px;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-main {
        left: 28%;
        width: 56%;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-top {
        left: 33%;
        width: 33%;
        height: 20%;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-bottom {
        left: 3%;
        width: 46%;
        height: 35%;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__glass {
        right: 1%;
        width: 30%;
        min-width: 140px;
        padding: 12px 14px 12px 30px;
    }
}


/* ============================================================
   11. HP (≤ 767px)
   ============================================================ */

@media (max-width: 767px) {

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__right {
        --cc-frame-w: 5px;
        --cc-main-radius: 24px 24px 84px 24px;
        --cc-main-inner-radius: 18px 18px 76px 18px;
        --cc-small-radius: 20px;
        --cc-arch-radius: 180px 180px 48px 48px;
        min-height: 520px;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-main {
        top: 10%;
        left: 27%;
        width: 62%;
        height: 87%;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-main::before {
        inset: 8px;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-top {
        left: 33%;
        width: 36%;
        height: 19%;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-bottom {
        left: 2%;
        bottom: 6%;
        width: 47%;
        height: 33%;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-bottom::before {
        inset: 7px;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__glass {
        right: 1%;
        bottom: 11%;
        width: 44%;
        min-width: 0;
        padding: 10px 11px 10px 26px;
        border-radius: 14px;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__glass::before {
        left: 11px;
        top: 17px;
        width: 7px;
        height: 7px;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__glass .elementor-heading-title {
        font-size: 14px;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__glass-text,
    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__glass-text p {
        font-size: 9.5px;
        line-height: 1.4;
    }
}


/* ============================================================
   12. HP KECIL (≤ 400px)
   ============================================================ */

@media (max-width: 400px) {

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__right {
        --cc-frame-w: 4px;
        --cc-main-radius: 20px 20px 70px 20px;
        --cc-main-inner-radius: 15px 15px 64px 15px;
        --cc-small-radius: 16px;
        min-height: 470px;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-main {
        left: 29%;
        width: 66%;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-top {
        left: 35%;
        width: 37%;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-bottom {
        width: 48%;
        height: 31%;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__glass {
        width: 46%;
        padding: 9px 9px 9px 24px;
    }
}


/* ============================================================
   13. KURANGI GERAKAN
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-top,
    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__photo-bottom {
        animation: none;
    }

    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__right *,
    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__right *::before,
    .elementor-12680 .elementor-element.elementor-element-c8922a8 .coastal-hero-collage__right *::after {
        transition-duration: .01ms;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4b12739 *//* ============================================================
MAI KEBALI TOUR — HERO MAIN CONTAINER
AZURE SIGNATURE  (v2 — rework, palet #009CE7)

DIPASANG DI:
Container terluar hero > Advanced > Custom CSS

CLASS TETAP SAMA (tidak perlu ubah apa pun di panel):
.pt-hero            -> container hero terluar
.pt-hero-shell      -> pembungkus isi
.pt-hero-copy       -> container teks kiri
.pt-hero-eyebrow    -> heading label kecil
.pt-hero-title      -> heading utama
.pt-hero-title-accent -> heading baris aksen
.pt-hero-text       -> text editor deskripsi
.pt-primary-btn     -> button utama
.pt-hero-secondary  -> button kedua
.pt-hero-trust      -> container baris trust
.pt-mini-trust      -> container tiap item trust

YANG DIBEDAKAN DARI VERSI SEBELUMNYA
- Palet: biru brand #009CE7 (bukan #4DC0FF)
- Latar: gradien terang-ke-gelap diagonal + pola titik halus
  (bukan grid garis vertikal/horizontal)
- Rail kiri: dua batang pendek bertingkat, bukan satu batang panjang
- Eyebrow: bentuk kapsul potong satu sudut + titik status berdenyut
- Button 1: pill, isi mengalir dari bawah saat hover (bukan shine kanan)
- Button 2: pill outline, isi tipis + border menyala
- Trust card: garis aksen di SISI KIRI (bukan strip atas), sudut asimetris

TIDAK ADA YANG DIKUNCI
- Tanpa !important sama sekali
- Layout container memakai variabel Elementor (--width, --gap,
  --padding-*, --flex-*), jadi panel Layout/Advanced selalu menang
- Warna, font, ukuran, border, spacing di tab Style tetap bisa menimpa
============================================================ */


/* ============================================================
01. DESIGN TOKEN
============================================================ */

.elementor-12680 .elementor-element.elementor-element-4b12739{

    /* --- palet brand --- */
    --mk-primary:#009CE7;
    --mk-primary-light:#5CC8FF;
    --mk-primary-dark:#0070B8;

    --mk-deep:#073A5C;
    --mk-deep-dark:#04202F;

    --mk-ice:#EAF7FF;
    --mk-mist:#C9E8FA;
    --mk-white:#FFFFFF;

    /* --- font --- */
    --mk-font-display:"DM Serif Display",Georgia,serif;
    --mk-font-body:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

    /* --- garis & kaca --- */
    --mk-line:rgba(0,156,231,.28);
    --mk-glass:rgba(255,255,255,.07);

    /* --- shadow --- */
    --mk-shadow:0 22px 54px rgba(4,32,47,.30);
    --mk-glow:0 0 26px rgba(0,156,231,.30);

    --mk-ease:cubic-bezier(.22,.72,.2,1);
    --mk-ease-out:cubic-bezier(.16,1,.3,1);

    position:relative;
    font-family:var(--mk-font-body);
}

.elementor-12680 .elementor-element.elementor-element-4b12739 *,
.elementor-12680 .elementor-element.elementor-element-4b12739 *::before,
.elementor-12680 .elementor-element.elementor-element-4b12739 *::after{
    box-sizing:border-box;
}


/* ============================================================
02. HERO WRAPPER
Gradien diagonal terang-ke-gelap + pola titik (bukan grid garis)
============================================================ */

.elementor-12680 .elementor-element.elementor-element-4b12739.pt-hero,
.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero{
    position:relative;
    isolation:isolate;
    overflow:hidden;

    min-height:640px;

    background-color:var(--mk-deep-dark);

    background-image:
        radial-gradient(
            circle at 78% 16%,
            rgba(92,200,255,.22) 0%,
            rgba(92,200,255,.05) 28%,
            transparent 54%
        ),
        radial-gradient(
            circle at 10% 88%,
            rgba(0,156,231,.20) 0%,
            rgba(0,156,231,.05) 32%,
            transparent 60%
        ),
        linear-gradient(
            126deg,
            #04202F 0%,
            #073A5C 34%,
            #0070B8 72%,
            #009CE7 100%
        );

    border-bottom:1px solid rgba(255,255,255,.06);
}


/* pola titik halus — pengganti grid garis */
.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-3;
    pointer-events:none;

    background-image:
        radial-gradient(
            rgba(255,255,255,.055) 1px,
            transparent 1px
        ),
        linear-gradient(
            118deg,
            rgba(255,255,255,.04) 0%,
            transparent 36%,
            rgba(0,156,231,.08) 74%,
            transparent 100%
        );

    background-size:26px 26px, auto;

    opacity:.9;
    transition:opacity .7s ease;
}

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero:hover::before{
    opacity:1;
}


/* fade bawah sinematik */
.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:190px;
    z-index:-1;
    pointer-events:none;

    background:linear-gradient(
        180deg,
        transparent 0%,
        rgba(4,32,47,.18) 36%,
        rgba(4,32,47,.46) 100%
    );
}


/* ============================================================
03. SHELL + AURORA
============================================================ */

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-shell{
    position:relative;
}


/* cahaya lembut yang bergerak pelan */
.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-shell::before{
    content:"";
    position:absolute;
    right:-80px;
    top:-130px;

    width:430px;
    height:430px;
    border-radius:50%;

    pointer-events:none;

    background:radial-gradient(
        circle,
        rgba(0,156,231,.24) 0%,
        rgba(92,200,255,.07) 44%,
        transparent 70%
    );

    filter:blur(10px);

    animation:mkHeroGlow 10s ease-in-out infinite alternate;
}

@keyframes mkHeroGlow{
    0%{opacity:.5;transform:translate3d(0,0,0) scale(.95);}
    100%{opacity:.9;transform:translate3d(-20px,18px,0) scale(1.06);}
}


.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-shell::after{
    content:"";
    position:absolute;
    inset:-16%;
    z-index:-2;
    pointer-events:none;

    background:
        radial-gradient(40% 36% at 24% 30%,rgba(0,156,231,.22) 0%,transparent 68%),
        radial-gradient(36% 32% at 76% 64%,rgba(92,200,255,.15) 0%,transparent 70%);

    filter:blur(36px);
    opacity:.85;

    animation:mkAurora 20s ease-in-out infinite alternate;
}

@keyframes mkAurora{
    0%{transform:translate3d(0,0,0) scale(1);}
    50%{transform:translate3d(2%,-2%,0) scale(1.06);}
    100%{transform:translate3d(-2%,2%,0) scale(1.03);}
}


/* ============================================================
04. HERO COPY — rail dua batang bertingkat
============================================================ */

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-copy{
    position:relative;
    z-index:4;
}


/* batang panjang */
.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-copy::before{
    content:"";
    position:absolute;
    left:-24px;
    top:6px;

    width:3px;
    height:96px;
    border-radius:999px;

    pointer-events:none;

    background:linear-gradient(
        180deg,
        var(--mk-primary-light) 0%,
        var(--mk-primary) 55%,
        rgba(0,156,231,.10) 100%
    );

    box-shadow:
        0 0 16px rgba(0,156,231,.38),
        0 0 32px rgba(0,156,231,.16);
}


/* batang pendek di bawahnya — pembeda utama */
.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-copy::after{
    content:"";
    position:absolute;
    left:-24px;
    top:114px;

    width:3px;
    height:28px;
    border-radius:999px;

    pointer-events:none;

    background:rgba(92,200,255,.55);
    box-shadow:0 0 12px rgba(0,156,231,.30);
}


@media(min-width:1025px){
    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-copy{
        max-width:720px;
    }
}


/* ============================================================
05. EYEBROW — kapsul potong satu sudut + titik berdenyut
============================================================ */

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-eyebrow{
    position:relative;

    width:max-content;
    max-width:100%;

    padding:8px 16px 8px 34px;

    border:1px solid rgba(92,200,255,.34);

    /* satu sudut sengaja dibuat tajam */
    border-radius:999px 999px 999px 6px;

    background:linear-gradient(
        135deg,
        rgba(4,32,47,.58),
        rgba(0,112,184,.30)
    );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.09),
        0 8px 22px rgba(4,32,47,.24);

    -webkit-backdrop-filter:blur(9px);
    backdrop-filter:blur(9px);
}


/* titik status berdenyut */
.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-eyebrow::before{
    content:"";
    position:absolute;
    left:16px;
    top:50%;

    width:8px;
    height:8px;
    margin-top:-4px;

    border-radius:50%;
    background:var(--mk-primary-light);

    animation:mkPulse 2.2s ease-out infinite;
    pointer-events:none;
}

@keyframes mkPulse{
    0%{box-shadow:0 0 0 0 rgba(92,200,255,.65);}
    70%{box-shadow:0 0 0 9px rgba(92,200,255,0);}
    100%{box-shadow:0 0 0 0 rgba(92,200,255,0);}
}


.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-eyebrow .elementor-heading-title{
    font-family:var(--mk-font-body);
    font-weight:600;
    color:var(--mk-primary-light);
    letter-spacing:.20em;
    text-transform:uppercase;
    text-shadow:0 0 18px rgba(0,156,231,.32);
}


/* ============================================================
06. HERO TITLE
Warna & ukuran sepenuhnya dari panel Elementor > Style
============================================================ */

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-title .elementor-heading-title,
.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-title-accent .elementor-heading-title{
    font-family:var(--mk-font-display);
    font-weight:400;
    line-height:1.07;
    letter-spacing:-.005em;

    text-shadow:
        0 4px 22px rgba(0,0,0,.28),
        0 14px 42px rgba(4,32,47,.24);
}


.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-title-accent{
    position:relative;
    width:max-content;
    max-width:100%;
}


/* garis aksen: dua segmen, bukan satu garis */
.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-title-accent::after{
    content:"";
    display:block;

    width:96px;
    height:2px;
    margin-top:12px;

    border-radius:999px;

    background:
        linear-gradient(90deg,var(--mk-primary) 0 58%,transparent 58% 68%,rgba(92,200,255,.5) 68% 100%);

    box-shadow:0 3px 14px rgba(0,156,231,.30);

    transition:width .52s var(--mk-ease);
}

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero:hover .pt-hero-title-accent::after{
    width:150px;
}


/* ============================================================
07. DESKRIPSI
============================================================ */

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-text{
    max-width:650px;
}

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-text p{
    font-family:var(--mk-font-body);
    font-weight:300;
    color:rgba(234,247,255,.87);
    line-height:1.78;
    text-shadow:0 2px 12px rgba(4,32,47,.22);
}


/* ============================================================
08. BUTTON — GERAK DASAR
============================================================ */

.elementor-12680 .elementor-element.elementor-element-4b12739 .elementor-button{
    position:relative;
    font-family:var(--mk-font-body);
    letter-spacing:.015em;

    transition:
        transform .36s var(--mk-ease),
        box-shadow .36s var(--mk-ease),
        background-color .32s ease,
        border-color .32s ease,
        color .32s ease;
}

.elementor-12680 .elementor-element.elementor-element-4b12739 a:focus-visible,
.elementor-12680 .elementor-element.elementor-element-4b12739 button:focus-visible,
.elementor-12680 .elementor-element.elementor-element-4b12739 .elementor-button:focus-visible{
    outline:2px solid var(--mk-primary-light);
    outline-offset:3px;
}


/* ============================================================
09. PRIMARY CTA — pill, isi mengalir dari BAWAH saat hover
============================================================ */

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-primary-btn .elementor-button{
    overflow:hidden;
    isolation:isolate;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    padding:16px 32px;

    border:1px solid rgba(255,255,255,.22);
    border-radius:999px;

    background-color:var(--mk-primary);
    background-image:none;

    color:var(--mk-white);

    box-shadow:
        0 13px 30px -8px rgba(0,156,231,.55),
        inset 0 1px 0 rgba(255,255,255,.28);
}


/* lapisan isi naik dari bawah */
.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-primary-btn .elementor-button::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;

    border-radius:inherit;

    background:linear-gradient(
        180deg,
        var(--mk-primary-light) 0%,
        var(--mk-primary) 58%,
        var(--mk-primary-dark) 100%
    );

    transform:scaleY(0);
    transform-origin:bottom center;

    transition:transform .45s var(--mk-ease-out);
}


/* garis cahaya tipis di dasar */
.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-primary-btn .elementor-button::after{
    content:"";
    position:absolute;
    left:22%;
    right:22%;
    bottom:0;
    height:1px;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.75),
        transparent
    );

    opacity:.6;
    pointer-events:none;
}


.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-primary-btn .elementor-button:hover,
.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-primary-btn .elementor-button:focus-visible{
    transform:translateY(-3px);
    border-color:rgba(255,255,255,.38);

    box-shadow:
        0 20px 42px -10px rgba(0,156,231,.70),
        inset 0 1px 0 rgba(255,255,255,.40);
}

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-primary-btn .elementor-button:hover::before,
.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-primary-btn .elementor-button:focus-visible::before{
    transform:scaleY(1);
}

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-primary-btn .elementor-button:active{
    transform:translateY(-1px) scale(.975);
}


.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-primary-btn .elementor-button-content-wrapper{
    position:relative;
    z-index:1;
    align-items:center;
    gap:10px;
}

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-primary-btn .elementor-button-icon{
    transition:transform .35s var(--mk-ease);
}

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-primary-btn .elementor-button:hover .elementor-button-icon{
    transform:translateX(4px);
}


/* ============================================================
10. SECONDARY CTA — pill outline, border menyala saat hover
============================================================ */

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-secondary .elementor-button{
    overflow:hidden;
    isolation:isolate;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    padding:16px 30px;

    border:1.5px solid rgba(92,200,255,.45);
    border-radius:999px;

    background-color:rgba(7,58,92,.40);
    background-image:none;

    color:var(--mk-ice);

    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);

    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
}


/* isi tipis melebar dari tengah */
.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-secondary .elementor-button::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;

    border-radius:inherit;

    background:linear-gradient(
        135deg,
        rgba(0,156,231,.30),
        rgba(92,200,255,.16)
    );

    transform:scaleX(0);
    transform-origin:center;

    transition:transform .45s var(--mk-ease-out);
}


.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-secondary .elementor-button:hover,
.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-secondary .elementor-button:focus-visible{
    transform:translateY(-3px);
    border-color:var(--mk-primary-light);
    color:var(--mk-white);

    box-shadow:
        0 16px 32px -10px rgba(4,32,47,.45),
        0 0 0 4px rgba(0,156,231,.12);
}

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-secondary .elementor-button:hover::before,
.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-secondary .elementor-button:focus-visible::before{
    transform:scaleX(1);
}

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-secondary .elementor-button:active{
    transform:translateY(-1px) scale(.975);
}


.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-secondary .elementor-button-content-wrapper{
    position:relative;
    z-index:1;
    align-items:center;
    gap:10px;
}


/* ============================================================
11. TEXT LINK
============================================================ */

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-text-link .elementor-button{
    padding:0;
    border:0;
    background:transparent;
    color:var(--mk-primary-light);
    box-shadow:none;

    transition:color .3s ease,transform .34s var(--mk-ease);
}

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-text-link .elementor-button:hover{
    color:var(--mk-white);
    transform:translateX(4px);
}


/* ============================================================
12. TRUST ROW — grid 4 kolom, lebar sama
============================================================ */

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-trust{
    --width:100%;
    --flex-wrap:nowrap;

    position:relative;
    isolation:isolate;

    width:100%;
    min-width:0;
    max-width:none;

    margin-top:14px;
    padding-top:22px;

    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    align-items:stretch;

    border-top:1px solid rgba(0,156,231,.24);
}


.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-trust::before{
    content:"";
    position:absolute;
    top:-1px;
    left:0;

    width:92px;
    height:2px;
    border-radius:999px;

    background:linear-gradient(
        90deg,
        var(--mk-primary) 0%,
        rgba(92,200,255,.35) 60%,
        transparent 100%
    );

    box-shadow:0 2px 12px rgba(0,156,231,.24);
    pointer-events:none;
}


/* ============================================================
13. TRUST CARD — aksen di SISI KIRI, sudut asimetris
============================================================ */

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-mini-trust{
    --width:100%;

    position:relative;
    isolation:isolate;
    overflow:hidden;

    width:100%;
    min-width:0;
    max-width:none;

    min-height:74px;
    margin:0;
    padding:15px 16px 15px 20px;

    display:grid;
    grid-template-columns:26px minmax(0,1fr);
    column-gap:12px;
    align-items:center;
    justify-items:start;

    border:1px solid rgba(201,232,250,.14);

    /* sudut kiri-bawah sengaja lebih tajam */
    border-radius:16px 16px 16px 6px;

    background:linear-gradient(
        135deg,
        rgba(234,247,255,.085) 0%,
        rgba(92,200,255,.04) 48%,
        rgba(4,32,47,.26) 100%
    );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.06),
        0 10px 26px rgba(4,32,47,.18);

    -webkit-backdrop-filter:blur(9px);
    backdrop-filter:blur(9px);

    transition:
        transform .36s var(--mk-ease),
        border-color .3s ease,
        background-color .3s ease,
        box-shadow .36s var(--mk-ease);
}


/* aksen vertikal di sisi kiri — pembeda dari strip atas */
.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-mini-trust::before{
    content:"";
    position:absolute;
    left:0;
    top:16px;
    bottom:16px;

    width:3px;
    border-radius:0 999px 999px 0;

    background:linear-gradient(
        180deg,
        var(--mk-primary-light),
        rgba(0,156,231,.25)
    );

    transition:top .4s var(--mk-ease),bottom .4s var(--mk-ease),box-shadow .3s ease;
    pointer-events:none;
}


/* kilau lembut */
.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-mini-trust::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;

    background:linear-gradient(
        180deg,
        rgba(255,255,255,.05) 0%,
        transparent 48%,
        rgba(0,156,231,.04) 100%
    );
}


/* reset lebar anak supaya teks tidak menyempit */
.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-mini-trust > .elementor-element{
    min-width:0;
    max-width:none;
    margin:0;
}

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-mini-trust > .elementor-widget-icon{
    --width:26px;
    width:26px;
    min-width:26px;
    max-width:26px;

    grid-column:1;

    display:flex;
    align-items:center;
    justify-content:center;
}

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-mini-trust > .elementor-widget-heading{
    --width:auto;
    width:auto;
    min-width:0;
    max-width:100%;

    grid-column:2;
    display:block;
}


.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-mini-trust .elementor-icon-wrapper{
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
}

.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-mini-trust .elementor-icon{
    width:26px;
    height:26px;

    display:flex;
    align-items:center;
    justify-content:center;

    color:var(--mk-primary-light);

    filter:drop-shadow(0 4px 10px rgba(0,156,231,.32));

    transition:transform .34s var(--mk-ease),filter .34s ease;
}


.elementor-12680 .elementor-element.elementor-element-4b12739 .pt-mini-trust .elementor-heading-title{
    width:100%;
    min-width:0;
    max-width:100%;
    margin:0;

    font-family:var(--mk-font-body);
    font-weight:500;
    color:rgba(234,247,255,.95);
    line-height:1.35;

    white-space:normal;
    overflow-wrap:normal;
}


/* hover */
@media(hover:hover) and (pointer:fine){

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-mini-trust:hover{
        transform:translateY(-4px);
        border-color:rgba(0,156,231,.42);

        background:linear-gradient(
            135deg,
            rgba(0,156,231,.16) 0%,
            rgba(92,200,255,.06) 44%,
            rgba(4,32,47,.30) 100%
        );

        box-shadow:
            0 17px 38px rgba(4,32,47,.28),
            inset 0 1px 0 rgba(255,255,255,.08);
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-mini-trust:hover::before{
        top:6px;
        bottom:6px;
        box-shadow:2px 0 14px rgba(0,156,231,.42);
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-mini-trust:hover .elementor-icon{
        transform:scale(1.1);
        filter:drop-shadow(0 6px 15px rgba(0,156,231,.5));
    }

}


/* ============================================================
14. TABLET
============================================================ */

@media(min-width:768px) and (max-width:1024px){

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero{
        min-height:600px;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-copy{
        --width:76%;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-copy::before{
        left:-18px;
        height:82px;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-copy::after{
        left:-18px;
        top:98px;
        height:22px;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-trust{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:13px;
        padding-top:18px;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-mini-trust{
        min-height:70px;
        padding:14px 15px 14px 19px;
    }

}


/* ============================================================
15. MOBILE
============================================================ */

@media(max-width:767px){

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero{
        min-height:auto;

        background-image:
            radial-gradient(
                circle at 82% 12%,
                rgba(92,200,255,.18),
                transparent 40%
            ),
            linear-gradient(
                180deg,
                #04202F 0%,
                #073A5C 52%,
                #0070B8 100%
            );
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero::before{
        background-size:20px 20px, auto;
        opacity:.85;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero::after{
        height:130px;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-shell::before{
        left:34%;
        top:-60px;
        width:280px;
        height:280px;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-copy{
        --width:100%;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-copy::before{
        left:-10px;
        top:4px;
        width:2px;
        height:64px;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-copy::after{
        left:-10px;
        top:76px;
        width:2px;
        height:18px;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-eyebrow{
        padding:7px 13px 7px 30px;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-eyebrow::before{
        left:13px;
        width:7px;
        height:7px;
        margin-top:-3.5px;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-title-accent::after{
        width:70px;
        margin-top:9px;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero:hover .pt-hero-title-accent::after{
        width:100px;
    }

    /* deskripsi tidak terpotong di layar sempit */
    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-text,
    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-text p,
    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-text .elementor-widget-container{
        width:100%;
        max-width:100%;
        white-space:normal;
        overflow-wrap:break-word;
    }

    /* tombol full-width agar mudah ditekan */
    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-primary-btn .elementor-button,
    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-secondary .elementor-button{
        width:100%;
        min-height:52px;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-trust{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
        margin-top:6px;
        padding-top:16px;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-mini-trust{
        min-height:64px;
        padding:12px 12px 12px 16px;
        grid-template-columns:22px minmax(0,1fr);
        column-gap:10px;
        border-radius:14px 14px 14px 5px;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-mini-trust > .elementor-widget-icon{
        --width:22px;
        width:22px;
        min-width:22px;
        max-width:22px;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-mini-trust .elementor-icon{
        width:22px;
        height:22px;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-mini-trust::before{
        top:12px;
        bottom:12px;
    }

}


/* ============================================================
16. SMALL MOBILE + SAFE AREA
============================================================ */

@media(max-width:480px){

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero{
        padding-left:max(18px,env(safe-area-inset-left));
        padding-right:max(18px,env(safe-area-inset-right));
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-copy::before{
        height:56px;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-copy::after{
        top:68px;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero-trust{
        grid-template-columns:1fr;
    }

    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-mini-trust{
        min-height:58px;
    }

}


@supports (-webkit-touch-callout:none){
    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero,
    .elementor-12680 .elementor-element.elementor-element-4b12739 .pt-hero *{
        -webkit-text-size-adjust:100%;
    }
}


/* ============================================================
17. REDUCED MOTION
============================================================ */

@media(prefers-reduced-motion:reduce){

    .elementor-12680 .elementor-element.elementor-element-4b12739 *,
    .elementor-12680 .elementor-element.elementor-element-4b12739 *::before,
    .elementor-12680 .elementor-element.elementor-element-4b12739 *::after{
        animation:none;
        transition-duration:.01ms;
    }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1711038 *//* ============================================================
   MAI KEBALI TOUR — ABOUT US
   "AZURE PORTAL" V15  (serasi dengan Gallery & Signature Tours)
   Ganti SELURUH isi Custom CSS About lama dengan file ini.

   ------------------------------------------------------------
   PERUBAHAN v14 -> v15
   ------------------------------------------------------------
   1. WATERMARK "ABOUT US" di pojok kiri bawah sekarang SAMA
      dengan section lain (ukuran clamp(50px, 7vw, 120px),
      garis tipis, menempel di dasar section). Sebelumnya dibuat
      terlalu besar & terpotong.

   2. EYEBROW <-> JUDUL: jarak, panjang garis, letter-spacing,
      dan ukuran huruf disamakan dengan section lain
      (jarak 26px, garis 48px). Ada juga garis aksen di bawah judul.

   3. BUG POSISI DIPERBAIKI
      Container Elementor punya ::before bawaan (lapisan overlay)
      yang "bocor" ke pseudo-element buatan kita (left:0, top:0,
      width:100%, height:100%). Akibatnya:
        - glow biru muncul di kiri, bukan kanan atas
        - angka "01" nyasar ke kiri
        - lingkaran tipis nyasar ke kiri atas
        - garis di badge LOCAL ada di kiri, bukan kanan
      Sekarang semua di-reset dulu (blok 02) sebelum diposisikan.

   4. HOVER KARTU PEMILIK tidak lagi tertimpa animasi scroll
      (reveal memakai properti translate/scale, bukan transform).

   5. LEBIH RINGAN
      - filter blur pada glow dihapus (gradient sudah lembut)
      - glow hanya menganimasikan opacity
      - backdrop-filter di kartu perusahaan dihapus
      - animasi titik-titik dihapus (statis)
      - tekstur grid tanpa mask

   TIDAK TERKUNCI: semua .elementor-12680 .elementor-element.elementor-element-1711038 isi memakai :where(), jadi
   pengaturan panel Elementor tetap menang. Tanpa !important.
   ============================================================ */


/* ============================================================
   01. PUSAT KENDALI
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-1711038 {

    --ab-primary:      #0B2A45;
    --ab-secondary:    #009CE7;
    --ab-sky:          #5CC8FF;
    --ab-sky-light:    #A6E1FF;
    --ab-accent:       #0070B8;
    --ab-navy-dark:    #04202F;

    --ab-section-top:  #F8FCFF;
    --ab-ivory:        #EAF4FC;
    --ab-blush:        #D7ECF9;
    --ab-white:        #FFFFFF;

    --ab-text:   #10222F;
    --ab-muted:  rgba(16, 34, 47, 0.72);
    --ab-soft:   rgba(16, 34, 47, 0.56);

    --ab-line:       rgba(0, 156, 231, 0.20);

    --ab-font-display: "DM Serif Display", Georgia, serif;
    --ab-font-body:    "Poppins", -apple-system, BlinkMacSystemFont, sans-serif;

    --ab-icon-bg: linear-gradient(140deg, #5CC8FF 0%, #009CE7 58%, #0070B8 100%);

    /* Watermark (ubah teksnya di sini) */
    --ab-watermark-no:   "01";
    --ab-watermark-word: "ABOUT US";

    /* Eyebrow -> judul (SAMA dengan section lain) */
    --ab-eyebrow-gap:   26px;
    --ab-eyebrow-line:  48px;
    --ab-eyebrow-space: 18px;

    --ab-max-width: 1440px;

    --ab-arch:        210px 46px 30px 30px;
    --ab-owner-radius: 26px 26px 26px 6px;
    --ab-card-radius:  20px 20px 20px 4px;

    --ab-column-gap: clamp(56px, 6vw, 110px);

    --ab-ease: cubic-bezier(.2, .75, .2, 1);

    position: relative;
    width: 100%;
    overflow: hidden;
    isolation: isolate;
    box-sizing: border-box;
    font-family: var(--ab-font-body);
    color: var(--ab-text);
    background: linear-gradient(180deg, var(--ab-section-top) 0%, var(--ab-ivory) 100%);
    padding: clamp(62px, 6vw, 92px) clamp(22px, 5vw, 82px);
}


/* ============================================================
   02. RESET PSEUDO ::before BAWAAN CONTAINER ELEMENTOR
   Container Elementor memakai ::before sebagai lapisan overlay
   (left:0; top:0; width:100%; height:100%). Tanpa reset ini,
   nilai tersebut ikut "bocor" ke ::before buatan kita.
   Harus berada SEBELUM aturan ::before lainnya.
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-shell, .about-visual, .about-main-image-wrap, .about-owner-card,
                .about-experience, .about-content, .about-company,
                .about-trust-grid, .about-trust-item, .about-signature)::before {
    inset: auto;
    width: auto;
    height: auto;
    border-radius: 0;
    transition: none;
}


/* ============================================================
   03. BOX SIZING
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-1711038 :where(*, *::before, *::after) {
    box-sizing: border-box;
}


/* ============================================================
   04. AMBIENT GLOW — kanan atas (ringan: tanpa blur, opacity saja)
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-1711038::before {
    content: "";
    position: absolute;
    left: auto;
    bottom: auto;
    width:  clamp(440px, 56vw, 920px);
    height: clamp(440px, 56vw, 920px);
    right: clamp(-450px, -21vw, -180px);
    top:   clamp(-330px, -15vw, -120px);
    z-index: -3;
    pointer-events: none;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(92,200,255,0.20) 0%, rgba(0,156,231,0.075) 36%, transparent 70%);
    animation: aboutAmbientGlow 10s ease-in-out infinite;
}

@keyframes aboutAmbientGlow {
    0%, 100% { opacity: 0.82; }
    50%      { opacity: 1; }
}


/* ============================================================
   05. TEKSTUR GRID + WATERMARK KATA "ABOUT US" (kiri bawah)
   Sama persis dengan section Gallery & Signature Tours.
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-1711038::after {
    content: var(--ab-watermark-word);

    position: absolute;
    inset: 0;
    z-index: -4;
    pointer-events: none;
    user-select: none;

    display: flex;
    align-items: flex-end;
    justify-content: flex-start;

    padding-left: clamp(16px, 4vw, 70px);
    padding-bottom: 2px;
    white-space: nowrap;

    background-image:
        linear-gradient(rgba(0,156,231,0.030) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,156,231,0.030) 1px, transparent 1px);
    background-size: 48px 48px;

    font-family: var(--ab-font-display);
    font-size: clamp(50px, 7vw, 120px);
    line-height: .82;
    letter-spacing: -.035em;

    color: transparent;
    -webkit-text-stroke: 1px rgba(0, 156, 231, 0.12);
}


/* ============================================================
   06. MAIN SHELL
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-shell) {
    position: relative;
    width: min(100%, var(--ab-max-width));
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
    align-items: center;
    gap: var(--ab-column-gap);
    z-index: 2;
}


/* ============================================================
   07. WATERMARK ANGKA "01" (kanan atas)
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-shell)::before {
    content: var(--ab-watermark-no);
    position: absolute;
    right: 0;
    top: -48px;
    z-index: -1;
    pointer-events: none;
    user-select: none;
    font-family: var(--ab-font-display);
    font-size: clamp(70px, 8vw, 125px);
    line-height: 1;
    letter-spacing: -0.04em;
    color: transparent;
    -webkit-text-stroke: 1px rgba(0, 156, 231, 0.16);
    opacity: 0.90;
}


/* ============================================================
   08. VISUAL COLUMN
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-visual) {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
    min-height: clamp(520px, 40vw, 640px);
    z-index: 3;
}

/* cincin tipis dekoratif — kiri bawah */
.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-visual)::before {
    content: "";
    position: absolute;
    width: 86px;
    height: 86px;
    left: 2%;
    bottom: 12%;
    z-index: 0;
    border: 1px solid rgba(0, 156, 231, 0.30);
    border-radius: 50%;
    pointer-events: none;
}


/* ============================================================
   09. MAIN IMAGE WRAPPER — PORTAL MIRING
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image-wrap) {
    position: absolute;
    left: 3%;
    top: 2%;
    width: min(76%, 520px);
    height: 84%;
    display: block;
    overflow: visible;
    z-index: 2;
    border-radius: var(--ab-arch);
}

/* bingkai offset */
.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image-wrap)::before {
    content: "";
    position: absolute;
    inset: -18px -18px 18px 18px;
    z-index: -2;
    border: 1.5px solid rgba(0, 156, 231, 0.50);
    border-radius: var(--ab-arch);
    box-shadow: 8px 10px 32px -16px rgba(0, 156, 231, 0.45);
    transition: transform .7s var(--ab-ease);
}

/* petak titik (statis) */
.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image-wrap)::after {
    content: "";
    position: absolute;
    width: 132px;
    height: 132px;
    left: -50px;
    bottom: -40px;
    z-index: -3;
    border-radius: 10px;
    background-image: radial-gradient(rgba(0,156,231,0.42) 1.7px, transparent 1.7px);
    background-size: 16px 16px;
    -webkit-mask-image: linear-gradient(135deg, black 22%, transparent 78%);
    mask-image: linear-gradient(135deg, black 22%, transparent 78%);
    pointer-events: none;
}


/* ============================================================
   10. MAIN IMAGE WIDGET
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image) {
    position: relative;
    width: 100%;
    height: 100%;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image .elementor-widget-container) {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: var(--ab-arch);
    border: 7px solid var(--ab-white);
    background: var(--ab-blush);
    box-shadow: 0 34px 76px rgba(4,32,47,0.20), 0 0 0 1px rgba(0,156,231,0.16);
}

/* overlay bawah + kilau */
.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image .elementor-widget-container)::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    background:
        linear-gradient(180deg, transparent 54%, rgba(4,32,47,0.16) 100%),
        linear-gradient(108deg, transparent 38%, rgba(255,255,255,0.30) 50%, transparent 62%);
    background-size: 100% 100%, 260% 100%;
    background-position: 0 0, -80% 0;
    background-repeat: no-repeat;
    transition: background-position 1.1s var(--ab-ease);
}

/* tab penanda biru */
.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image .elementor-widget-container)::before {
    content: "";
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 4;
    width: 8px;
    height: 52px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--ab-sky), var(--ab-secondary));
    box-shadow: 0 6px 18px rgba(0,156,231,0.45), inset 0 1px 0 rgba(255,255,255,0.35);
    transition: height .6s var(--ab-ease);
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image img) {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: scale(1.02);
    transition: transform 1.1s var(--ab-ease), filter .8s ease;
}

@media (hover:hover) {

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image-wrap):hover :where(.about-main-image img) {
        transform: scale(1.07);
        filter: saturate(1.04) contrast(1.02);
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image-wrap):hover::before {
        transform: translate(7px, 7px);
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image-wrap):hover :where(.about-main-image .elementor-widget-container)::before {
        height: 86px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image-wrap):hover :where(.about-main-image .elementor-widget-container)::after {
        background-position: 0 0, 180% 0;
    }
}


/* ============================================================
   11. OWNER CARD
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-owner-card) {
    position: absolute;
    right: 0;
    bottom: 2%;
    width: clamp(205px, 17vw, 272px);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    overflow: hidden;
    z-index: 7;
    border: 6px solid var(--ab-white);
    border-radius: var(--ab-owner-radius);
    background: var(--ab-white);
    box-shadow: 0 22px 50px rgba(4,32,47,0.16), 0 0 0 1px rgba(0,156,231,0.14);
    transform: rotate(-1.6deg);
    transition: transform .6s var(--ab-ease), box-shadow .6s ease;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-owner-card)::before {
    content: "";
    position: absolute;
    left: 18px;
    top: 18px;
    width: 26px;
    height: 4px;
    z-index: 8;
    border-radius: 999px;
    background: var(--ab-secondary);
    box-shadow: 0 2px 10px rgba(0,156,231,0.40);
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-owner-image) {
    width: 100%;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-owner-image .elementor-widget-container) {
    width: 100%;
    overflow: hidden;
    aspect-ratio: 4 / 4.35;
    border-radius: 20px 20px 0 0;
    background: var(--ab-blush);
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-owner-image img) {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transform: scale(1.01);
    transition: transform .85s var(--ab-ease);
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-owner-info) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 16px 18px 18px;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-owner-label) {
    margin: 0;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-owner-label .elementor-heading-title) {
    margin: 0;
    font-family: var(--ab-font-body);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ab-secondary);
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-owner-role) {
    margin: 0;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-owner-role .elementor-heading-title) {
    margin: 0;
    font-family: var(--ab-font-display);
    font-weight: 400;
    font-size: clamp(21px, 1.6vw, 25px);
    line-height: 1.18;
    letter-spacing: -0.012em;
    color: var(--ab-primary);
}

@media (hover:hover) {

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-owner-card):hover {
        transform: translateY(-8px) rotate(0deg);
        box-shadow: 0 32px 70px rgba(4,32,47,0.22), 0 0 0 1px rgba(0,156,231,0.28);
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-owner-card):hover :where(.about-owner-image img) {
        transform: scale(1.055);
    }
}


/* ============================================================
   12. LOCAL BADGE
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-experience) {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 8;
    width: clamp(205px, 17vw, 245px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 20px 24px 20px 22px;
    overflow: hidden;
    border: 1px solid rgba(0, 156, 231, 0.28);
    border-radius: 20px 4px 20px 20px;
    background: linear-gradient(145deg, var(--ab-primary) 0%, var(--ab-navy-dark) 100%);
    box-shadow: 0 22px 48px rgba(4,32,47,0.28);
    transition: transform .5s var(--ab-ease), box-shadow .5s ease;
}

/* cahaya biru di pojok kiri bawah */
.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-experience)::after {
    content: "";
    position: absolute;
    width: 96px;
    height: 96px;
    left: -38px;
    bottom: -38px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0,156,231,0.55) 0%, rgba(0,112,184,0.18) 60%, transparent 72%);
    pointer-events: none;
}

/* garis biru di sisi KANAN badge */
.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-experience)::before {
    content: "";
    position: absolute;
    right: 0;
    top: 22px;
    bottom: 22px;
    width: 3px;
    border-radius: 999px 0 0 999px;
    background: linear-gradient(180deg, var(--ab-sky), rgba(92,200,255,0.10));
}

@media (hover:hover) {
    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-experience):hover {
        transform: translateY(-4px);
        box-shadow: 0 28px 56px rgba(4,32,47,0.34);
    }
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-experience-number) {
    position: relative;
    z-index: 2;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-experience-number .elementor-heading-title) {
    margin: 0;
    font-family: var(--ab-font-display);
    font-weight: 400;
    font-size: clamp(24px, 2.15vw, 32px);
    line-height: 1;
    letter-spacing: -0.015em;
    color: var(--ab-white);
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-experience-text) {
    position: relative;
    z-index: 2;
    font-family: var(--ab-font-body);
    font-size: 16px;
    font-weight: 300;
    line-height: 1.50;
    color: rgba(234, 247, 255, 0.88);
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-experience-text .elementor-widget-container, .about-experience-text p) {
    margin: 0;
    font: inherit;
    color: inherit;
}


/* ============================================================
   13. CONTENT COLUMN
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-content) {
    position: relative;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    z-index: 4;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-content)::before {
    content: "";
    position: absolute;
    left: -26px;
    top: 6px;
    width: 3px;
    height: 54px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--ab-sky), var(--ab-secondary));
    pointer-events: none;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-content)::after {
    content: "";
    position: absolute;
    left: -26px;
    top: 70px;
    width: 3px;
    height: 42px;
    border-radius: 999px;
    background: repeating-linear-gradient(180deg, var(--ab-sky) 0px, var(--ab-sky) 3px, transparent 3px, transparent 9px);
    opacity: .7;
    pointer-events: none;
}


/* ============================================================
   14. EYEBROW  (Heading widget) — SAMA dengan section lain
   Tips: ketik teksnya  ABOUT US   |   MAI KEBALI TOUR
   (3 spasi di kiri & kanan tanda |) — spasi ganda kini dipertahankan.
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-eyebrow) {
    margin: 0 0 var(--ab-eyebrow-gap);
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-eyebrow .elementor-heading-title) {
    display: inline-flex;
    align-items: center;
    gap: var(--ab-eyebrow-space);
    margin: 0;
    white-space: pre-wrap;
    font-family: var(--ab-font-body);
    font-size: clamp(11px, .8vw, 13px);
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--ab-secondary);
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-eyebrow .elementor-heading-title)::before {
    content: "";
    width: var(--ab-eyebrow-line);
    height: 2px;
    flex-shrink: 0;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--ab-secondary), rgba(0,156,231,.15));
}


/* ============================================================
   15. MAIN TITLE  (Heading widget) + garis aksen
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-title) {
    margin: 0;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-title .elementor-heading-title) {
    max-width: 720px;
    margin: 0;
    font-family: var(--ab-font-display);
    font-weight: 400;
    font-size: clamp(50px, 4.7vw, 74px);
    line-height: 1.06;
    letter-spacing: -0.022em;
    color: var(--ab-primary);
    text-wrap: balance;
}

/* kata di dalam <span> = gradasi biru */
.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-title .elementor-heading-title span) {
    background: linear-gradient(90deg, var(--ab-accent) 0%, var(--ab-secondary) 55%, var(--ab-sky) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

/* garis aksen memudar di bawah judul (sama dengan section lain) */
.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-title)::after {
    content: "";
    display: block;
    width: 140px;
    height: 3px;
    margin-top: 26px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--ab-secondary) 0%, rgba(0,156,231,.45) 55%, transparent 100%);
    transition: width .5s var(--ab-ease);
}

@media (hover:hover) {
    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-content):hover :where(.about-title)::after {
        width: 200px;
    }
}


/* ============================================================
   16. LEAD TEXT  (Text Editor widget)
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-lead) {
    position: relative;
    max-width: 670px;
    margin-top: 24px;
    padding-left: 20px;
    font-family: var(--ab-font-body);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.68;
    letter-spacing: -0.008em;
    color: var(--ab-text);
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-lead)::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    bottom: 2px;
    width: 2px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--ab-secondary) 0%, var(--ab-sky) 60%, rgba(92,200,255,0.12) 100%);
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-lead .elementor-widget-container, .about-lead p) {
    margin: 0;
    font: inherit;
    letter-spacing: inherit;
    color: inherit;
}


/* ============================================================
   17. COMPANY IDENTITY
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-company) {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    margin-top: 25px;
    padding: 17px 21px 18px 25px;
    overflow: hidden;
    border: 1px solid var(--ab-line);
    border-radius: 16px 16px 16px 4px;
    background: rgba(255, 255, 255, 0.80);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.75), 0 10px 28px rgba(4,32,47,0.06);
    transition: border-color .4s ease, box-shadow .4s ease;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-company)::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(to bottom, var(--ab-sky), var(--ab-secondary));
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-company)::after {
    content: "";
    position: absolute;
    width: 108px;
    height: 108px;
    left: -46px;
    bottom: -54px;
    border: 1px solid rgba(0, 156, 231, 0.16);
    border-radius: 50%;
    pointer-events: none;
}

@media (hover:hover) {
    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-company):hover {
        border-color: rgba(0, 156, 231, 0.36);
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.75), 0 16px 34px rgba(0,156,231,0.13);
    }
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-company-label .elementor-heading-title) {
    margin: 0;
    font-family: var(--ab-font-body);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--ab-soft);
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-company-name .elementor-heading-title) {
    margin: 0;
    font-family: var(--ab-font-display);
    font-weight: 400;
    font-size: clamp(24px, 1.9vw, 31px);
    line-height: 1.16;
    letter-spacing: 0.015em;
    color: var(--ab-primary);
}


/* ============================================================
   18. DESCRIPTION  (Text Editor widget)
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-description) {
    max-width: 720px;
    margin-top: 19px;
    font-family: var(--ab-font-body);
    font-size: 16px;
    font-weight: 300;
    line-height: 1.78;
    color: var(--ab-muted);
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-description .elementor-widget-container, .about-description p) {
    margin: 0;
    font: inherit;
    color: inherit;
}


/* ============================================================
   19. TRUST GRID
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-grid) {
    position: relative;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 30px;
    border: 0;
    counter-reset: abtrust;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-grid > .about-trust-item:nth-child(2),
                .about-trust-grid > .about-trust-item:nth-child(4)) {
    margin-top: 14px;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-item) {
    position: relative;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    row-gap: 10px;
    align-items: start;
    padding: 24px 22px 26px 26px;
    overflow: hidden;
    isolation: isolate;
    counter-increment: abtrust;
    border: 1px solid rgba(0, 156, 231, 0.16);
    border-radius: var(--ab-card-radius);
    background: linear-gradient(165deg, rgba(255,255,255,0.96) 0%, rgba(234,244,252,0.80) 100%);
    box-shadow: 0 12px 30px rgba(4,32,47,0.07), inset 0 1px 0 rgba(255,255,255,0.85);
    transition: transform .45s var(--ab-ease), border-color .45s ease, box-shadow .45s ease;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-grid > .about-trust-item:nth-child(even)) {
    border-radius: 20px 20px 4px 20px;
}

/* garis biru di kiri kartu */
.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-item)::after {
    content: "";
    position: absolute;
    left: 0;
    top: 26px;
    bottom: 26px;
    width: 4px;
    border-radius: 0 999px 999px 0;
    background: linear-gradient(180deg, var(--ab-sky), var(--ab-secondary));
    transition: top .45s var(--ab-ease), bottom .45s var(--ab-ease), box-shadow .35s ease;
}

/* cahaya biru saat hover */
.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-item)::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: radial-gradient(72% 60% at 8% 0%, rgba(92,200,255,0.24) 0%, rgba(0,156,231,0.06) 46%, transparent 74%);
    opacity: 0;
    transition: opacity .45s ease;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-icon) {
    position: relative;
    grid-column: 1;
    grid-row: 1;
    margin-bottom: 2px;
}

/* nomor 01-04 outline */
.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-item .about-trust-icon)::after {
    content: counter(abtrust, decimal-leading-zero);
    position: absolute;
    right: -6px;
    top: 0;
    font-family: var(--ab-font-display);
    font-size: 58px;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1px rgba(0, 156, 231, 0.20);
    pointer-events: none;
    transition: opacity .45s ease, transform .45s var(--ab-ease);
    opacity: .55;
}

/* ikon: ukuran = font-size di .elementor-icon (slider Size panel berfungsi) */
.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-icon .elementor-icon) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border-radius: 50%;
    border: 0;
    font-size: 19px;
    color: #FFFFFF;
    background-image: var(--ab-icon-bg);
    background-color: var(--ab-secondary);
    box-shadow: 0 0 0 6px rgba(0,156,231,0.10), 0 10px 22px rgba(0,156,231,0.28), inset 0 1px 0 rgba(255,255,255,0.40);
    transition: transform .45s var(--ab-ease), box-shadow .45s ease;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-icon svg) {
    width: 1em;
    height: 1em;
    fill: currentColor;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-title) {
    grid-column: 1;
    grid-row: 2;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-title .elementor-heading-title) {
    margin: 0;
    font-family: var(--ab-font-display);
    font-weight: 400;
    font-size: clamp(21px, 1.35vw, 24px);
    line-height: 1.18;
    letter-spacing: -0.008em;
    color: var(--ab-primary);
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-text) {
    grid-column: 1;
    grid-row: 3;
    font-family: var(--ab-font-body);
    font-size: 16px;
    font-weight: 300;
    line-height: 1.62;
    color: var(--ab-soft);
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-text .elementor-widget-container, .about-trust-text p) {
    margin: 0;
    font: inherit;
    color: inherit;
}

@media (hover:hover) {

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-item):hover {
        transform: translateY(-6px);
        border-color: rgba(0, 156, 231, 0.34);
        box-shadow: 0 22px 46px rgba(4,32,47,0.13), inset 0 1px 0 rgba(255,255,255,0.90);
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-item):hover::before {
        opacity: 1;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-item):hover::after {
        top: 10px;
        bottom: 10px;
        box-shadow: 2px 0 14px rgba(0, 156, 231, 0.40);
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-item):hover :where(.about-trust-icon)::after {
        opacity: .18;
        transform: translateY(4px);
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-item):hover :where(.about-trust-icon .elementor-icon) {
        transform: translateY(-3px) scale(1.07);
        box-shadow: 0 0 0 9px rgba(0,156,231,0.12), 0 15px 32px rgba(0,156,231,0.40), inset 0 1px 0 rgba(255,255,255,0.50);
    }
}


/* ============================================================
   20. SIGNATURE
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-signature) {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    margin-top: 24px;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-signature-line) {
    width: 48px;
    min-width: 48px;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-signature-line .elementor-divider) {
    padding: 0;
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-signature-line .elementor-divider-separator) {
    width: 48px;
    border-block-start: 2px solid var(--ab-secondary);
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-signature-text) {
    font-family: var(--ab-font-display);
    font-weight: 400;
    font-size: clamp(18px, 1.2vw, 21px);
    font-style: italic;
    line-height: 1.4;
    color: var(--ab-primary);
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-signature-text .elementor-widget-container, .about-signature-text p) {
    margin: 0;
    font: inherit;
    color: inherit;
}


/* ============================================================
   21. SCROLL REVEAL
   Memakai properti translate / scale (BUKAN transform) supaya
   tidak menimpa rotasi & hover kartu.
   ============================================================ */

@supports (animation-timeline: view()) {

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image-wrap) {
        animation: aboutImageReveal linear both;
        animation-timeline: view();
        animation-range: entry 0% entry 36%;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-content) {
        animation: aboutContentReveal linear both;
        animation-timeline: view();
        animation-range: entry 0% entry 35%;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-owner-card) {
        animation: aboutOwnerReveal linear both;
        animation-timeline: view();
        animation-range: entry 5% entry 42%;
    }
}

@keyframes aboutImageReveal {
    from { opacity: 0; translate: -35px 0; scale: .975; }
    to   { opacity: 1; translate: 0 0;     scale: 1; }
}

@keyframes aboutContentReveal {
    from { opacity: 0; translate: 0 30px; }
    to   { opacity: 1; translate: 0 0; }
}

@keyframes aboutOwnerReveal {
    from { opacity: 0; translate: 0 35px; }
    to   { opacity: 1; translate: 0 0; }
}


/* ============================================================
   22. LARGE DESKTOP  >= 1600px
   ============================================================ */

@media (min-width:1600px) {

    .elementor-12680 .elementor-element.elementor-element-1711038 {
        --ab-max-width: 1510px;
        padding-top: 82px;
        padding-bottom: 82px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-visual) {
        min-height: 620px;
    }
}


/* ============================================================
   23. LAPTOP  1025 - 1280
   ============================================================ */

@media (min-width:1025px) and (max-width:1280px) {

    .elementor-12680 .elementor-element.elementor-element-1711038 {
        padding: 62px 44px;
        --ab-column-gap: 58px;
        --ab-arch: 170px 38px 26px 26px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-shell) {
        grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-visual) {
        min-height: 530px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image-wrap) {
        width: 76%;
        height: 84%;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-owner-card) {
        width: 210px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-item) {
        padding: 21px 19px 23px 23px;
    }
}


/* ============================================================
   24. TABLET  768 - 1024
   ============================================================ */

@media (min-width:768px) and (max-width:1024px) {

    .elementor-12680 .elementor-element.elementor-element-1711038 {
        --ab-arch: 160px 34px 26px 26px;
        --ab-eyebrow-gap: 22px;
        padding: 66px clamp(30px, 4.5vw, 46px) 68px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038::after {
        font-size: clamp(44px, 8vw, 84px);
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-shell) {
        grid-template-columns: 1fr;
        gap: 54px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-visual) {
        width: 100%;
        min-height: 540px;
        max-width: 660px;
        margin-inline: auto;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image-wrap) {
        width: 68%;
        height: 84%;
        left: 6%;
        top: 0;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image-wrap)::after {
        width: 116px;
        height: 116px;
        left: -38px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-visual)::before {
        left: 4%;
        bottom: 14%;
        width: 74px;
        height: 74px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-owner-card) {
        width: clamp(205px, 27vw, 242px);
        right: 1%;
        bottom: 1%;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-experience) {
        left: 0;
        bottom: 0;
        width: 220px;
        padding: 19px 22px 19px 20px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-content) {
        width: 100%;
        max-width: 760px;
        margin-inline: auto;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-content)::before,
    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-content)::after {
        display: none;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-grid) {
        gap: 14px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-grid > .about-trust-item:nth-child(2),
                    .about-trust-grid > .about-trust-item:nth-child(4)) {
        margin-top: 0;
    }
}


/* ============================================================
   25. TABLET PORTRAIT  768 - 820
   ============================================================ */

@media (min-width:768px) and (max-width:820px) {

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-visual) {
        min-height: 510px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-shell) {
        gap: 48px;
    }
}


/* ============================================================
   26. MOBILE  <= 767px
   ============================================================ */

@media (max-width:767px) {

    .elementor-12680 .elementor-element.elementor-element-1711038 {
        --ab-arch: 140px 26px 20px 20px;
        --ab-owner-radius: 22px 22px 22px 5px;
        --ab-card-radius: 18px 18px 18px 4px;
        --ab-eyebrow-gap: 16px;
        --ab-eyebrow-line: 32px;
        --ab-eyebrow-space: 12px;
        padding: 52px clamp(18px, 5.2vw, 24px) 54px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038::after {
        padding-left: 12px;
        font-size: clamp(34px, 12vw, 58px);
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-shell) {
        grid-template-columns: 1fr;
        gap: 44px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-content)::before,
    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-content)::after {
        display: none;
    }

    /* VISUAL */

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-visual) {
        width: 100%;
        min-height: clamp(420px, 110vw, 500px);
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-visual)::before {
        display: none;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image-wrap) {
        left: 2%;
        top: 0;
        width: 76%;
        height: 74%;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image .elementor-widget-container) {
        border-width: 5px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image-wrap)::before {
        inset: -11px -11px 11px 11px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image-wrap)::after {
        width: 86px;
        height: 86px;
        left: -22px;
        bottom: -22px;
        background-size: 13px 13px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image .elementor-widget-container)::before {
        top: 13px;
        right: 13px;
        width: 6px;
        height: 38px;
    }

    /* OWNER */

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-owner-card) {
        width: clamp(165px, 46vw, 200px);
        right: 0;
        bottom: 3%;
        border-width: 5px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-owner-card)::before {
        left: 14px;
        top: 14px;
        width: 20px;
        height: 3px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-owner-info) {
        padding: 13px 14px 15px;
    }

    /* LOCAL BADGE */

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-experience) {
        left: 0;
        bottom: 1%;
        width: clamp(180px, 51vw, 215px);
        padding: 16px 19px 16px 17px;
    }

    /* CONTENT */

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-eyebrow .elementor-heading-title) {
        font-size: 10.5px;
        letter-spacing: .16em;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-title .elementor-heading-title) {
        font-size: clamp(38px, 10.2vw, 47px);
        line-height: 1.08;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-title)::after {
        width: 84px;
        height: 2px;
        margin-top: 20px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-lead) {
        max-width: 100%;
        margin-top: 20px;
        padding-left: 16px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-company) {
        margin-top: 23px;
        padding: 16px 17px 17px 21px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-description) {
        margin-top: 18px;
    }

    /* TRUST — 1 kolom */

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-grid) {
        grid-template-columns: 1fr;
        gap: 13px;
        margin-top: 27px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-grid > .about-trust-item:nth-child(2),
                    .about-trust-grid > .about-trust-item:nth-child(4)) {
        margin-top: 0;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-grid > .about-trust-item,
                    .about-trust-grid > .about-trust-item:nth-child(even)) {
        border-radius: var(--ab-card-radius);
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-item) {
        grid-template-columns: 48px minmax(0, 1fr);
        grid-template-rows: auto auto;
        column-gap: 15px;
        row-gap: 6px;
        align-items: center;
        padding: 19px 18px 20px 22px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-icon) {
        grid-column: 1;
        grid-row: 1 / 3;
        align-self: start;
        margin-bottom: 0;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-item .about-trust-icon)::after {
        position: absolute;
        left: 62px;
        right: auto;
        top: -4px;
        font-size: 34px;
        opacity: .3;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-title) {
        grid-column: 2;
        grid-row: 1;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-text) {
        grid-column: 2;
        grid-row: 2;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-item)::after {
        top: 16px;
        bottom: 16px;
        width: 3px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-icon .elementor-icon) {
        width: 46px;
        height: 46px;
        box-shadow: 0 0 0 5px rgba(0,156,231,0.10), 0 8px 18px rgba(0,156,231,0.26), inset 0 1px 0 rgba(255,255,255,0.40);
    }

    /* SIGNATURE */

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-signature) {
        margin-top: 22px;
        gap: 13px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-signature-line) {
        width: 32px;
        min-width: 32px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-signature-line .elementor-divider-separator) {
        width: 32px;
    }

    /* WATERMARK ANGKA */

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-shell)::before {
        top: -28px;
        right: 2px;
        font-size: 72px;
    }
}


/* ============================================================
   27. SMALL MOBILE  <= 480px
   ============================================================ */

@media (max-width:480px) {

    .elementor-12680 .elementor-element.elementor-element-1711038 {
        padding-left:  max(18px, env(safe-area-inset-left));
        padding-right: max(18px, env(safe-area-inset-right));
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-visual) {
        min-height: clamp(400px, 106vw, 460px);
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-owner-card) {
        width: 48vw;
        min-width: 170px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-experience) {
        width: clamp(175px, 53vw, 205px);
        padding: 15px 18px 15px 16px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-item .about-trust-icon)::after {
        left: 58px;
        font-size: 30px;
    }
}


/* ============================================================
   28. VERY SMALL MOBILE  <= 374px
   ============================================================ */

@media (max-width:374px) {

    .elementor-12680 .elementor-element.elementor-element-1711038 {
        --ab-eyebrow-line: 26px;
        --ab-eyebrow-space: 10px;
        padding-top: 46px;
        padding-bottom: 48px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-eyebrow .elementor-heading-title) {
        font-size: 10px;
        letter-spacing: .12em;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-visual) {
        min-height: 375px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-main-image-wrap) {
        width: 80%;
        height: 70%;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-owner-card) {
        width: 158px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-experience) {
        width: 175px;
        padding: 14px 17px 14px 15px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-item) {
        padding: 17px 15px 18px 19px;
        grid-template-columns: 42px minmax(0, 1fr);
        column-gap: 13px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-icon .elementor-icon) {
        width: 42px;
        height: 42px;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-item .about-trust-icon)::after {
        left: 52px;
        font-size: 27px;
    }
}


/* ============================================================
   29. TOUCH / REDUCED MOTION / FOCUS / SELECTION
   ============================================================ */

@media (hover:none) and (pointer:coarse) {

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(a, button) {
        -webkit-tap-highlight-color: transparent;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038 :where(.about-trust-item) {
        transform: none;
    }
}

@media (prefers-reduced-motion:reduce) {

    .elementor-12680 .elementor-element.elementor-element-1711038,
    .elementor-12680 .elementor-element.elementor-element-1711038 :where(*, *::before, *::after) {
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
        transition-duration: 0.01ms;
    }

    .elementor-12680 .elementor-element.elementor-element-1711038::before {
        animation: none;
    }
}

.elementor-12680 .elementor-element.elementor-element-1711038 :where(a, button):focus-visible {
    outline: 2px solid var(--ab-secondary);
    outline-offset: 4px;
    border-radius: 8px;
}

.elementor-12680 .elementor-element.elementor-element-1711038 ::selection {
    background: var(--ab-sky);
    color: var(--ab-navy-dark);
}


/* ============================================================
   CATATAN PEMAKAIAN

   1. Ganti teks watermark & angka: --ab-watermark-word dan
      --ab-watermark-no di blok 01.

   2. Jarak eyebrow ke judul: --ab-eyebrow-gap (default 26px,
      sama dengan section Gallery & Signature Tours).

   3. Teks eyebrow di widget Heading (.about-eyebrow), ketik:
        ABOUT US   |   MAI KEBALI TOUR
      (3 spasi di kiri & kanan tanda |).

   4. Bentuk foto utama: --ab-arch di blok 01.
      Simetris: 190px 190px 28px 28px.

   5. Warna ikon trust: --ab-icon-bg. Ingin warna polos dari
      panel? Isi --ab-icon-bg: none; lalu atur warna di panel Icon.
   ============================================================ *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-de0f6f5 *//* =====================================================================
   SIGNATURE TOURS — MAI KEBALI TOUR  (v1.0 — Azure #009CE7)
   Tempel di: Container UTAMA section > Advanced > Custom CSS

   Isi: BODY section + HEADING + TEXT EDITOR saja.
   Loop Grid TIDAK disentuh sama sekali.

   ---------------------------------------------------------------------
   STRUKTUR & CLASS (Advanced > CSS Classes)
   ---------------------------------------------------------------------
   Container UTAMA (section)          -> tanpa class (CSS ini ditempel di sini)
   ├─ Container HEADER                -> mkt-sig-head
   │   ├─ Container judul             -> mkt-sig-title-box
   │   │   └─ Heading (widget)        -> mkt-sig-title
   │   └─ Container deskripsi         -> mkt-sig-desc-box
   │       └─ Text Editor (widget)    -> mkt-sig-desc
   └─ Loop Grid                       -> (bebas, tidak diatur CSS ini)

   TIDAK TERKUNCI
   - Semua aturan dibungkus :where(...) sehingga kekuatannya 0.
     Pengaturan panel Elementor (font, ukuran, warna, jarak, lebar)
     SELALU menang atas CSS ini.
   ===================================================================== */


/* ---------------------------------------------------------------------
   1. PUSAT KENDALI
   --------------------------------------------------------------------- */
:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) {

  /* Warna */
  --sg-primary: #0B2A45;
  --sg-blue: #009CE7;
  --sg-blue-rgb: 0, 156, 231;
  --sg-sky: #5CC8FF;
  --sg-accent: #0070B8;
  --sg-navy-dark: #04202F;

  --sg-bg-top: #F8FCFF;
  --sg-bg-bottom: #EAF4FC;

  --sg-text: #10222F;
  --sg-muted: rgba(16, 34, 47, .72);

  /* Font */
  --sg-font-display: "DM Serif Display", Georgia, serif;
  --sg-font-body: "Poppins", -apple-system, BlinkMacSystemFont, sans-serif;

  /* Eyebrow & watermark (ubah teksnya di sini) */
  --sg-eyebrow-a: "SIGNATURE TOURS";
  --sg-eyebrow-b: "MAI KEBALI TOUR";
  --sg-watermark-word: "SIGNATURE TOURS";

  /* Header */
  --sg-head-gap: clamp(32px, 5vw, 80px);   /* jarak judul <-> deskripsi */
  --sg-desc-width: 44%;                    /* lebar kolom deskripsi (desktop) */
  --sg-desc-max: 560px;
  --sg-eyebrow-gap: 26px;                  /* jarak eyebrow ke judul */
  --sg-eyebrow-line: 48px;                 /* panjang garis biru eyebrow */
  --sg-eyebrow-space: 18px;                /* jarak garis ke teks */

  --sg-ease: cubic-bezier(.22, .75, .2, 1);

  position: relative;
  width: 100%;
  overflow: hidden;
  isolation: isolate;
  box-sizing: border-box;

  font-family: var(--sg-font-body);
  color: var(--sg-text);

  background-color: var(--sg-bg-top);
  background-image: linear-gradient(180deg, var(--sg-bg-top) 0%, var(--sg-bg-bottom) 100%);
}

:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) *,
:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) *::before,
:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) *::after {
  box-sizing: border-box;
}


/* ---------------------------------------------------------------------
   2. AMBIENT GLOW — sisi kanan atas
   --------------------------------------------------------------------- */
:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5)::before {
  content: "";
  position: absolute;
  width: clamp(440px, 56vw, 920px);
  height: clamp(440px, 56vw, 920px);
  right: clamp(-450px, -21vw, -180px);
  top: clamp(-330px, -15vw, -120px);
  z-index: -3;
  pointer-events: none;

  border-radius: 50%;
  background: radial-gradient(
      circle,
      rgba(92, 200, 255, .20) 0%,
      rgba(var(--sg-blue-rgb), .075) 36%,
      transparent 70%
  );
  filter: blur(7px);
  animation: sgGlow 10s ease-in-out infinite;
}

@keyframes sgGlow {
  0%, 100% { opacity: .82; transform: scale(1); }
  50%      { opacity: 1;   transform: scale(1.06); }
}


/* ---------------------------------------------------------------------
   3. TEKSTUR GRID + WATERMARK KATA DI POJOK KIRI BAWAH
   --------------------------------------------------------------------- */
:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5)::after {
  content: var(--sg-watermark-word);

  position: absolute;
  inset: 0;
  z-index: -4;
  pointer-events: none;
  user-select: none;

  display: flex;
  align-items: flex-end;
  justify-content: flex-start;

  padding-left: clamp(16px, 4vw, 70px);
  padding-bottom: 2px;
  white-space: nowrap;

  background-image:
      linear-gradient(rgba(var(--sg-blue-rgb), .030) 1px, transparent 1px),
      linear-gradient(90deg, rgba(var(--sg-blue-rgb), .030) 1px, transparent 1px);
  background-size: 48px 48px;

  font-family: var(--sg-font-display);
  font-size: clamp(50px, 7vw, 120px);
  line-height: .82;
  letter-spacing: -.035em;

  color: transparent;
  -webkit-text-stroke: 1px rgba(var(--sg-blue-rgb), .12);
}


/* ---------------------------------------------------------------------
   4. HEADER — judul kiri, deskripsi kanan (berdampingan)
   Memakai variabel bawaan container Elementor, jadi pengaturan
   Direction / Wrap / Gap dari panel tetap bisa menimpanya.
   --------------------------------------------------------------------- */
:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-head {
  position: relative;

  --flex-direction: row;
  --flex-wrap: nowrap;
  --align-items: flex-end;
  --justify-content: space-between;
  --gap: var(--sg-head-gap);
  --row-gap: var(--sg-head-gap);
  --column-gap: var(--sg-head-gap);
}

/* container judul: fleksibel, tidak memaksa turun */
:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-title-box {
  flex: 1 1 0;
  min-width: 0;
}

/* container deskripsi: lebar tetap di kanan */
:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-desc-box {
  flex: 0 1 var(--sg-desc-width);
  min-width: 0;
  max-width: var(--sg-desc-max);
}

/* watermark angka besar di kanan atas header */
:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-head::after {
  content: var(--sg-watermark-no);
  position: absolute;
  right: 0;
  top: 6px;
  z-index: -1;

  pointer-events: none;
  user-select: none;

  font-family: var(--sg-font-display);
  font-size: clamp(70px, 8vw, 125px);
  line-height: 1;
  letter-spacing: -.04em;

  color: transparent;
  -webkit-text-stroke: 1px rgba(var(--sg-blue-rgb), .16);
  opacity: .9;
}


/* ---------------------------------------------------------------------
   5. HEADING — eyebrow + judul + garis aksen
   Eyebrow & garis menempel di WIDGET Heading (.mkt-sig-title),
   jadi susunannya pasti: eyebrow -> judul -> garis aksen.
   --------------------------------------------------------------------- */
:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-title {
  position: relative;
}

/* eyebrow: garis biru pendek + tulisan, jarak lega */
:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-title::before {
  content: var(--sg-eyebrow-a) "\00a0\00a0\00a0|\00a0\00a0\00a0" var(--sg-eyebrow-b);

  display: block;
  margin-bottom: var(--sg-eyebrow-gap);
  padding-left: calc(var(--sg-eyebrow-line) + var(--sg-eyebrow-space));

  background:
      linear-gradient(90deg, var(--sg-blue), rgba(var(--sg-blue-rgb), .15))
      left center / var(--sg-eyebrow-line) 2px no-repeat;

  font-family: var(--sg-font-body);
  font-size: clamp(11px, .8vw, 13px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--sg-blue);

  pointer-events: none;
  user-select: none;
}

/* garis aksen memudar di bawah judul */
:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-title::after {
  content: "";
  display: block;
  width: 140px;
  height: 3px;
  margin-top: 28px;
  border-radius: 999px;

  background: linear-gradient(
      90deg,
      var(--sg-blue) 0%,
      rgba(var(--sg-blue-rgb), .45) 55%,
      transparent 100%
  );

  transition: width .5s var(--sg-ease);
}

:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-head:hover .mkt-sig-title::after {
  width: 200px;
}

/* judul */
:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-title .elementor-heading-title {
  margin: 0;

  font-family: var(--sg-font-display);
  font-size: clamp(38px, 4.1vw, 64px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.022em;
  color: var(--sg-primary);
  text-wrap: balance;
}

/* <span> di dalam judul = teks gradasi biru */
:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-title .elementor-heading-title span {
  background: linear-gradient(90deg, var(--sg-accent) 0%, var(--sg-blue) 55%, var(--sg-sky) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}


/* ---------------------------------------------------------------------
   6. TEXT EDITOR — deskripsi dengan garis vertikal bergradasi
   Font & warna diatur di elemen widget-nya sendiri (bukan <p>),
   jadi Typography dari panel bisa berubah normal.
   --------------------------------------------------------------------- */
:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-desc {
  position: relative;
  padding-left: 24px;

  font-family: var(--sg-font-body);
  font-size: 16px;
  font-weight: 300;
  line-height: 1.78;
  color: var(--sg-muted);
}

:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-desc::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 2px;
  width: 2px;
  border-radius: 999px;

  background: linear-gradient(
      180deg,
      var(--sg-blue) 0%,
      var(--sg-sky) 58%,
      rgba(var(--sg-blue-rgb), .12) 100%
  );
}

:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-desc p {
  margin: 0;
}

:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-desc p + p {
  margin-top: 12px;
}


/* ---------------------------------------------------------------------
   7. ANIMASI MUNCUL SAAT SCROLL (hanya header, murni CSS)
   --------------------------------------------------------------------- */
@supports (animation-timeline: view()) {
  :where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-head {
    animation: sgFadeUp linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 34%;
  }
}

@keyframes sgFadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}


/* =====================================================================
   RESPONSIVE
   ===================================================================== */

/* ---- Tablet (<= 1024px): tetap berdampingan, lebih rapat ---- */
@media (max-width: 1024px) {

  :where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) {
    --sg-desc-width: 46%;
    --sg-head-gap: clamp(24px, 4vw, 48px);
    --sg-eyebrow-gap: 22px;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-head::after {
    top: 4px;
    font-size: 88px;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-de0f6f5)::after {
    font-size: clamp(44px, 8vw, 84px);
  }

  :where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-desc {
    font-size: 15px;
  }
}


/* ---- Mobile (<= 767px): judul di atas, deskripsi di bawah ---- */
@media (max-width: 767px) {

  :where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) {
    --sg-eyebrow-gap: 16px;
    --sg-eyebrow-line: 32px;
    --sg-eyebrow-space: 12px;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-head {
    --flex-direction: column;
    --align-items: flex-start;
    --justify-content: flex-start;
    --gap: 22px;
    --row-gap: 22px;
    --column-gap: 22px;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-title-box,
  :where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-desc-box {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-title::before {
    font-size: 10.5px;
    letter-spacing: .16em;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-title::after {
    width: 84px;
    height: 2px;
    margin-top: 20px;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-title .elementor-heading-title {
    font-size: clamp(31px, 8.6vw, 40px);
    line-height: 1.1;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-desc {
    padding-left: 16px;
    font-size: 15px;
    line-height: 1.72;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-head::after {
    top: -6px;
    font-size: 64px;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-de0f6f5)::after {
    padding-left: 12px;
    font-size: clamp(34px, 12vw, 58px);
  }
}


/* ---- HP kecil (<= 400px) ---- */
@media (max-width: 400px) {
  :where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) {
    --sg-eyebrow-line: 26px;
    --sg-eyebrow-space: 10px;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) .mkt-sig-title::before {
    font-size: 10px;
    letter-spacing: .12em;
  }
}


/* ---------------------------------------------------------------------
   8. REDUCED MOTION / SELECTION
   --------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  :where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) *,
  :where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) *::before,
  :where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) *::after {
    animation-duration: .01ms;
    animation-iteration-count: 1;
    transition-duration: .01ms;
  }
}

:where(.elementor-12680 .elementor-element.elementor-element-de0f6f5) ::selection {
  background: var(--sg-sky);
  color: var(--sg-navy-dark);
}


/* ---------------------------------------------------------------------
   CATATAN
   * Ganti eyebrow / nomor / kata watermark di blok 1:
       --sg-eyebrow-a, --sg-eyebrow-b, --sg-watermark-no, --sg-watermark-word
   * Lebar deskripsi: --sg-desc-width (contoh 40%)
   * Jarak judul ke deskripsi: --sg-head-gap
   ---------------------------------------------------------------------- *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-94b695d *//* ============================================================
   MAI KEBALI TOUR — TRIPADVISOR REVIEWS
   "AZURE PORTAL" V16 — SECTION 03
   Warna utama: #009CE7

   DIPASANG DI:
   Container UTAMA section review > Advanced > Custom CSS
   (ganti SELURUH isi yang lama dengan file ini)

   ------------------------------------------------------------
   CSS CLASS PER ELEMEN (Advanced > CSS Classes) — tidak berubah
   ------------------------------------------------------------
   Container (utama)              -> mkt-rev
   ├ Container (header)           -> mkt-rev-head
   │ ├ Container (kiri)           -> mkt-rev-head-left
   │ │ └ Heading                  -> mkt-rev-title
   │ └ Container (kanan)          -> mkt-rev-head-right
   │   └ Text Editor              -> mkt-rev-desc
   └ Container (body)             -> mkt-rev-body
     ├ Shortcode (widget TA)      -> mkt-rev-widget
     └ Container (ajakan)         -> mkt-rev-cta
       ├ Heading                  -> mkt-rev-cta-title
       ├ Text Editor              -> mkt-rev-cta-text
       └ Button                   -> mkt-rev-btn

   ------------------------------------------------------------
   YANG BARU DI v16
   ------------------------------------------------------------
   1. KARTU REVIEW (Trustindex) akhirnya benar-benar dirombak.
      Di v15 gayanya kalah oleh CSS bawaan plugin (spesifisitas
      terlalu rendah) sehingga kartu tampak polos. Sekarang kartu
      memakai .elementor-12680 .elementor-element.elementor-element-94b695d yang cukup kuat untuk menimpa plugin:
        - sudut asimetris + gradasi putih -> biru sangat muda
        - garis aksen di atas yang melebar saat hover
        - tanda kutip besar samar di pojok kanan bawah
        - foto profil dengan cincin biru
        - hover: kartu terangkat, bingkai menyala, cincin lembut
        - active (ditekan / digeser di HP): kartu sedikit menciut
   2. Blok ringkasan kiri ("EXCELLENT", bintang, "Based on 18
      reviews") menjadi kartu kaca biru muda.
   3. Tombol panah slider jadi bulat bergaris biru; titik navigasi
      jadi pil yang memanjang saat aktif.
   4. KARTU AJAKAN ("Share your feedback") dibuat gelap sinematik:
      gradasi navy -> biru, cincin konsentris, glow biru, titik-titik,
      garis aksen atas, pil bintang berkelip, tombol putih -> hover
      terisi gradasi biru + kilau + ikon bergoyang.
   5. Panel review tidak lagi ikut terangkat (supaya tidak "dobel
      gerak" dengan kartu di dalamnya) — cukup bingkai menyala.
   6. TETAP RINGAN: tanpa blur / backdrop-filter / filter; animasi
      hanya opacity & transform; dihentikan jika "kurangi gerakan".

   TIDAK TERKUNCI: elemen Elementor (heading, text, button,
   container) memakai :where() / variabel Elementor sehingga panel
   tetap menang. Bagian dalam shortcode (Trustindex) tidak punya
   panel Elementor, jadi memakai .elementor-12680 .elementor-element.elementor-element-94b695d kuat — atur isi/tema
   plugin dari pengaturan Trustindex. Tanpa !important.
   ============================================================ */


/* ============================================================
   01. PUSAT KENDALI
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-94b695d {

    --rv-primary:    #0B2A45;
    --rv-secondary:  #009CE7;
    --rv-secondary-rgb: 0, 156, 231;
    --rv-sky:        #5CC8FF;
    --rv-accent:     #0070B8;
    --rv-navy-dark:  #04202F;
    --rv-navy:       #073A5C;

    --rv-section-top: #F8FCFF;
    --rv-ivory:       #EAF4FC;
    --rv-white:       #FFFFFF;

    --rv-text:  #10222F;
    --rv-muted: rgba(16, 34, 47, 0.72);
    --rv-soft:  rgba(16, 34, 47, 0.56);

    --rv-line: rgba(0, 156, 231, 0.20);

    --rv-font-display: "DM Serif Display", Georgia, serif;
    --rv-font-body:    "Poppins", -apple-system, BlinkMacSystemFont, sans-serif;

    /* teks eyebrow di atas judul */
    --rv-eyebrow-a: "TESTIMONIAL";
    --rv-eyebrow-b: "TRIPADVISOR";

    /* eyebrow -> judul (SAMA dengan section lain) */
    --rv-eyebrow-gap:   26px;
    --rv-eyebrow-line:  48px;
    --rv-eyebrow-space: 18px;

    /* watermark */
    --rv-watermark-no:   "03";
    --rv-watermark-word: "TRIPADVISOR REVIEWS";

    /* pil bintang di kartu ajakan */
    --rv-cta-badge: "★★★★★";

    /* kartu review */
    --rv-card-radius: 20px 20px 20px 5px;
    --rv-card-lift: -4px;

    --rv-max-width: 1440px;

    --rv-ease: cubic-bezier(.2, .75, .2, 1);


    position: relative;
    width: 100%;
    overflow: hidden;
    isolation: isolate;
    box-sizing: border-box;
    font-family: var(--rv-font-body);
    color: var(--rv-text);
    background: linear-gradient(180deg, var(--rv-section-top) 0%, var(--rv-ivory) 100%);

    --padding-top:    clamp(62px, 6vw, 92px);
    --padding-bottom: clamp(62px, 6vw, 92px);
    --padding-left:   clamp(22px, 5vw, 82px);
    --padding-right:  clamp(22px, 5vw, 82px);

    --flex-direction: column;
    --align-items: stretch;
    --gap: clamp(40px, 4.5vw, 64px);
    --row-gap: clamp(40px, 4.5vw, 64px);
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(*),
.elementor-12680 .elementor-element.elementor-element-94b695d *::before,
.elementor-12680 .elementor-element.elementor-element-94b695d *::after {
    box-sizing: border-box;
}


/* ============================================================
   02. RESET OVERLAY BAWAAN ELEMENTOR PADA ::before CONTAINER
   (Elementor memberi .e-con::before: absolute, 100% x 100%)
   Harus SEBELUM aturan ::before lainnya.
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-head, .mkt-rev-head-left, .mkt-rev-cta)::before {
    inset: auto;
    width: auto;
    height: auto;
    opacity: 1;
    z-index: auto;
    mix-blend-mode: normal;
    border-radius: 0;
    transition: none;
    background: none;
}


/* ============================================================
   03. AMBIENT GLOW — sisi kiri (ringan: tanpa blur, opacity saja)
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-94b695d::before {
    content: "";
    position: absolute;
    inset: auto;
    width:  clamp(440px, 56vw, 920px);
    height: clamp(440px, 56vw, 920px);
    left: clamp(-450px, -21vw, -180px);
    top:  clamp(-330px, -15vw, -120px);
    z-index: -3;
    pointer-events: none;
    border-radius: 50%;
    mix-blend-mode: normal;
    background: radial-gradient(circle, rgba(92,200,255,0.20) 0%, rgba(0,156,231,0.075) 36%, transparent 70%);
    animation: revAmbientGlow 10s ease-in-out infinite;
}

@keyframes revAmbientGlow {
    0%, 100% { opacity: .82; }
    50%      { opacity: 1; }
}


/* ============================================================
   04. TEKSTUR GRID + WATERMARK KATA (kiri bawah SECTION)
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-94b695d::after {
    content: var(--rv-watermark-word);

    position: absolute;
    inset: 0;
    z-index: -4;
    pointer-events: none;
    user-select: none;

    display: flex;
    align-items: flex-end;
    justify-content: flex-start;

    padding-left: clamp(16px, 4vw, 70px);
    padding-bottom: 2px;
    white-space: nowrap;

    background-image:
        linear-gradient(rgba(0,156,231,0.030) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,156,231,0.030) 1px, transparent 1px);
    background-size: 48px 48px;

    font-family: var(--rv-font-display);
    font-size: clamp(40px, 5.4vw, 96px);
    line-height: .82;
    letter-spacing: -.035em;

    color: transparent;
    -webkit-text-stroke: 1px rgba(0, 156, 231, 0.12);
}


/* ============================================================
   05. HEADER — judul kiri, deskripsi kanan (BERDAMPINGAN)
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-head) {

    --width: min(100%, var(--rv-max-width));

    --flex-direction: row;
    --flex-wrap: nowrap;
    --align-items: flex-start;
    --justify-content: space-between;

    --gap: clamp(28px, 4vw, 72px);
    --column-gap: clamp(28px, 4vw, 72px);
    --row-gap: 26px;

    --padding-top: 0px;
    --padding-right: 0px;
    --padding-bottom: 0px;
    --padding-left: 0px;

    position: relative;
    margin-inline: auto;
}

/* watermark angka — kanan atas */
.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-head)::before {
    content: var(--rv-watermark-no);
    position: absolute;
    left: auto;
    right: 0;
    top: -52px;
    z-index: -1;
    pointer-events: none;
    user-select: none;
    font-family: var(--rv-font-display);
    font-size: clamp(70px, 8vw, 125px);
    line-height: 1;
    letter-spacing: -0.04em;
    color: transparent;
    -webkit-text-stroke: 1px rgba(0, 156, 231, 0.16);
    opacity: 0.90;
}


/* ============================================================
   06. KOLOM KIRI — eyebrow + judul
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-head-left) {

    --width: 52%;

    --flex-direction: column;
    --align-items: flex-start;

    --gap: var(--rv-eyebrow-gap);
    --row-gap: var(--rv-eyebrow-gap);

    --padding-top: 0px;
    --padding-right: 0px;
    --padding-bottom: 0px;
    --padding-left: 0px;

    position: relative;
    min-width: 0;
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-head-left)::before {
    content: var(--rv-eyebrow-a) "   |   " var(--rv-eyebrow-b);
    position: relative;
    display: block;
    align-self: flex-start;
    white-space: pre;
    padding-left: calc(var(--rv-eyebrow-line) + var(--rv-eyebrow-space));
    background: linear-gradient(90deg, var(--rv-secondary), rgba(0,156,231,.15)) left center / var(--rv-eyebrow-line) 2px no-repeat;
    font-family: var(--rv-font-body);
    font-size: clamp(11px, .8vw, 13px);
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.2em;
    color: var(--rv-secondary);
    pointer-events: none;
    user-select: none;
}


/* ============================================================
   07. JUDUL UTAMA  (Heading widget)
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-title .elementor-heading-title) {
    max-width: 15ch;
    margin: 0;
    font-family: var(--rv-font-display);
    font-weight: 400;
    font-size: clamp(38px, 4.1vw, 64px);
    line-height: 1.06;
    letter-spacing: -0.022em;
    color: var(--rv-primary);
    text-wrap: balance;
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-title .elementor-heading-title span) {
    background: linear-gradient(90deg, var(--rv-accent) 0%, var(--rv-secondary) 55%, var(--rv-sky) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-title)::after {
    content: "";
    display: block;
    width: 140px;
    height: 3px;
    margin-top: 24px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--rv-secondary) 0%, rgba(0,156,231,.45) 55%, transparent 100%);
    transition: width .5s var(--rv-ease);
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-head):hover :where(.mkt-rev-title)::after {
    width: 200px;
}


/* ============================================================
   08. KOLOM KANAN — deskripsi
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-head-right) {

    --width: 40%;

    --flex-direction: column;
    --align-items: flex-start;
    --justify-content: center;

    --padding-top: 10px;
    --padding-right: 0px;
    --padding-bottom: 0px;
    --padding-left: 0px;

    min-width: 0;
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-desc) {
    position: relative;
    max-width: 520px;
    margin-left: auto;
    padding-left: 24px;
    font-family: var(--rv-font-body);
    font-size: 16px;
    font-weight: 300;
    line-height: 1.78;
    color: var(--rv-muted);
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-desc)::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    bottom: 2px;
    width: 2px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--rv-secondary) 0%, var(--rv-sky) 58%, rgba(92,200,255,.12) 100%);
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-desc .elementor-widget-container, .mkt-rev-desc p) {
    margin: 0;
    font: inherit;
    color: inherit;
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-desc p + p) {
    margin-top: 12px;
}


/* ============================================================
   09. BODY — pembungkus widget + ajakan
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-body) {

    --width: min(100%, var(--rv-max-width));

    --flex-direction: column;
    --align-items: stretch;

    --gap: clamp(34px, 4vw, 52px);
    --row-gap: clamp(34px, 4vw, 52px);

    --padding-top: 0px;
    --padding-right: 0px;
    --padding-bottom: 0px;
    --padding-left: 0px;

    position: relative;
    margin-inline: auto;
}


/* ============================================================
   10. PANEL REVIEW TRIPADVISOR (Shortcode)
   Bingkai tipis -> garis aksen atas -> glow sudut.
   Hover / fokus: bingkai menyala, aksen melebar (panel diam,
   kartu di dalamnya yang bergerak).
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-widget) {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(24px, 2.8vw, 38px) clamp(16px, 2vw, 28px);

    border: 1px solid var(--rv-line);
    border-radius: 24px 24px 24px 6px;
    background: linear-gradient(165deg, rgba(255,255,255,0.94) 0%, rgba(234,244,252,0.82) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.85),
        0 18px 44px rgba(4,32,47,0.08);

    transition: border-color .45s ease, box-shadow .55s var(--rv-ease);
}

/* garis aksen atas: pendek di tengah, melebar saat hover */
.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-widget)::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 3px;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        transparent 0%,
        var(--rv-sky) 22%,
        var(--rv-secondary) 50%,
        var(--rv-accent) 78%,
        transparent 100%
    );
    transform: scaleX(.34);
    transform-origin: center;
    opacity: .9;
    transition: transform .8s var(--rv-ease), opacity .4s ease;
}

/* glow sudut kanan atas */
.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-widget)::after {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    right: -90px;
    top: -110px;
    z-index: -1;
    border-radius: 50%;
    pointer-events: none;
    background: radial-gradient(circle, rgba(92,200,255,0.24) 0%, rgba(0,156,231,0.06) 52%, transparent 72%);
    transition: transform .8s var(--rv-ease);
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-widget .elementor-widget-container) {
    position: relative;
    z-index: 1;
    max-width: 100%;
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-widget iframe, .mkt-rev-widget img) {
    max-width: 100%;
}

@media (hover: hover) {

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-widget):hover,
    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-widget):focus-within {
        border-color: rgba(0, 156, 231, 0.40);
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,0.90),
            0 0 0 4px rgba(0,156,231,0.08),
            0 30px 64px -22px rgba(0,156,231,0.36);
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-widget):hover::before,
    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-widget):focus-within::before {
        transform: scaleX(1);
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-widget):hover::after,
    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-widget):focus-within::after {
        transform: scale(1.18);
    }
}


/* ============================================================
   10b. ISI SHORTCODE (Trustindex) — kartu review, ringkasan, kontrol
   Selector sengaja KUAT (.elementor-12680 .elementor-element.elementor-element-94b695d + .mkt-rev-widget + .ti-widget ...)
   supaya menimpa CSS bawaan plugin. Isi/teks review tetap diatur
   dari plugin Trustindex.
   ============================================================ */

/* ruang vertikal agar kartu terangkat & bayangannya tidak terpotong
   (padding + margin negatif = ukuran slider tidak berubah) */
.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-reviews-container-wrapper {
    padding-block: 12px;
    margin-block: -12px;
}

/* ---------- KARTU REVIEW ---------- */
.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-review-item > .ti-inner {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(0, 156, 231, 0.18);
    border-radius: var(--rv-card-radius);
    background: linear-gradient(165deg, #FFFFFF 0%, #F2F9FE 100%);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.9),
        0 12px 30px -18px rgba(4,32,47,0.30);
    transition:
        translate .45s var(--rv-ease),
        scale .3s var(--rv-ease),
        border-color .4s ease,
        box-shadow .45s var(--rv-ease);
}

/* garis aksen atas: pendek di kiri, melebar saat hover */
.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-review-item > .ti-inner::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 3px;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(90deg, var(--rv-secondary), var(--rv-sky) 60%, transparent 100%);
    transform: scaleX(.22);
    transform-origin: left center;
    transition: transform .65s var(--rv-ease);
}

/* tanda kutip besar samar di pojok kanan bawah */
.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-review-item > .ti-inner::before {
    content: "\201C";
    position: absolute;
    right: 16px;
    bottom: -14px;
    z-index: 0;
    pointer-events: none;
    font-family: var(--rv-font-display);
    font-size: 96px;
    line-height: 1;
    color: rgba(0, 156, 231, 0.10);
    transition: transform .6s var(--rv-ease), color .4s ease;
}

/* isi kartu di atas dekorasi */
.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-review-item > .ti-inner > * {
    position: relative;
    z-index: 1;
}

/* foto profil: cincin biru (dibuat dari padding + background, tidak terpotong) */
.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-profile-img img {
    box-sizing: border-box;
    padding: 2px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--rv-sky), var(--rv-secondary) 60%, var(--rv-accent));
}

/* nama & tanggal */
.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-name {
    font-weight: 600;
    color: var(--rv-primary);
}

.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-date {
    color: var(--rv-soft);
}

/* teks review */
.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-review-content,
.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-review-text-container {
    line-height: 1.62;
    color: rgba(16, 34, 47, 0.80);
}

/* "Read more" */
.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-read-more,
.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-read-more span {
    font-weight: 500;
    color: var(--rv-secondary);
    transition: color .3s ease;
}

.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-read-more:hover,
.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-read-more:hover span {
    color: var(--rv-accent);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* HOVER */
@media (hover: hover) {

    .elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-review-item > .ti-inner:hover {
        translate: 0 var(--rv-card-lift);
        border-color: rgba(0, 156, 231, 0.46);
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,0.95),
            0 0 0 3px rgba(0,156,231,0.09),
            0 26px 46px -20px rgba(0,156,231,0.50);
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-review-item > .ti-inner:hover::after {
        transform: scaleX(1);
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-review-item > .ti-inner:hover::before {
        color: rgba(0, 156, 231, 0.20);
        transform: translate(-4px, -4px) scale(1.08);
    }
}

/* ACTIVE: ditekan / digeser */
.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-review-item > .ti-inner:active {
    translate: 0 -1px;
    scale: .985;
}

/* ---------- RINGKASAN KIRI (EXCELLENT / bintang / jumlah) ---------- */
.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-header {
    border-radius: 20px 20px 20px 5px;
    background: linear-gradient(165deg, rgba(0,156,231,0.08) 0%, rgba(92,200,255,0.03) 100%);
    box-shadow: inset 0 0 0 1px rgba(0, 156, 231, 0.14);
}

.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-header strong {
    letter-spacing: 0.06em;
    color: var(--rv-primary);
}

/* ---------- TOMBOL PANAH SLIDER ---------- */
.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-controls .ti-next,
.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-controls .ti-prev {
    border: 1px solid rgba(0, 156, 231, 0.30);
    border-radius: 50%;
    background-color: #FFFFFF;
    box-shadow: 0 10px 22px -10px rgba(0, 156, 231, 0.55);
    transition: scale .3s var(--rv-ease), background-color .3s ease, border-color .3s ease, box-shadow .3s ease;
}

@media (hover: hover) {

    .elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-controls .ti-next:hover,
    .elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-controls .ti-prev:hover {
        scale: 1.1;
        border-color: var(--rv-secondary);
        background-color: #EAF7FF;
        box-shadow: 0 0 0 4px rgba(0,156,231,0.12), 0 14px 26px -10px rgba(0,156,231,0.6);
    }
}

.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-controls .ti-next:active,
.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-controls .ti-prev:active {
    scale: .92;
}

/* ---------- TITIK NAVIGASI ---------- */
.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-controls-dots .dot {
    border-radius: 999px;
    background: rgba(0, 156, 231, 0.30);
    transition: width .4s var(--rv-ease), background-color .3s ease;
}

.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-controls-dots .dot.active {
    width: 26px;
    background: var(--rv-secondary);
}

/* slider umum (Swiper) */
.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-widget .swiper-pagination-bullet) {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: rgba(0,156,231,0.35);
    opacity: 1;
    transition: width .4s var(--rv-ease), background .3s ease;
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-widget .swiper-pagination-bullet-active) {
    width: 28px;
    background: var(--rv-secondary);
}


/* ============================================================
   11. KARTU AJAKAN (CTA) — "Share your feedback"
   Gelap sinematik: gradasi navy -> biru, 3 cincin konsentris kiri
   bawah, glow biru, garis aksen atas, pola titik kanan atas.
   Semua dekorasi di layer background (ringan).
   Warna teks lewat variabel --rv-cta-title / --rv-cta-text.
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-cta) {

    --width: 100%;

    --flex-direction: column;
    --align-items: center;
    --justify-content: center;

    --gap: 16px;
    --row-gap: 16px;

    --padding-top: clamp(38px, 4.2vw, 58px);
    --padding-right: clamp(20px, 3vw, 44px);
    --padding-bottom: clamp(40px, 4.4vw, 60px);
    --padding-left: clamp(20px, 3vw, 44px);

    --border-style: solid;
    --border-color: rgba(92, 200, 255, 0.30);
    --border-top-width: 1px;
    --border-right-width: 1px;
    --border-bottom-width: 1px;
    --border-left-width: 1px;
    --border-radius: 28px 28px 6px 28px;

    /* warna teks kartu (panel Typography / Text Color tetap menang) */
    --rv-cta-title: #FFFFFF;
    --rv-cta-text: rgba(234, 247, 255, 0.82);

    position: relative;
    isolation: isolate;
    overflow: hidden;
    text-align: center;

    background:
        /* cincin konsentris kiri bawah */
        radial-gradient(circle at 0% 100%, transparent 89px,  rgba(92,200,255,.28) 90px,  transparent 91px),
        radial-gradient(circle at 0% 100%, transparent 139px, rgba(92,200,255,.19) 140px, transparent 141px),
        radial-gradient(circle at 0% 100%, transparent 189px, rgba(92,200,255,.12) 190px, transparent 191px),
        /* garis aksen atas */
        linear-gradient(90deg, transparent 0%, var(--rv-sky) 30%, #FFFFFF 50%, var(--rv-sky) 70%, transparent 100%) top center / 34% 3px no-repeat,
        /* glow biru */
        radial-gradient(60% 100% at 100% 0%, rgba(0,156,231,0.55) 0%, transparent 70%),
        radial-gradient(55% 90% at 0% 100%, rgba(92,200,255,0.20) 0%, transparent 70%),
        linear-gradient(135deg, var(--rv-navy-dark) 0%, var(--rv-navy) 58%, var(--rv-accent) 135%);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.10),
        0 26px 56px -26px rgba(4,32,47,0.60);

    transition:
        transform .55s var(--rv-ease),
        box-shadow .55s var(--rv-ease);
}

/* cadangan border/radius (kalah oleh variabel Elementor) */
:where(.elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-cta) {
    border: 1px solid rgba(92, 200, 255, 0.30);
    border-radius: 28px 28px 6px 28px;
}

/* pil bintang — item pertama di kartu, berkelip pelan */
.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-cta)::before {
    content: var(--rv-cta-badge);
    position: relative;
    display: inline-block;
    padding: 8px 12px 8px 20px;
    border: 1px solid rgba(92, 200, 255, 0.45);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255,255,255,0.12) 0%, rgba(92,200,255,0.10) 100%);
    box-shadow: 0 10px 22px -12px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.14);
    font-family: var(--rv-font-body);
    font-size: 13px;
    line-height: 1;
    letter-spacing: .28em;
    color: var(--rv-sky);
    pointer-events: none;
    user-select: none;
    animation: revTwinkle 3.4s ease-in-out infinite;
    transition: letter-spacing .5s var(--rv-ease);
}

@keyframes revTwinkle {
    0%, 100% { opacity: .78; }
    50%      { opacity: 1; }
}

/* pola titik — kanan atas */
.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-cta)::after {
    content: "";
    position: absolute;
    width: 150px;
    height: 120px;
    right: 16px;
    top: 14px;
    z-index: 0;
    background-image: radial-gradient(rgba(255,255,255,0.40) 1.6px, transparent 1.6px);
    background-size: 16px 16px;
    -webkit-mask-image: linear-gradient(225deg, black 16%, transparent 74%);
    mask-image: linear-gradient(225deg, black 16%, transparent 74%);
    pointer-events: none;
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-cta > .elementor-element) {
    position: relative;
    z-index: 1;
}

@media (hover: hover) {

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-cta):hover {
        transform: translateY(-5px);
        --border-color: rgba(92, 200, 255, 0.60);
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,0.14),
            0 0 0 4px rgba(0,156,231,0.14),
            0 34px 66px -26px rgba(0,156,231,0.55);
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-cta):hover::before {
        letter-spacing: .38em;
    }
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-cta):active {
    transform: translateY(-2px) scale(.995);
}


/* ============================================================
   12. CTA — JUDUL  (Heading widget)
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-cta-title .elementor-heading-title) {
    margin: 0;
    font-family: var(--rv-font-display);
    font-weight: 400;
    font-size: clamp(30px, 2.8vw, 44px);
    line-height: 1.1;
    letter-spacing: -0.018em;
    color: var(--rv-cta-title);
    text-wrap: balance;
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-cta-title .elementor-heading-title span) {
    background: linear-gradient(90deg, var(--rv-sky) 0%, #FFFFFF 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}


/* ============================================================
   13. CTA — TEKS  (Text Editor widget)
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-cta-text) {
    max-width: 640px;
    margin-inline: auto;
    font-family: var(--rv-font-body);
    font-size: 16px;
    font-weight: 300;
    line-height: 1.75;
    color: var(--rv-cta-text);
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-cta-text .elementor-widget-container, .mkt-rev-cta-text p) {
    margin: 0;
    font: inherit;
    color: inherit;
}


/* ============================================================
   14. CTA — BUTTON
   Normal : putih + border biru muda + glow
   Hover  : terisi gradasi biru, kilau melintas, terangkat, ikon bergoyang
   Active : menciut
   Warna / font teks dari panel Elementor tetap menang.
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-btn) {
    text-align: center;
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-btn .elementor-button) {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 8px;
    padding: 17px 38px;

    background-color: #FFFFFF;
    background-image: none;
    border: 2px solid var(--rv-sky);
    border-radius: 999px;
    color: var(--rv-accent);

    font-family: var(--rv-font-body);
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.04em;

    box-shadow: 0 14px 28px -14px rgba(0,0,0,0.55), 0 0 0 5px rgba(92,200,255,0.12);

    transition:
        color .35s var(--rv-ease),
        border-color .35s var(--rv-ease),
        box-shadow .4s var(--rv-ease),
        transform .35s var(--rv-ease);
}

/* isian gradasi naik dari bawah */
.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-btn .elementor-button)::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: linear-gradient(180deg, var(--rv-sky) 0%, var(--rv-secondary) 58%, var(--rv-accent) 100%);
    transform: scaleY(0);
    transform-origin: bottom center;
    transition: transform .45s var(--rv-ease);
}

/* kilau */
.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-btn .elementor-button)::after {
    content: "";
    position: absolute;
    top: 0;
    left: -75%;
    z-index: 0;
    width: 50%;
    height: 100%;
    background: linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.55) 50%, rgba(255,255,255,0) 100%);
    transform: skewX(-20deg);
    transition: left .7s var(--rv-ease);
    pointer-events: none;
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-btn .elementor-button-content-wrapper) {
    position: relative;
    z-index: 1;
    align-items: center;
    gap: 10px;
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-btn .elementor-button-icon) {
    display: inline-flex;
    transition: transform .45s var(--rv-ease);
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-btn .elementor-button):hover,
.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-btn .elementor-button):focus-visible {
    color: #FFFFFF;
    border-color: #FFFFFF;
    transform: translateY(-3px);
    box-shadow:
        0 18px 34px -10px rgba(0,156,231,0.70),
        0 0 0 6px rgba(92,200,255,0.20);
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-btn .elementor-button):hover::before,
.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-btn .elementor-button):focus-visible::before {
    transform: scaleY(1);
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-btn .elementor-button):hover::after,
.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-btn .elementor-button):focus-visible::after {
    left: 125%;
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-btn .elementor-button):hover :where(.elementor-button-icon) {
    transform: rotate(-10deg) scale(1.18);
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-btn .elementor-button):active {
    transform: translateY(-1px) scale(.965);
    box-shadow: 0 8px 18px -8px rgba(0,156,231,0.60), 0 0 0 4px rgba(92,200,255,0.18);
}

.elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-btn .elementor-button):focus-visible {
    outline: 2px solid #FFFFFF;
    outline-offset: 4px;
}


/* ============================================================
   15. SCROLL REVEAL
   fill "backwards": animasi hanya aktif SAAT elemen masuk layar,
   setelah itu tidak menahan transform -> efek hover tetap jalan.
   ============================================================ */

@supports (animation-timeline: view()) {

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-head) {
        animation: revFadeUp linear backwards;
        animation-timeline: view();
        animation-range: entry 0% entry 34%;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-widget) {
        animation: revFadeUp linear backwards;
        animation-timeline: view();
        animation-range: entry 0% entry 40%;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-cta) {
        animation: revFadeUp linear backwards;
        animation-timeline: view();
        animation-range: entry 0% entry 46%;
    }
}

@keyframes revFadeUp {
    from { opacity: 0; transform: translateY(30px); }
    to   { opacity: 1; transform: translateY(0); }
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

/* ---------- LARGE DESKTOP >= 1600px ---------- */

@media (min-width:1600px) {

    .elementor-12680 .elementor-element.elementor-element-94b695d {
        --rv-max-width: 1510px;
    }
}


/* ---------- LAPTOP 1025 - 1280 ---------- */

@media (min-width:1025px) and (max-width:1280px) {

    .elementor-12680 .elementor-element.elementor-element-94b695d {
        --padding-left: 44px;
        --padding-right: 44px;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-head-left) {
        --width: 54%;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-head-right) {
        --width: 42%;
    }
}


/* ---------- TABLET & MOBILE <= 1024px ---------- */

@media (max-width:1024px) {

    .elementor-12680 .elementor-element.elementor-element-94b695d {
        --rv-eyebrow-gap: 22px;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d::after {
        font-size: clamp(38px, 7vw, 76px);
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-head) {
        --flex-wrap: wrap;
        flex-wrap: wrap;
        --row-gap: 24px;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-head-left, .mkt-rev-head-right) {
        --width: 100%;
        width: 100%;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-head-right) {
        --padding-top: 0px;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-desc) {
        margin-left: 0;
        max-width: 100%;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-title .elementor-heading-title) {
        max-width: 20ch;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-head)::before {
        top: -44px;
        font-size: 88px;
    }
}


/* ---------- TABLET 768 - 1024 ---------- */

@media (min-width:768px) and (max-width:1024px) {

    .elementor-12680 .elementor-element.elementor-element-94b695d {
        --padding-left: clamp(30px, 4.5vw, 46px);
        --padding-right: clamp(30px, 4.5vw, 46px);
    }
}


/* ---------- MOBILE <= 767px ---------- */

@media (max-width:767px) {

    .elementor-12680 .elementor-element.elementor-element-94b695d {
        --rv-eyebrow-gap: 16px;
        --rv-eyebrow-line: 32px;
        --rv-eyebrow-space: 12px;
        --rv-card-radius: 16px 16px 16px 4px;

        --padding-top: 52px;
        --padding-bottom: 56px;
        --padding-left: clamp(18px, 5.2vw, 24px);
        --padding-right: clamp(18px, 5.2vw, 24px);
        --gap: 34px;
        --row-gap: 34px;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d::after {
        padding-left: 12px;
        font-size: clamp(30px, 10.5vw, 52px);
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-head) {
        --row-gap: 20px;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-head-left) {
        --gap: 16px;
        --row-gap: 16px;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-head-left)::before {
        font-size: 10.5px;
        letter-spacing: 0.16em;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-head)::before {
        top: -30px;
        right: 0;
        font-size: 64px;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-title .elementor-heading-title) {
        max-width: 100%;
        font-size: clamp(31px, 8.6vw, 40px);
        line-height: 1.1;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-title)::after {
        width: 84px;
        height: 2px;
        margin-top: 18px;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-desc) {
        padding-left: 16px;
        font-size: 15px;
        line-height: 1.72;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-body) {
        --gap: 26px;
        --row-gap: 26px;
    }

    /* panel review */
    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-widget) {
        padding: 20px 12px;
        border-radius: 18px 18px 18px 5px;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-widget)::after {
        width: 170px;
        height: 170px;
        right: -64px;
        top: -80px;
    }

    /* kartu review: tanda kutip lebih kecil */
    .elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-review-item > .ti-inner::before {
        font-size: 72px;
        right: 12px;
        bottom: -10px;
    }

    /* kartu ajakan */
    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-cta) {
        --padding-top: 32px;
        --padding-right: 20px;
        --padding-bottom: 34px;
        --padding-left: 20px;
        --gap: 13px;
        --row-gap: 13px;
        --border-radius: 22px 22px 5px 22px;

        background:
            radial-gradient(circle at 0% 100%, transparent 59px,  rgba(92,200,255,.28) 60px,  transparent 61px),
            radial-gradient(circle at 0% 100%, transparent 99px,  rgba(92,200,255,.18) 100px, transparent 101px),
            linear-gradient(90deg, transparent 0%, var(--rv-sky) 30%, #FFFFFF 50%, var(--rv-sky) 70%, transparent 100%) top center / 46% 3px no-repeat,
            radial-gradient(70% 70% at 100% 0%, rgba(0,156,231,0.50) 0%, transparent 70%),
            radial-gradient(70% 60% at 0% 100%, rgba(92,200,255,0.18) 0%, transparent 70%),
            linear-gradient(150deg, var(--rv-navy-dark) 0%, var(--rv-navy) 60%, var(--rv-accent) 140%);
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-cta)::before {
        padding: 7px 10px 7px 16px;
        font-size: 12px;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-cta)::after {
        width: 96px;
        height: 84px;
        right: 10px;
        top: 10px;
        background-size: 14px 14px;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-cta-title .elementor-heading-title) {
        font-size: clamp(26px, 7.4vw, 32px);
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-cta-text) {
        font-size: 15px;
        line-height: 1.7;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-btn) {
        width: 100%;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-btn .elementor-button) {
        width: 100%;
        min-height: 54px;
        padding: 16px 26px;
    }
}


/* ---------- SMALL MOBILE <= 480px ---------- */

@media (max-width:480px) {

    .elementor-12680 .elementor-element.elementor-element-94b695d {
        --padding-left: max(18px, env(safe-area-inset-left));
        --padding-right: max(18px, env(safe-area-inset-right));
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-head-left)::before {
        letter-spacing: 0.13em;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-widget) {
        padding: 18px 10px;
    }
}


/* ---------- VERY SMALL MOBILE <= 374px ---------- */

@media (max-width:374px) {

    .elementor-12680 .elementor-element.elementor-element-94b695d {
        --rv-eyebrow-line: 26px;
        --rv-eyebrow-space: 10px;
        --padding-top: 46px;
        --padding-bottom: 48px;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-head-left)::before {
        font-size: 10px;
        letter-spacing: 0.11em;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-cta) {
        --padding-right: 16px;
        --padding-left: 16px;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-cta)::before {
        letter-spacing: .2em;
    }
}


/* ============================================================
   TOUCH / REDUCED MOTION / SELECTION
   ============================================================ */

@media (hover:none) and (pointer:coarse) {

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(a, button) {
        -webkit-tap-highlight-color: transparent;
    }

    /* layar sentuh: garis aksen panel & kartu langsung terlihat lebih panjang */
    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-widget)::before {
        transform: scaleX(.7);
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d .mkt-rev-widget .ti-widget .ti-review-item > .ti-inner::after {
        transform: scaleX(.5);
    }
}

@media (prefers-reduced-motion:reduce) {

    .elementor-12680 .elementor-element.elementor-element-94b695d :where(*),
    .elementor-12680 .elementor-element.elementor-element-94b695d *::before,
    .elementor-12680 .elementor-element.elementor-element-94b695d *::after {
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
        transition-duration: 0.01ms;
    }

    .elementor-12680 .elementor-element.elementor-element-94b695d::before,
    .elementor-12680 .elementor-element.elementor-element-94b695d :where(.mkt-rev-cta)::before {
        animation: none;
    }
}

.elementor-12680 .elementor-element.elementor-element-94b695d ::selection {
    background: var(--rv-sky);
    color: var(--rv-navy-dark);
}


/* ============================================================
   CATATAN

   1. Eyebrow, watermark, bintang: ubah lewat variabel di blok 01
      (--rv-eyebrow-a/b, --rv-watermark-no/word, --rv-cta-badge).

   2. Kartu review: radius & tinggi angkat hover diatur lewat
      --rv-card-radius dan --rv-card-lift (blok 01).

   3. Jika kartu review TIDAK berubah: nama class plugin mungkin
      berbeda. Klik kanan kartu > Inspect, lihat class elemen kartu
      (biasanya .ti-review-item > .ti-inner) lalu sesuaikan di blok 10b.
      Ukuran/teks/jumlah kartu tetap diatur dari plugin Trustindex.

   4. Warna & font teks di kartu ajakan / tombol: jika di panel
      Elementor sudah diset (Style > Typography / Text Color),
      panel yang menang. Kartu ajakan sekarang GELAP, jadi pastikan
      warna teks di panel (jika ada) terang — atau kosongkan agar
      memakai --rv-cta-title / --rv-cta-text.

   5. Kartu ajakan ingin kembali terang? Ubah gradasi terakhir di
      background blok 11 menjadi linear-gradient(165deg,#FFFFFF,#EAF4FC)
      dan set --rv-cta-title: #0B2A45; --rv-cta-text: rgba(16,34,47,.56).
   ============================================================ *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-365fcda *//* ============================================================
   MAI KEBALI TOUR — TOUR CATEGORY TABS
   "AZURE PORTAL" V15 — SECTION TABS  (Azure #009CE7)

   DIPASANG DI:
   Container UTAMA (pembungkus Tabs) > Advanced > Custom CSS
   (ganti SELURUH isi yang lama dengan file ini)

   ------------------------------------------------------------
   CSS CLASS PER ELEMEN (Advanced > CSS Classes) — TIDAK BERUBAH
   ------------------------------------------------------------
   Container (utama)          -> mkt-tabs-sec
   └ Tabs (widget)            -> mkt-tabs
     ├ Tab #1 (container isi) -> mkt-tab-panel
     │ └ Loop Grid            -> mkt-tab-grid
     ├ Tab #2 (container isi) -> mkt-tab-panel
     │ └ Loop Grid            -> mkt-tab-grid
     └ ... (tab berikutnya sama)

   ------------------------------------------------------------
   YANG BARU DI v15  (desktop & tablet TIDAK berubah)
   ------------------------------------------------------------
   TAMPILAN MOBILE (<= 767px):
   1. TAB BERBENTUK PILL BERBORDER BIRU (bukan teks polos lagi)
        - Tidak aktif : pill putih dengan border biru mengelilingi
        - Hover / ditekan : TERISI gradasi biru dari bawah ke atas,
                            teks jadi putih, pill terangkat + glow
        - Aktif       : terisi penuh gradasi biru + glow + cincin tipis
      Tinggi pill 46px (nyaman disentuh).

   2. JELAS TERLIHAT BISA DIGESER KE SAMPING
        - Barisan tab menembus sampai tepi layar, jadi pill berikutnya
          terlihat "mengintip" di tepi kanan
        - Pudar halus di tepi kanan
        - Garis PROGRESS (rel + penunjuk biru) di bawah tab yang bergeser
          mengikuti geseran jari (browser yang mendukung scroll-driven
          animation; browser lain menampilkan penunjuk di posisi awal)
        - Tab menempel rapi (scroll snap) saat digeser

   3. JARAK KE KARTU TOUR LEBIH LEGA: ruang di bawah pill + ruang di
      atas isi tab (sebelumnya terlalu mepet).

   TIDAK TERKUNCI & RINGAN
   - Pemilih memakai :where(), jadi Style panel Elementor (font, warna,
     jarak) selalu menang. Tanpa !important.
   - Satu pengecualian disengaja: teks pill yang TERISI (hover/aktif)
     dipaksa putih lewat -webkit-text-fill-color, supaya tetap terbaca
     walau warna teks aktif di panel diset biru. Ubah lewat
     --tb-pill-on-text di blok 01.
   ============================================================ */


/* ============================================================
   01. PUSAT KENDALI
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-365fcda {

    /* --- warna (sama dengan section lain) --- */
    --tb-primary:    #0B2A45;
    --tb-secondary:  #009CE7;
    --tb-sky:        #5CC8FF;
    --tb-accent:     #0070B8;
    --tb-navy-dark:  #04202F;

    --tb-section-top: #F8FCFF;
    --tb-ivory:       #EAF4FC;
    --tb-white:       #FFFFFF;

    /* warna tepi atas/bawah — untuk menyambung dengan section tetangga
       edge-top    = warna DASAR section di atas  (biasanya #EAF4FC)
       edge-bottom = warna AWAL section di bawah  (biasanya #F8FCFF) */
    --tb-edge-top:    #EAF4FC;
    --tb-edge-bottom: #F8FCFF;
    --tb-edge-fade:   260px;

    --tb-text:  #10222F;
    --tb-muted: rgba(16, 34, 47, 0.72);
    --tb-soft:  rgba(16, 34, 47, 0.52);

    --tb-line: rgba(0, 156, 231, 0.20);

    /* pill mobile */
    --tb-pill-border: rgba(0, 156, 231, 0.55);
    --tb-pill-bg: rgba(255, 255, 255, 0.84);
    --tb-pill-on-text: #FFFFFF;               /* warna teks pill yang terisi (hover / aktif) */

    --tb-font-display: "DM Serif Display", Georgia, serif;
    --tb-font-body:    "Poppins", -apple-system, BlinkMacSystemFont, sans-serif;

    /* watermark (ubah teksnya di sini) */
    --tb-watermark-word: "OUR TOURS";

    --tb-max-width: 1440px;

    --tb-ease: cubic-bezier(.2, .75, .2, 1);


    position: relative;
    width: 100%;
    overflow: hidden;
    isolation: isolate;
    box-sizing: border-box;
    font-family: var(--tb-font-body);
    color: var(--tb-text);

    background: linear-gradient(
        180deg,
        var(--tb-edge-top) 0,
        var(--tb-section-top) var(--tb-edge-fade),
        var(--tb-section-top) calc(100% - var(--tb-edge-fade)),
        var(--tb-edge-bottom) 100%
    );

    --padding-top:    clamp(58px, 5.5vw, 86px);
    --padding-bottom: clamp(58px, 5.5vw, 86px);
    --padding-left:   clamp(22px, 5vw, 82px);
    --padding-right:  clamp(22px, 5vw, 82px);

    --flex-direction: column;
    --align-items: stretch;
    --gap: clamp(32px, 3.6vw, 48px);
    --row-gap: clamp(32px, 3.6vw, 48px);
}

.elementor-12680 .elementor-element.elementor-element-365fcda :where(*),
.elementor-12680 .elementor-element.elementor-element-365fcda *::before,
.elementor-12680 .elementor-element.elementor-element-365fcda *::after {
    box-sizing: border-box;
}


/* ============================================================
   02. AMBIENT GLOW — tengah atas, TIDAK menyentuh tepi atas
   (memudar sebelum batas section, jadi tidak ada garis potong)
   Ringan: tanpa blur, hanya opacity yang beranimasi.
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-365fcda::before {
    content: "";
    position: absolute;
    inset: auto;
    width:  clamp(420px, 52vw, 860px);
    height: clamp(420px, 52vw, 860px);
    left: 50%;
    top:  clamp(24px, 5vw, 80px);
    z-index: -3;
    pointer-events: none;
    transform: translateX(-50%);
    border-radius: 50%;
    mix-blend-mode: normal;
    background: radial-gradient(
        circle,
        rgba(92, 200, 255, 0.18) 0%,
        rgba(0, 156, 231, 0.07) 38%,
        transparent 68%
    );
    animation: tbAmbientGlow 11s ease-in-out infinite;
}

@keyframes tbAmbientGlow {
    0%, 100% { opacity: .82; }
    50%      { opacity: 1; }
}


/* ============================================================
   03. TEKSTUR GRID + WATERMARK KATA (pojok kiri bawah)
   Sama dengan section Gallery, Signature, About, Reviews.
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-365fcda::after {
    content: var(--tb-watermark-word);

    position: absolute;
    inset: 0;
    z-index: -4;
    pointer-events: none;
    user-select: none;

    display: flex;
    align-items: flex-end;
    justify-content: flex-start;

    padding-left: clamp(16px, 4vw, 70px);
    padding-bottom: 2px;
    white-space: nowrap;

    background-image:
        linear-gradient(rgba(0, 156, 231, 0.030) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 156, 231, 0.030) 1px, transparent 1px);
    background-size: 48px 48px;

    font-family: var(--tb-font-display);
    font-size: clamp(50px, 7vw, 120px);
    line-height: .82;
    letter-spacing: -.035em;

    color: transparent;
    -webkit-text-stroke: 1px rgba(0, 156, 231, 0.12);
}


/* ============================================================
   04. WIDGET TABS
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs) {

    --width: 100%;

    position: relative;
    width: min(100%, var(--tb-max-width));
    margin-inline: auto;
}


/* ============================================================
   05. DESKTOP & TABLET (>= 768px) — TIDAK BERUBAH dari v14
   Teks polos bernomor, rata tengah, membungkus ke baris berikutnya;
   garis tipis penutup di dasar; garis tab aktif menempel di atasnya.
   ============================================================ */

@media (min-width: 768px) {

    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tabs-heading) {

        position: relative;

        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        justify-content: center;

        gap: clamp(18px, 3vw, 46px);

        padding-bottom: 0;
        border: 0;

        /* nomor urut otomatis */
        counter-reset: mkttab;
    }

    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tabs-heading)::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 1px;
        background: linear-gradient(
            90deg,
            transparent 0%,
            var(--tb-line) 14%,
            var(--tb-line) 86%,
            transparent 100%
        );
        pointer-events: none;
    }

    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title) {

        counter-increment: mkttab;

        position: relative;

        display: inline-flex;
        align-items: baseline;
        gap: 10px;

        padding: 10px 2px 17px;

        background-color: transparent;
        background-image: none;
        border: 0;
        border-radius: 0;
        box-shadow: none;

        font-family: var(--tb-font-body);
        font-size: clamp(13px, 1.05vw, 16px);
        font-weight: 500;
        line-height: 1.2;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: var(--tb-soft);

        cursor: pointer;

        transition:
            color .34s var(--tb-ease),
            transform .34s var(--tb-ease);
    }

    /* nomor 01, 02, 03 */
    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title)::before {
        content: counter(mkttab, decimal-leading-zero);
        flex: 0 0 auto;
        font-family: var(--tb-font-body);
        font-size: 0.72em;
        font-weight: 600;
        letter-spacing: 0.06em;
        color: var(--tb-secondary);
        opacity: .55;
        transition: opacity .34s ease, color .34s ease;
    }

    /* garis bawah tab (aktif = penuh) */
    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title)::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 2px;
        border-radius: 999px;
        background: linear-gradient(90deg, var(--tb-secondary), var(--tb-sky));
        box-shadow: 0 6px 16px -4px rgba(0, 156, 231, 0.55);
        transform: scaleX(0);
        transform-origin: left center;
        transition: transform .42s var(--tb-ease);
        pointer-events: none;
    }

    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title-text) {
        display: inline-block;
    }

    /* ---- HOVER ---- */
    @media (hover: hover) {

        .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title):hover {
            color: var(--tb-primary);
            transform: translateY(-2px);
        }

        .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title):hover::before {
            opacity: .9;
        }

        .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title):not([aria-selected="true"]):hover::after {
            transform: scaleX(.42);
        }
    }

    /* ---- TEKAN ---- */
    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title):active {
        transform: scale(.97);
    }

    /* ---- AKTIF (setelah normal & hover supaya menang urutan) ---- */
    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title[aria-selected="true"]) {
        color: var(--tb-secondary);
        font-weight: 600;
    }

    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title[aria-selected="true"])::before {
        opacity: 1;
        color: var(--tb-accent);
    }

    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title[aria-selected="true"])::after {
        transform: scaleX(1);
    }

    /* ---- FOKUS KEYBOARD ---- */
    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title):focus-visible {
        outline: 2px solid var(--tb-sky);
        outline-offset: 4px;
        border-radius: 6px;
    }
}


/* ============================================================
   06. AREA ISI TAB
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tabs-content) {
    padding-top: clamp(30px, 3.4vw, 48px);
}

.elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tab-panel) {

    --width: 100%;

    --flex-direction: column;
    --align-items: stretch;

    --gap: clamp(20px, 2.4vw, 32px);
    --row-gap: clamp(20px, 2.4vw, 32px);

    --padding-top: 0px;
    --padding-right: 0px;
    --padding-bottom: 0px;
    --padding-left: 0px;
}

/* isi tab muncul lembut saat berpindah
   (fill "backwards": tidak menahan transform setelah selesai) */
.elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tabs-content > [aria-hidden="false"]) {
    animation: tbPanelIn .5s var(--tb-ease) backwards;
}

@keyframes tbPanelIn {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}


/* ============================================================
   07. LOOP GRID — hanya dirapikan, gaya kartu tetap dari panel
   ============================================================ */

.elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tab-grid) {
    --width: 100%;
    width: 100%;
    min-width: 0;
}

.elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tab-grid .elementor-widget-container) {
    max-width: 100%;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

/* ---------- LARGE DESKTOP >= 1600px ---------- */

@media (min-width: 1600px) {

    .elementor-12680 .elementor-element.elementor-element-365fcda {
        --tb-max-width: 1510px;
    }
}


/* ---------- LAPTOP 1025 - 1280 ---------- */

@media (min-width: 1025px) and (max-width: 1280px) {

    .elementor-12680 .elementor-element.elementor-element-365fcda {
        --padding-left: 44px;
        --padding-right: 44px;
    }

    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tabs-heading) {
        gap: clamp(16px, 2.6vw, 34px);
    }
}


/* ---------- TABLET 768 - 1024 ---------- */

@media (min-width: 768px) and (max-width: 1024px) {

    .elementor-12680 .elementor-element.elementor-element-365fcda {
        --tb-edge-fade: 200px;
        --padding-left: clamp(30px, 4.5vw, 46px);
        --padding-right: clamp(30px, 4.5vw, 46px);
    }

    .elementor-12680 .elementor-element.elementor-element-365fcda::after {
        font-size: clamp(44px, 8vw, 84px);
    }

    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tabs-heading) {
        gap: 16px 26px;
    }

    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title) {
        font-size: 13px;
        letter-spacing: 0.12em;
        padding: 8px 2px 15px;
    }
}


/* ============================================================
   MOBILE <= 767px — TAB BERBENTUK PILL, BISA DIGESER
   ============================================================ */

@media (max-width: 767px) {

    .elementor-12680 .elementor-element.elementor-element-365fcda {
        --tb-edge-fade: 140px;

        --padding-top: 48px;
        --padding-bottom: 52px;
        --padding-left: clamp(18px, 5.2vw, 24px);
        --padding-right: clamp(18px, 5.2vw, 24px);

        --gap: 26px;
        --row-gap: 26px;
    }

    .elementor-12680 .elementor-element.elementor-element-365fcda::after {
        padding-left: 12px;
        font-size: clamp(34px, 12vw, 58px);
    }

    /* ---------- BARISAN TAB ----------
       - menembus sampai tepi layar (margin negatif = padding section)
         sehingga pill berikutnya "mengintip" di tepi kanan
       - bisa digeser, menempel rapi (scroll snap)
       - pudar halus di kanan
       - garis PROGRESS (rel + penunjuk) di dasar, digambar dengan
         background (ringan, tanpa elemen tambahan)
       - ruang bawah lega agar tidak mepet dengan kartu tour */
    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tabs-heading) {

        position: relative;

        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;

        margin-inline: calc(var(--padding-left) * -1) calc(var(--padding-right) * -1);
        padding: 8px var(--padding-right) 24px var(--padding-left);
        border: 0;

        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-x: contain;
        scroll-snap-type: x proximity;
        scroll-padding-inline: var(--padding-left);
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;

        counter-reset: mkttab;

        /* [1] penunjuk  [2] rel — keduanya berada 6px dari dasar */
        background:
            linear-gradient(90deg, var(--tb-secondary), var(--tb-sky)) 30px calc(100% - 6px) / 34% 3px no-repeat,
            linear-gradient(rgba(0, 156, 231, 0.16), rgba(0, 156, 231, 0.16)) 30px calc(100% - 6px) / calc(100% - 60px) 3px no-repeat;

        -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 30px), transparent 100%);
        mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 30px), transparent 100%);
    }

    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tabs-heading)::-webkit-scrollbar {
        display: none;
    }

    /* ruang di ujung kanan agar pill terakhir tidak tertutup pudar */
    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tabs-heading)::after {
        content: "";
        flex: 0 0 12px;
        height: 1px;
    }

    /* ---------- PILL ---------- */
    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title) {

        counter-increment: mkttab;

        position: relative;
        isolation: isolate;
        overflow: hidden;

        flex: 0 0 auto;
        scroll-snap-align: start;

        display: inline-flex;
        align-items: center;
        gap: 9px;

        min-height: 46px;
        padding: 0 20px 0 16px;

        background-color: var(--tb-pill-bg);
        background-image: none;
        border: 1.5px solid var(--tb-pill-border);
        border-radius: 999px;
        box-shadow: 0 10px 20px -14px rgba(0, 156, 231, 0.55);

        font-family: var(--tb-font-body);
        font-size: 12.5px;
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        white-space: nowrap;
        color: var(--tb-primary);

        cursor: pointer;
        -webkit-tap-highlight-color: transparent;

        transition:
            transform .35s var(--tb-ease),
            box-shadow .35s var(--tb-ease),
            border-color .3s ease,
            color .3s ease;
    }

    /* nomor 01, 02, ... di depan teks */
    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title)::before {
        content: counter(mkttab, decimal-leading-zero);
        flex: 0 0 auto;
        font-size: 0.82em;
        font-weight: 700;
        letter-spacing: 0.04em;
        color: var(--tb-secondary);
        opacity: .9;
        transition: color .3s ease;
    }

    /* isian gradasi biru yang naik dari bawah (hover / ditekan / aktif) */
    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title)::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        height: auto;
        border-radius: inherit;
        background: linear-gradient(145deg, var(--tb-sky) 0%, var(--tb-secondary) 55%, var(--tb-accent) 100%);
        box-shadow: none;
        transform: scaleY(0);
        transform-origin: bottom center;
        transition: transform .45s var(--tb-ease);
        pointer-events: none;
    }

    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title-text) {
        display: inline-block;
    }

    /* ---------- HOVER (mouse) ---------- */
    @media (hover: hover) {

        .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title):hover {
            transform: translateY(-2px);
            border-color: var(--tb-secondary);
            box-shadow: 0 14px 24px -12px rgba(0, 156, 231, 0.7);
            -webkit-text-fill-color: var(--tb-pill-on-text);
        }

        .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title):hover::before {
            color: var(--tb-pill-on-text);
        }

        .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title):hover::after {
            transform: scaleY(1);
        }
    }

    /* ---------- DITEKAN (sentuh): terisi sesaat + menciut ---------- */
    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title):active {
        transform: scale(.96);
        border-color: var(--tb-secondary);
        -webkit-text-fill-color: var(--tb-pill-on-text);
    }

    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title):active::before {
        color: var(--tb-pill-on-text);
    }

    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title):active::after {
        transform: scaleY(1);
    }

    /* ---------- AKTIF: terisi penuh ---------- */
    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title[aria-selected="true"]) {
        border-color: var(--tb-secondary);
        box-shadow:
            0 12px 24px -8px rgba(0, 156, 231, 0.7),
            0 0 0 3px rgba(0, 156, 231, 0.14);
        font-weight: 700;
        -webkit-text-fill-color: var(--tb-pill-on-text);
    }

    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title[aria-selected="true"])::before {
        color: var(--tb-pill-on-text);
        opacity: .85;
    }

    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title[aria-selected="true"])::after {
        transform: scaleY(1);
    }

    /* ---------- FOKUS KEYBOARD ---------- */
    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title):focus-visible {
        outline: 2px solid var(--tb-sky);
        outline-offset: 3px;
    }

    /* ---------- JARAK KE KARTU TOUR ---------- */
    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tabs-content) {
        padding-top: 20px;
    }

    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tab-panel) {
        --gap: 18px;
        --row-gap: 18px;
    }
}


/* ---------- PENUNJUK PROGRESS MENGIKUTI GESERAN (progressive enhancement) ----------
   Hanya di browser yang mendukung scroll-driven animation. Browser lain
   menampilkan penunjuk diam di posisi awal (tetap jadi petunjuk "ada lagi"). */

@supports (animation-timeline: scroll()) {

    @media (max-width: 767px) {

        .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tabs-heading) {
            animation: tbThumb linear both;
            animation-timeline: scroll(self inline);
        }
    }
}

@keyframes tbThumb {
    from {
        background-position:
            30px calc(100% - 6px),
            30px calc(100% - 6px);
    }
    to {
        background-position:
            calc(100% - 30px) calc(100% - 6px),
            30px calc(100% - 6px);
    }
}


/* ---------- SMALL MOBILE <= 480px ---------- */

@media (max-width: 480px) {

    .elementor-12680 .elementor-element.elementor-element-365fcda {
        --padding-left: max(18px, env(safe-area-inset-left));
        --padding-right: max(18px, env(safe-area-inset-right));
    }

    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title) {
        font-size: 12px;
        letter-spacing: 0.09em;
    }
}


/* ---------- VERY SMALL MOBILE <= 374px ---------- */

@media (max-width: 374px) {

    .elementor-12680 .elementor-element.elementor-element-365fcda {
        --padding-top: 42px;
        --padding-bottom: 46px;
    }

    .elementor-12680 .elementor-element.elementor-element-365fcda :where(.mkt-tabs .e-n-tab-title) {
        gap: 7px;
        min-height: 44px;
        padding: 0 16px 0 13px;
        font-size: 11.5px;
    }
}


/* ============================================================
   TOUCH / REDUCED MOTION / SELECTION
   ============================================================ */

@media (hover: none) and (pointer: coarse) {

    .elementor-12680 .elementor-element.elementor-element-365fcda :where(a, button) {
        -webkit-tap-highlight-color: transparent;
    }
}

@media (prefers-reduced-motion: reduce) {

    .elementor-12680 .elementor-element.elementor-element-365fcda :where(*),
    .elementor-12680 .elementor-element.elementor-element-365fcda *::before,
    .elementor-12680 .elementor-element.elementor-element-365fcda *::after {
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
        transition-duration: 0.01ms;
    }

    .elementor-12680 .elementor-element.elementor-element-365fcda::before {
        animation: none;
    }
}

.elementor-12680 .elementor-element.elementor-element-365fcda ::selection {
    background: var(--tb-sky);
    color: var(--tb-navy-dark);
}


/* ============================================================
   CATATAN PEMAKAIAN

   1. Ganti teks watermark: --tb-watermark-word di blok 01.

   2. Sambungan dengan section tetangga:
        --tb-edge-top     warna DASAR section di atas  (#EAF4FC)
        --tb-edge-bottom  warna AWAL section di bawah  (#F8FCFF)
        --tb-edge-fade    tinggi peralihan warna (default 260px)

   3. Nomor 01, 02, ... dibuat otomatis lewat counter, jadi judul tab
      cukup diisi teksnya. Tidak ingin nomor? Hapus blok "::before"
      pada .e-n-tab-title (di bagian 05 dan bagian MOBILE).

   4. Pill mobile (blok 01):
        --tb-pill-border    warna border pill saat tidak aktif
        --tb-pill-bg        isi pill saat tidak aktif
        --tb-pill-on-text   warna teks pill yang terisi (hover / aktif)
      Mengganti warna isian: ubah gradient pada "::after" pill di blok MOBILE.

   5. Style bawaan Tabs (background, border, radius) di panel
      Style > Tabs bisa mengalahkan CSS ini — memang disengaja supaya
      panel tidak terkunci. Jika pill terlihat aneh, kosongkan warna
      Background / Border pada tab di panel agar ikut CSS ini.

   6. Garis progress di bawah tab (mobile) menyesuaikan lebar tampilan.
      Tidak ingin garis itu? Hapus dua baris "linear-gradient" di
      properti background pada .e-n-tabs-heading (blok MOBILE) dan
      blok "@supports (animation-timeline: scroll())".

   7. Ingin tab mobile membungkus ke bawah (tanpa geser)? Di blok MOBILE
      ganti flex-wrap: nowrap menjadi wrap, hapus overflow-x / mask-image
      / margin-inline negatif, dan hapus garis progress (catatan 6).
   ============================================================ *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0b70d49 *//* =====================================================================
   CUSTOMIZE YOUR TOUR — MAI KEBALI TOUR  (v2.0 — Azure #009CE7)
   Tempel di: Container PALING LUAR > Advanced > Custom CSS
   (ganti SELURUH isi yang lama dengan file ini)

   ---------------------------------------------------------------------
   CSS CLASS PER ELEMEN — TIDAK BERUBAH dari v1.0 (tidak perlu pasang ulang)
   ---------------------------------------------------------------------
   Container paling luar ........................... ars-ct
   └─ Container (kartu) ............................ ars-ct__card
       ├─ Container kiri (kosong = foto) ........... ars-ct__photo
       └─ Container kanan (isi) .................... ars-ct__content
           ├─ Heading .............................. ars-ct__title
           ├─ Text Editor .......................... ars-ct__desc
           ├─ Icon List ............................ ars-ct__list
           └─ Button ............................... ars-ct__btn

   Foto: pasang di Container ars-ct__photo >
   Style > Background > Classic > Image (Size: Cover, Position: Center).

   ---------------------------------------------------------------------
   YANG BERUBAH DI v2.0  (latar section TETAP sama seperti section lain)
   ---------------------------------------------------------------------
   KARTU
   - Sambungan foto <-> panel kini MIRING (bukan garis lurus datar);
     di tablet/HP menjadi tepi miring horizontal. Atur lewat --ct-slant
     (0px = lurus kembali).
   - Lencana kaca di pojok foto ("Tailor-Made Tour"), gelap tipis di
     foto agar lencana terbaca, pudar ke arah panel.
   PANEL
   - Gradasi lebih dalam: navy -> biru -> azure #009CE7, dengan cahaya
     sky di sudut, pola titik, dan garis cahaya di tepi sambungan.
   - Eyebrow bergaris di atas judul + garis aksen yang melebar saat hover.
   ICON LIST
   - Setiap poin menjadi KARTU KACA (berborder tipis) dengan lingkaran
     ikon bercincin; hover: bergeser, garis terang di kiri muncul,
     ikon membesar dan bercahaya.
   BUTTON
   - Tombol pill GRADASI BIRU TERANG (sky -> azure) dengan cincin putih
     tipis, glow, ikon dalam lingkaran, kilau melintas saat hover.
   - Sebelumnya tombol outline putih yang tampak datar.

   TIDAK DIKUNCI & RINGAN
   - Tanpa !important. Layout memakai variabel Elementor, jadi panel
     (Typography, Color, Padding, Width, Border, Background) menang.
   - Tanpa blur / backdrop-filter. Hanya transform / opacity yang
     beranimasi saat hover.
   ===================================================================== */


/* ---------------------------------------------------------------------
   1. PENGATURAN — ubah nilai di sini
   --------------------------------------------------------------------- */
.ars-ct {

  /* Warna */
  --ct-blue: #009CE7;
  --ct-blue-light: #5CC8FF;
  --ct-blue-dark: #0070B8;
  --ct-blue-rgb: 0, 156, 231;
  --ct-ice: #DDF3FF;

  --ct-navy: #0B2A45;
  --ct-navy-dark: #04202F;
  --ct-white: #FFFFFF;

  --ct-bg-top: #F8FCFF;
  --ct-bg-bottom: #EAF4FC;

  --ct-text-on-blue: rgba(240, 250, 255, .90);

  /* Font */
  --ct-font-display: "DM Serif Display", Georgia, serif;
  --ct-font-body: "Poppins", -apple-system, BlinkMacSystemFont, sans-serif;

  /* ============ JARAK & BENTUK ============ */
  --ct-content-max: 1240px;
  --ct-pad-x: 48px;
  --ct-pad-top: 110px;
  --ct-pad-bottom: 110px;

  --ct-card-radius: 28px;               /* sudut kartu */
  --ct-photo-w: 42%;                    /* lebar sisi foto */
  --ct-photo-h: 500px;                  /* tinggi minimal kartu */
  --ct-slant: 44px;                     /* kemiringan sambungan foto/panel (0px = lurus) */
  --ct-panel-pad-y: 54px;
  --ct-panel-pad-x: 50px;
  /* ======================================== */

  /* Panel */
  --ct-panel-bg:
      radial-gradient(60% 80% at 92% 6%, rgba(92, 200, 255, .38) 0%, transparent 62%),
      radial-gradient(55% 70% at 78% 104%, rgba(0, 156, 231, .62) 0%, transparent 70%),
      linear-gradient(140deg, #0B2A45 0%, #0A3C66 42%, #0070B8 100%);

  /* Teks dekoratif — ubah sesuai kebutuhan */
  --ct-badge: "Tailor-Made Tour";
  --ct-eyebrow-a: "CUSTOM TOUR";
  --ct-eyebrow-b: "MAI KEBALI TOUR";
  --ct-watermark-no: "10";
  --ct-watermark-word: "CUSTOM TOUR";

  /* Teks */
  --ct-title-size: clamp(32px, 3.4vw, 50px);
  --ct-desc-size: 15.5px;
  --ct-desc-lh: 1.8;
  --ct-list-size: 15.5px;

  /* Animasi */
  --ct-speed: .45s;
  --ct-ease: cubic-bezier(.22, .8, .25, 1);
}


/* ---------------------------------------------------------------------
   1b. RESET OVERLAY BAWAAN ELEMENTOR PADA ::before CONTAINER
   .e-con::before = absolute, 100% x 100%. Dinetralkan dulu supaya
   pseudo-element di bawah tidak menimpa isi container.
   HARUS berada SEBELUM rule ::before lainnya.
   --------------------------------------------------------------------- */
.e-con.ars-ct::before,
.ars-ct .ars-ct__card.e-con::before,
.ars-ct .ars-ct__photo.e-con::before,
.ars-ct .ars-ct__content.e-con::before {
  inset: auto;
  width: auto;
  height: auto;
  opacity: 1;
  z-index: auto;
  mix-blend-mode: normal;
  border-radius: 0;
  transition: none;
  background: none;
}


/* ---------------------------------------------------------------------
   2. CONTAINER PALING LUAR — latar sama dengan section lain
   --------------------------------------------------------------------- */
.e-con.ars-ct {
  --padding-top: var(--ct-pad-top);
  --padding-bottom: var(--ct-pad-bottom);
  --padding-left: max(var(--ct-pad-x), calc((100% - var(--ct-content-max)) / 2));
  --padding-right: max(var(--ct-pad-x), calc((100% - var(--ct-content-max)) / 2));

  --flex-direction: column;
  --align-items: stretch;

  position: relative;
  isolation: isolate;
  overflow: hidden;

  background-color: var(--ct-bg-top);
  background-image: linear-gradient(180deg, var(--ct-bg-top) 0%, var(--ct-bg-bottom) 100%);
}

.ars-ct,
.ars-ct *,
.ars-ct *::before,
.ars-ct *::after { box-sizing: border-box; }


/* ambient glow biru di sisi kanan atas (ringan: opacity saja) */
.e-con.ars-ct::before {
  content: "";
  position: absolute;
  width: clamp(440px, 56vw, 920px);
  height: clamp(440px, 56vw, 920px);
  right: clamp(-450px, -21vw, -180px);
  top: clamp(-330px, -15vw, -120px);
  z-index: -3;
  pointer-events: none;

  border-radius: 50%;

  background: radial-gradient(
      circle,
      rgba(92, 200, 255, .20) 0%,
      rgba(var(--ct-blue-rgb), .075) 36%,
      transparent 70%
  );

  animation: ctGlow 10s ease-in-out infinite;
}

@keyframes ctGlow {
  0%, 100% { opacity: .82; }
  50%      { opacity: 1; }
}


/* tekstur grid + watermark kata besar di pojok kiri bawah */
.e-con.ars-ct::after {
  content: var(--ct-watermark-word);

  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  user-select: none;

  display: flex;
  align-items: flex-end;
  justify-content: flex-start;

  padding-left: clamp(16px, 4vw, 70px);
  padding-bottom: 2px;

  white-space: nowrap;

  background-image:
      linear-gradient(rgba(var(--ct-blue-rgb), .030) 1px, transparent 1px),
      linear-gradient(90deg, rgba(var(--ct-blue-rgb), .030) 1px, transparent 1px);
  background-size: 48px 48px;

  font-family: var(--ct-font-display);
  font-size: clamp(50px, 7vw, 120px);
  line-height: .82;
  letter-spacing: -.035em;

  color: transparent;
  -webkit-text-stroke: 1px rgba(var(--ct-blue-rgb), .12);
}


/* ---------------------------------------------------------------------
   3. KARTU — .ars-ct__card
   --------------------------------------------------------------------- */
.ars-ct .ars-ct__card.e-con {
  --width: 100%;
  --flex-direction: row;
  --flex-wrap: nowrap;
  --align-items: stretch;
  --justify-content: flex-start;
  --gap: 0px;
  --column-gap: 0px;
  --row-gap: 0px;

  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;

  --border-radius: var(--ct-card-radius);

  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-width: 0;

  box-shadow:
      0 0 0 1px rgba(var(--ct-blue-rgb), .20),
      0 0 0 6px rgba(var(--ct-blue-rgb), .06),
      0 40px 80px -36px rgba(0, 70, 120, .62);
}

/* cadangan radius (specificity nol; kalah oleh panel) */
:where(.ars-ct .ars-ct__card.e-con) {
  border-radius: var(--ct-card-radius);
}


/* angka outline di kanan atas kartu */
.ars-ct .ars-ct__card.e-con::after {
  content: var(--ct-watermark-no);
  position: absolute;
  right: clamp(16px, 2.4vw, 34px);
  top: clamp(6px, 1.4vw, 18px);
  z-index: 4;

  pointer-events: none;
  user-select: none;

  font-family: var(--ct-font-display);
  font-size: clamp(56px, 6vw, 96px);
  line-height: 1;
  letter-spacing: -.04em;

  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, .30);
}


/* ---------------------------------------------------------------------
   4. SISI FOTO — .ars-ct__photo (container kosong)
   --------------------------------------------------------------------- */
.ars-ct .ars-ct__photo.e-con {
  --width: var(--ct-photo-w);
  --min-height: var(--ct-photo-h);
  --flex-grow: 0;
  --flex-shrink: 0;

  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;

  position: relative;
  overflow: hidden;
  min-width: 0;

  background-color: var(--ct-navy);
  background-size: cover;
  background-position: center;
}


/* lencana kaca di pojok kiri atas foto */
.ars-ct .ars-ct__photo.e-con::before {
  content: "\2726\00a0\00a0" var(--ct-badge);
  position: absolute;
  left: clamp(16px, 1.8vw, 24px);
  top: clamp(16px, 1.8vw, 24px);
  z-index: 3;
  pointer-events: none;

  padding: 9px 16px 9px 14px;
  border: 1px solid rgba(255, 255, 255, .38);
  border-radius: 999px;
  background: rgba(4, 32, 47, .50);
  box-shadow: 0 10px 24px -12px rgba(4, 32, 47, .6);

  font-family: var(--ct-font-body);
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--ct-white);
}

/* gelap tipis di foto + pudar navy ke arah panel */
.ars-ct .ars-ct__photo.e-con::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;

  background:
      linear-gradient(90deg, transparent 58%, rgba(11, 42, 69, .62) 100%),
      linear-gradient(180deg, rgba(4, 32, 47, .22) 0%, transparent 34%, rgba(4, 32, 47, .46) 100%);
}


/* ---------------------------------------------------------------------
   5. PANEL — .ars-ct__content
   Menimpa foto sebesar --ct-slant dan dipotong miring (clip-path),
   sehingga sambungan foto/panel berbentuk diagonal.
   --------------------------------------------------------------------- */
.ars-ct .ars-ct__content.e-con {
  --width: auto;
  --flex-grow: 1;
  --flex-shrink: 1;
  --flex-basis: 0%;

  --flex-direction: column;
  --align-items: flex-start;
  --justify-content: center;

  --gap: 18px;
  --row-gap: 18px;

  --padding-top: var(--ct-panel-pad-y);
  --padding-right: var(--ct-panel-pad-x);
  --padding-bottom: var(--ct-panel-pad-y);
  --padding-left: calc(var(--ct-panel-pad-x) + var(--ct-slant));

  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-width: 0;

  margin-left: calc(var(--ct-slant) * -1);
  clip-path: polygon(var(--ct-slant) 0, 100% 0, 100% 100%, 0 100%);

  background: var(--ct-panel-bg);
}


/* pola titik halus di pojok kanan bawah panel */
.ars-ct .ars-ct__content.e-con::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 240px;
  height: 200px;
  z-index: 0;
  pointer-events: none;

  background-image: radial-gradient(rgba(255, 255, 255, .30) 1.6px, transparent 1.6px);
  background-size: 18px 18px;

  -webkit-mask-image: linear-gradient(315deg, black 18%, transparent 74%);
  mask-image: linear-gradient(315deg, black 18%, transparent 74%);
}


/* cahaya lembut di sudut kanan atas panel */
.ars-ct .ars-ct__content.e-con::after {
  content: "";
  position: absolute;
  right: -90px;
  top: -110px;
  width: 280px;
  height: 280px;
  z-index: 0;
  border-radius: 50%;
  pointer-events: none;

  background: radial-gradient(
      circle,
      rgba(255, 255, 255, .22) 0%,
      rgba(255, 255, 255, .05) 52%,
      transparent 74%
  );
}


/* isi panel selalu di atas dekorasi */
.ars-ct .ars-ct__content > .elementor-element,
.ars-ct .ars-ct__content > .e-con-inner > .elementor-element {
  position: relative;
  z-index: 1;
}


/* ---------------------------------------------------------------------
   6. JUDUL — .ars-ct__title  (eyebrow + judul + garis aksen)
   Garis aksen dipasang di DALAM heading agar tidak pernah menimpa
   teks deskripsi di bawahnya.
   --------------------------------------------------------------------- */
.ars-ct .ars-ct__title.elementor-widget {
  width: 100%;
  margin: 0;
}

.ars-ct .ars-ct__title.elementor-widget::before {
  content: var(--ct-eyebrow-a) "\00a0\00a0\00a0|\00a0\00a0\00a0" var(--ct-eyebrow-b);
  display: block;
  margin-bottom: 18px;
  padding-left: 62px;

  background: linear-gradient(90deg, var(--ct-blue-light), rgba(92, 200, 255, .12)) left center / 44px 2px no-repeat;

  font-family: var(--ct-font-body);
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ct-ice);

  pointer-events: none;
  user-select: none;
}

.ars-ct .ars-ct__title.elementor-widget-heading .elementor-heading-title {
  margin: 0;

  font-family: var(--ct-font-display);
  font-size: var(--ct-title-size);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.02em;
  color: var(--ct-white);

  text-shadow: 0 4px 24px rgba(4, 32, 47, .3);
  text-wrap: balance;
}

/* <span> di judul = teks gradasi putih -> sky */
.ars-ct .ars-ct__title .elementor-heading-title span {
  background: linear-gradient(90deg, #FFFFFF 0%, var(--ct-ice) 45%, var(--ct-blue-light) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: none;
}

.ars-ct .ars-ct__title .elementor-heading-title::after {
  content: "";
  display: block;
  width: 84px;
  height: 3px;
  margin-top: 18px;
  border-radius: 999px;

  background: linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, .45) 55%, transparent 100%);

  transition: width .5s var(--ct-ease);
}

.ars-ct .ars-ct__card.e-con:hover .ars-ct__title .elementor-heading-title::after {
  width: 140px;
}


/* ---------------------------------------------------------------------
   7. DESKRIPSI — .ars-ct__desc
   --------------------------------------------------------------------- */
.ars-ct .ars-ct__desc.elementor-widget {
  width: 100%;
  max-width: 640px;
  margin: 0;
}

.ars-ct .ars-ct__desc.elementor-widget-text-editor {
  font-family: var(--ct-font-body);
  font-size: var(--ct-desc-size);
  font-weight: 300;
  line-height: var(--ct-desc-lh);
  color: var(--ct-text-on-blue);
}

.ars-ct .ars-ct__desc p {
  margin: 0 0 1em;
  font: inherit;
  color: inherit;
}

.ars-ct .ars-ct__desc p:last-child {
  margin-bottom: 0;
}


/* ---------------------------------------------------------------------
   8. ICON LIST — .ars-ct__list  (poin = kartu kaca)
   Space Between di panel sebaiknya 0 (jarak sudah diatur CSS).
   --------------------------------------------------------------------- */
.ars-ct .ars-ct__list.elementor-widget {
  --e-icon-list-icon-size: 15px;

  width: 100%;
  margin: 4px 0 0;
  min-width: 0;
}

.ars-ct .ars-ct__list .elementor-icon-list-items {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* kartu kaca */
.ars-ct .ars-ct__list .elementor-icon-list-item {
  position: relative;
  overflow: hidden;
  align-items: center;
  gap: 14px;

  margin: 0;
  padding: 12px 18px 12px 12px;

  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255, 255, 255, .15) 0%, rgba(255, 255, 255, .05) 100%);

  transition:
      transform .4s var(--ct-ease),
      border-color .35s ease,
      background .35s ease,
      box-shadow .4s ease;
}

.ars-ct .ars-ct__list .elementor-icon-list-item > a {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
}

/* garis terang di sisi kiri — muncul saat hover */
.ars-ct .ars-ct__list .elementor-icon-list-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18%;
  bottom: 18%;
  width: 3px;
  border-radius: 0 999px 999px 0;
  pointer-events: none;
  background: linear-gradient(180deg, #FFFFFF, var(--ct-blue-light));
  transform: scaleY(0);
  transition: transform .4s var(--ct-ease);
}

/* ikon dalam lingkaran bercincin */
.ars-ct .ars-ct__list .elementor-icon-list-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;

  width: 34px;
  height: 34px;
  margin: 0;
  padding: 0;

  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 50%;

  color: var(--ct-white);
  background: linear-gradient(145deg, rgba(255, 255, 255, .30) 0%, rgba(255, 255, 255, .10) 100%);
  box-shadow: 0 0 0 4px rgba(255, 255, 255, .07);

  transition: transform .4s var(--ct-ease), box-shadow .4s ease, border-color .35s ease;
}

.ars-ct .ars-ct__list .elementor-icon-list-icon i {
  width: auto;
  line-height: 1;
  color: inherit;
}

.ars-ct .ars-ct__list .elementor-icon-list-icon svg {
  width: 15px;
  height: 15px;
  fill: currentColor;
}

.ars-ct .ars-ct__list .elementor-icon-list-text {
  padding: 0;

  font-family: var(--ct-font-body);
  font-size: var(--ct-list-size);
  font-weight: 400;
  line-height: 1.5;
  color: var(--ct-white);
}

@media (hover: hover) {

  .ars-ct .ars-ct__list .elementor-icon-list-item:hover {
    transform: translateX(6px);
    border-color: rgba(255, 255, 255, .55);
    background: linear-gradient(135deg, rgba(255, 255, 255, .26) 0%, rgba(255, 255, 255, .10) 100%);
    box-shadow: 0 16px 30px -18px rgba(4, 32, 47, .65);
  }

  .ars-ct .ars-ct__list .elementor-icon-list-item:hover::before {
    transform: scaleY(1);
  }

  .ars-ct .ars-ct__list .elementor-icon-list-item:hover .elementor-icon-list-icon {
    transform: scale(1.1);
    border-color: #FFFFFF;
    box-shadow: 0 0 0 6px rgba(255, 255, 255, .16), 0 10px 20px -8px rgba(92, 200, 255, .8);
  }
}


/* ---------------------------------------------------------------------
   9. BUTTON — .ars-ct__btn  (pill gradasi terang + kilau)
   Warna / font / ukuran dari panel tetap menang. Pilih Type "Gradient"
   di panel Button bila ingin mengganti gradasi bawaan.
   --------------------------------------------------------------------- */
.ars-ct .ars-ct__btn.elementor-widget {
  width: auto;
  margin: 10px 0 0;
}

.ars-ct .ars-ct__btn .elementor-button {
  position: relative;
  overflow: hidden;
  isolation: isolate;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;

  padding: 16px 34px;

  background-color: var(--ct-blue);
  background-image: linear-gradient(145deg, var(--ct-blue-light) 0%, var(--ct-blue) 55%, var(--ct-blue-dark) 100%);

  border: 0;
  border-radius: 999px;

  color: var(--ct-white);

  font-family: var(--ct-font-body);
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .03em;

  box-shadow:
      inset 0 0 0 1.5px rgba(255, 255, 255, .42),
      0 18px 34px -12px rgba(92, 200, 255, .75),
      0 8px 20px -10px rgba(4, 32, 47, .55);

  transition:
      transform var(--ct-speed) var(--ct-ease),
      box-shadow var(--ct-speed) var(--ct-ease);
}

/* kilau melintas */
.ars-ct .ars-ct__btn .elementor-button::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -60%;
  width: 40%;

  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .6), transparent);

  transform: skewX(-20deg);
  transition: left .8s var(--ct-ease);
  pointer-events: none;
}

.ars-ct .ars-ct__btn .elementor-button-content-wrapper {
  position: relative;
  z-index: 1;
  align-items: center;
  gap: 12px;
}

/* ikon dalam lingkaran kecil */
.ars-ct .ars-ct__btn .elementor-button-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .22);
  transition: transform var(--ct-speed) var(--ct-ease), background .3s ease;
}

.ars-ct .ars-ct__btn .elementor-button:hover,
.ars-ct .ars-ct__btn .elementor-button:focus-visible {
  transform: translateY(-3px);
  box-shadow:
      inset 0 0 0 1.5px rgba(255, 255, 255, .7),
      0 0 0 6px rgba(255, 255, 255, .14),
      0 24px 40px -12px rgba(92, 200, 255, .9),
      0 10px 22px -10px rgba(4, 32, 47, .6);
}

.ars-ct .ars-ct__btn .elementor-button:hover::after {
  left: 130%;
}

.ars-ct .ars-ct__btn .elementor-button:hover .elementor-button-icon {
  transform: rotate(-12deg) scale(1.12);
  background: rgba(255, 255, 255, .34);
}

.ars-ct .ars-ct__btn .elementor-button:active {
  transform: translateY(-1px) scale(.97);
}

.ars-ct .ars-ct__btn .elementor-button:focus-visible {
  outline: 2px solid var(--ct-white);
  outline-offset: 4px;
}


/* ---------------------------------------------------------------------
   10. ANIMASI MUNCUL SAAT SCROLL (murni CSS)
   fill "backwards": hanya aktif SAAT masuk layar, tidak menahan transform.
   --------------------------------------------------------------------- */
@supports (animation-timeline: view()) {
  .ars-ct .ars-ct__card.e-con {
    animation: ctIn linear backwards;
    animation-timeline: view();
    animation-range: entry 0% entry 40%;
  }
}

@keyframes ctIn {
  from { opacity: 0; translate: 0 32px; }
  to   { opacity: 1; translate: 0 0; }
}


@media (prefers-reduced-motion: reduce) {
  .ars-ct *,
  .ars-ct *::before,
  .ars-ct *::after {
    animation: none;
    transition: none;
  }
}


/* =====================================================================
   RESPONSIVE
   ===================================================================== */

/* ---------- LAPTOP (≤ 1280px) ---------- */
@media (max-width: 1280px) {
  .ars-ct {
    --ct-pad-x: 40px;
    --ct-photo-w: 40%;
    --ct-panel-pad-x: 40px;
    --ct-panel-pad-y: 46px;
    --ct-slant: 38px;
  }
}


/* ---------- TABLET (≤ 1024px) — foto di atas, panel di bawah,
              sambungan jadi tepi MIRING horizontal ---------- */
@media (max-width: 1024px) {
  .ars-ct {
    --ct-pad-x: 32px;
    --ct-pad-top: 90px;
    --ct-pad-bottom: 90px;

    --ct-card-radius: 24px;
    --ct-photo-h: 320px;
    --ct-slant: 30px;
    --ct-panel-pad-x: 40px;
    --ct-panel-pad-y: 44px;

    --ct-title-size: clamp(30px, 4.4vw, 42px);
  }

  .ars-ct .ars-ct__card.e-con {
    --flex-direction: column;
    flex-direction: column;
  }

  .ars-ct .ars-ct__photo.e-con {
    --width: 100%;
    width: 100%;
  }

  /* pudar diarahkan ke bawah, bukan ke kanan */
  .ars-ct .ars-ct__photo.e-con::after {
    background:
        linear-gradient(180deg, rgba(4, 32, 47, .22) 0%, transparent 30%, rgba(11, 42, 69, .70) 100%);
  }

  .ars-ct .ars-ct__content.e-con {
    --width: 100%;
    --flex-grow: 0;
    --flex-basis: auto;
    --padding-top: calc(var(--ct-panel-pad-y) + var(--ct-slant));
    --padding-left: var(--ct-panel-pad-x);
    width: 100%;

    margin-left: 0;
    margin-top: calc(var(--ct-slant) * -1);
    clip-path: polygon(0 var(--ct-slant), 100% 0, 100% 100%, 0 100%);
  }

  .ars-ct .ars-ct__card.e-con::after {
    font-size: clamp(50px, 8vw, 76px);
  }

  .e-con.ars-ct::after {
    font-size: clamp(44px, 8vw, 84px);
  }
}


/* ---------- MOBILE (≤ 767px) ---------- */
@media (max-width: 767px) {
  .ars-ct {
    --ct-pad-x: 20px;
    --ct-pad-top: 66px;
    --ct-pad-bottom: 70px;

    --ct-card-radius: 20px;
    --ct-photo-h: 250px;
    --ct-slant: 22px;
    --ct-panel-pad-x: 22px;
    --ct-panel-pad-y: 32px;

    --ct-title-size: clamp(27px, 7.6vw, 35px);
    --ct-desc-size: 15px;
    --ct-desc-lh: 1.72;
    --ct-list-size: 14.5px;
  }

  .ars-ct .ars-ct__content.e-con {
    --gap: 15px;
    --row-gap: 15px;
  }

  .ars-ct .ars-ct__photo.e-con::before {
    left: 14px;
    top: 14px;
    padding: 8px 13px 8px 11px;
    font-size: 10px;
    letter-spacing: .13em;
  }

  .ars-ct .ars-ct__content.e-con::before {
    width: 160px;
    height: 140px;
    background-size: 15px 15px;
  }

  .ars-ct .ars-ct__title.elementor-widget::before {
    margin-bottom: 14px;
    padding-left: 44px;
    background-size: 30px 2px;
    font-size: 10.5px;
    letter-spacing: .15em;
  }

  .ars-ct .ars-ct__title .elementor-heading-title::after {
    width: 62px;
    height: 2px;
    margin-top: 14px;
  }

  .ars-ct .ars-ct__list .elementor-icon-list-items {
    gap: 10px;
  }

  .ars-ct .ars-ct__list .elementor-icon-list-item {
    gap: 12px;
    padding: 10px 14px 10px 10px;
    border-radius: 14px;
  }

  .ars-ct .ars-ct__list .elementor-icon-list-item > a {
    gap: 12px;
  }

  .ars-ct .ars-ct__list .elementor-icon-list-icon {
    width: 30px;
    height: 30px;
  }

  /* button melebar penuh agar mudah ditekan */
  .ars-ct .ars-ct__btn.elementor-widget {
    width: 100%;
  }

  .ars-ct .ars-ct__btn .elementor-button {
    width: 100%;
    min-height: 54px;
    padding: 16px 24px;
  }

  .ars-ct .ars-ct__card.e-con::after {
    right: 14px;
    top: 4px;
    font-size: 52px;
  }

  .e-con.ars-ct::after {
    padding-left: 12px;
    font-size: clamp(34px, 12vw, 58px);
  }
}


/* ---------- HP KECIL (≤ 400px) ---------- */
@media (max-width: 400px) {
  .ars-ct {
    --ct-pad-x: 18px;
    --ct-photo-h: 220px;
    --ct-panel-pad-x: 18px;
    --ct-card-radius: 18px;
    --ct-slant: 18px;
  }

  .ars-ct .ars-ct__title.elementor-widget::before {
    letter-spacing: .1em;
  }
}


/* ---------------------------------------------------------------------
   11. TOUCH / SELECTION
   --------------------------------------------------------------------- */
@media (hover: none) and (pointer: coarse) {
  .ars-ct a,
  .ars-ct button {
    -webkit-tap-highlight-color: transparent;
  }
}

.ars-ct ::selection {
  background: var(--ct-blue-light);
  color: var(--ct-navy-dark);
}


/* =====================================================================
   CATATAN

   1. Foto: Background Image di container ars-ct__photo (container
      dibiarkan kosong). Tinggi kartu: --ct-photo-h; lebar foto:
      --ct-photo-w; sudut kartu: --ct-card-radius.

   2. Sambungan miring: --ct-slant. Ingin lurus seperti dulu? set
      --ct-slant: 0px;

   3. Teks dekoratif (lencana foto, eyebrow, angka & kata watermark)
      diubah lewat --ct-badge, --ct-eyebrow-a/b, --ct-watermark-no,
      --ct-watermark-word di blok 1. Tidak ingin lencana di foto?
      hapus rule ".ars-ct__photo.e-con::before" di bagian 4.

   4. Warna panel: --ct-panel-bg (blok 1) — atau atur Background di panel
      Container ars-ct__content; panel yang menang.

   5. Icon List: Space Between di panel sebaiknya 0. Warna ikon dan teks
      tetap bisa diubah dari panel (default: putih).

   6. Cek di panel Container ars-ct__card: Direction = Row, Wrap = No Wrap.
      Kalau panel diset "Wrap", panel yang menang.
   --------------------------------------------------------------------- *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0dce1c5 *//* =====================================================================
   SECTION HEADER (JUDUL SECTION) — MAI KEBALI TOUR  (v2.0 — Azure)
   Container TERPISAH, dipakai di atas section Why Choose Us.

   Tempel di: Container utama judul > Advanced > Custom CSS

   Class yang harus dipasang (Advanced > CSS Classes):

   Container utama ................................ ars-sechead
   ├─ Container kiri .............................. ars-sechead__left
   │   └─ Heading ................................. ars-sechead__title
   └─ Container kanan ............................. ars-sechead__right
       └─ Text Editor ............................. ars-sechead__desc

   PERUBAHAN v2.0
   - Palet emas di latar gelap  ->  biru brand #009CE7 di latar terang
   - Latar disamakan dengan About Us / Reviews / Tabs:
     gradien #F8FCFF -> #EAF4FC + tekstur grid + ambient glow
   - Watermark angka "04" di kanan atas
   - Font: DM Serif Display (judul) & Poppins (teks)
   - Padding bawah 0 supaya menyambung mulus ke section Why Choose Us

   TIDAK DIKUNCI: Typography & warna dari panel Heading dan Text Editor
   SELALU menang. AMAN: hanya memakai class di atas.
   ===================================================================== */


/* ---------------------------------------------------------------------
   1. PENGATURAN — ubah nilai di sini
   --------------------------------------------------------------------- */
.ars-sechead {

  /* Warna (sama dengan section lain) */
  --sh-primary: #0B2A45;                /* navy — judul */
  --sh-blue: #009CE7;                   /* biru brand */
  --sh-blue-rgb: 0, 156, 231;
  --sh-sky: #5CC8FF;
  --sh-accent: #0070B8;

  --sh-bg-top: #F8FCFF;
  --sh-bg-bottom: #EAF4FC;

  /* Font */
  --sh-font-display: "DM Serif Display", Georgia, serif;
  --sh-font-body: "Poppins", -apple-system, BlinkMacSystemFont, sans-serif;

  /* ============ JARAK ============ */
  --sh-content-max: 1240px;
  --sh-pad-x: 48px;
  --sh-pad-top: 110px;
  --sh-pad-bottom: 0px;                 /* menyambung ke section berikutnya */
  --sh-gap: 60px;
  --sh-line-gap: 44px;
  /* =============================== */

  /* Label kecil */
  --sh-eyebrow: "Why Choose Us";        /* "" = hilang */
  --sh-eyebrow-size: 12px;
  --sh-eyebrow-ls: .24em;
  --sh-eyebrow-color: var(--sh-blue);

  /* Heading */
  --sh-title-size: clamp(38px, 4.4vw, 64px);
  --sh-title-weight: 400;
  --sh-title-color: var(--sh-primary);
  --sh-title-lh: 1.05;

  /* Deskripsi */
  --sh-desc-size: 16px;
  --sh-desc-color: rgba(16, 34, 47, .72);
  --sh-desc-lh: 1.82;
  --sh-desc-max: 440px;
  --sh-desc-line: var(--sh-blue);

  /* Garis bawah */
  --sh-divider: linear-gradient(
      90deg,
      rgba(var(--sh-blue-rgb), .38),
      rgba(var(--sh-blue-rgb), .08) 70%,
      transparent
  );

  /* Watermark angka */
  --sh-watermark: "04";                 /* "" = hilang */

  --sh-ease: cubic-bezier(.22, .8, .25, 1);
}


/* ---------------------------------------------------------------------
   2. CONTAINER UTAMA
   --------------------------------------------------------------------- */
.e-con.ars-sechead {
  position: relative;
  isolation: isolate;
  overflow: hidden;

  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--sh-gap);

  padding:
      var(--sh-pad-top)
      max(var(--sh-pad-x), calc((100% - var(--sh-content-max)) / 2))
      var(--sh-pad-bottom);

  background-color: var(--sh-bg-top);
  background-image: linear-gradient(180deg, var(--sh-bg-top) 0%, var(--sh-bg-bottom) 100%);
}


/* tekstur grid halus — sama dengan section lain */
.e-con.ars-sechead::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: .4;

  background-image:
      linear-gradient(rgba(var(--sh-blue-rgb), .030) 1px, transparent 1px),
      linear-gradient(90deg, rgba(var(--sh-blue-rgb), .030) 1px, transparent 1px);
  background-size: 48px 48px;

  -webkit-mask-image: linear-gradient(to right, transparent, black 16%, black 84%, transparent);
  mask-image: linear-gradient(to right, transparent, black 16%, black 84%, transparent);
}


/* isi (jika container "Boxed") */
.e-con.ars-sechead > .e-con-inner {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--sh-gap);
  width: 100%;
  max-width: none;
  padding: 0;
}


/* garis biru memudar di bawah konten */
.e-con.ars-sechead::after {
  content: "";
  position: absolute;
  left: max(var(--sh-pad-x), calc((100% - var(--sh-content-max)) / 2));
  right: max(var(--sh-pad-x), calc((100% - var(--sh-content-max)) / 2));
  bottom: var(--sh-pad-bottom);
  height: 1px;
  background: var(--sh-divider);
  pointer-events: none;
}


:where(.ars-sechead) .ars-sechead__left.e-con,
:where(.ars-sechead) .ars-sechead__right.e-con {
  position: relative;
  display: flex;
  flex-direction: column;
  width: auto;
  min-width: 0;
  padding: 0 0 var(--sh-line-gap);
}

:where(.ars-sechead) .ars-sechead__left.e-con  { flex: 1 1 auto; }

:where(.ars-sechead) .ars-sechead__right.e-con {
  flex: 0 1 var(--sh-desc-max);
  max-width: var(--sh-desc-max);
}


/* watermark angka "04" di kanan atas */
:where(.ars-sechead) .ars-sechead__right.e-con::after {
  content: var(--sh-watermark);
  position: absolute;
  right: 0;
  top: calc(var(--sh-pad-top) * -1 + 18px);
  z-index: -1;

  pointer-events: none;
  user-select: none;

  font-family: var(--sh-font-display);
  font-size: clamp(70px, 8vw, 125px);
  line-height: 1;
  letter-spacing: -.04em;

  color: transparent;
  -webkit-text-stroke: 1px rgba(var(--sh-blue-rgb), .16);
  opacity: .9;
}


/* ---------------------------------------------------------------------
   3. HEADING — .ars-sechead__title
   --------------------------------------------------------------------- */
:where(.ars-sechead .ars-sechead__title) {
  --e-global-color-primary: var(--sh-title-color);
  --e-global-typography-primary-font-family: var(--sh-font-display);
  --e-global-typography-primary-font-weight: var(--sh-title-weight);
  --e-global-typography-primary-font-size: var(--sh-title-size);
  --e-global-typography-primary-line-height: var(--sh-title-lh);
}

:where(.ars-sechead) .ars-sechead__title.elementor-widget {
  width: 100%;
  margin-block-end: 0;
}

:where(.ars-sechead) .ars-sechead__title .elementor-heading-title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-size: var(--sh-title-size);
  font-weight: var(--sh-title-weight);
  line-height: var(--sh-title-lh);
  letter-spacing: -.022em;
  color: var(--sh-title-color);
  text-wrap: balance;
}


/* kata di dalam <span> tampil bergradasi biru */
:where(.ars-sechead) .ars-sechead__title .elementor-heading-title span {
  background: linear-gradient(90deg, var(--sh-accent) 0%, var(--sh-blue) 55%, var(--sh-sky) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}


/* label kecil bergaris di atas heading */
:where(.ars-sechead) .ars-sechead__title .elementor-heading-title::before {
  content: var(--sh-eyebrow);
  display: block;
  width: max-content;
  max-width: 100%;
  margin-bottom: 18px;
  padding-left: 52px;

  background:
      linear-gradient(90deg, var(--sh-blue), var(--sh-sky))
      left center / 38px 2px no-repeat;

  font-family: var(--sh-font-body);
  font-size: var(--sh-eyebrow-size);
  font-weight: 600;
  font-style: normal;
  line-height: 1.3;
  letter-spacing: var(--sh-eyebrow-ls);
  text-transform: uppercase;
  color: var(--sh-eyebrow-color);
}


/* garis aksen memudar di bawah heading */
:where(.ars-sechead) .ars-sechead__title .elementor-heading-title::after {
  content: "";
  display: block;
  width: 120px;
  height: 3px;
  margin-top: 22px;
  border-radius: 999px;

  background: linear-gradient(
      90deg,
      var(--sh-blue) 0%,
      rgba(var(--sh-blue-rgb), .45) 55%,
      transparent 100%
  );

  transition: width .5s var(--sh-ease);
}

.e-con.ars-sechead:hover .ars-sechead__title .elementor-heading-title::after {
  width: 176px;
}


/* ---------------------------------------------------------------------
   4. DESKRIPSI — .ars-sechead__desc
   --------------------------------------------------------------------- */
:where(.ars-sechead .ars-sechead__desc) {
  --e-global-color-text: var(--sh-desc-color);
  --e-global-typography-text-font-family: var(--sh-font-body);
  --e-global-typography-text-font-size: var(--sh-desc-size);
  --e-global-typography-text-line-height: var(--sh-desc-lh);
}

:where(.ars-sechead) .ars-sechead__desc.elementor-widget {
  position: relative;
  width: 100%;
  margin-block-end: 0;
  padding-left: 24px;
  border-left: 0;
}


/* garis vertikal biru bergradasi di kiri deskripsi */
:where(.ars-sechead) .ars-sechead__desc.elementor-widget::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 2px;
  width: 2px;
  border-radius: 999px;

  background: linear-gradient(
      180deg,
      var(--sh-blue) 0%,
      var(--sh-sky) 58%,
      rgba(var(--sh-blue-rgb), .12) 100%
  );
}

:where(.ars-sechead) .ars-sechead__desc.elementor-widget-text-editor {
  font-family: var(--sh-font-body);
  font-size: var(--sh-desc-size);
  font-weight: 300;
  line-height: var(--sh-desc-lh);
  color: var(--sh-desc-color);
  text-align: left;
}

:where(.ars-sechead) .ars-sechead__desc p {
  margin: 0 0 1em;
}

:where(.ars-sechead) .ars-sechead__desc p:last-child {
  margin-bottom: 0;
}


/* ---------------------------------------------------------------------
   5. TABLET (≤ 1024px) — bertumpuk
   --------------------------------------------------------------------- */
@media (max-width: 1024px) {
  .ars-sechead {
    --sh-pad-x: 32px;
    --sh-pad-top: 96px;
    --sh-gap: 26px;
    --sh-line-gap: 36px;
    --sh-title-size: clamp(36px, 6vw, 52px);
  }

  .e-con.ars-sechead,
  .e-con.ars-sechead > .e-con-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  :where(.ars-sechead) .ars-sechead__left.e-con {
    padding-bottom: 0;
  }

  :where(.ars-sechead) .ars-sechead__right.e-con {
    flex: none;
    max-width: 560px;
  }

  :where(.ars-sechead) .ars-sechead__right.e-con::after {
    top: auto;
    bottom: calc(100% + 10px);
    font-size: 88px;
  }
}


/* ---------------------------------------------------------------------
   6. MOBILE (≤ 767px)
   --------------------------------------------------------------------- */
@media (max-width: 767px) {
  .ars-sechead {
    --sh-pad-x: 22px;
    --sh-pad-top: 76px;
    --sh-gap: 20px;
    --sh-line-gap: 30px;
    --sh-eyebrow-size: 10.5px;
    --sh-eyebrow-ls: .2em;
    --sh-title-size: clamp(31px, 8.6vw, 40px);
    --sh-desc-size: 15px;
  }

  :where(.ars-sechead) .ars-sechead__title .elementor-heading-title::before {
    margin-bottom: 12px;
    padding-left: 40px;
    background-size: 28px 2px;
  }

  :where(.ars-sechead) .ars-sechead__title .elementor-heading-title::after {
    width: 76px;
    height: 2px;
    margin-top: 16px;
  }

  :where(.ars-sechead) .ars-sechead__desc.elementor-widget {
    padding-left: 16px;
  }

  :where(.ars-sechead) .ars-sechead__right.e-con::after {
    font-size: 64px;
  }
}


/* ---------------------------------------------------------------------
   7. KURANGI ANIMASI
   --------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .ars-sechead *,
  .ars-sechead *::before,
  .ars-sechead *::after {
    transition: none;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-41f7be1 *//* =====================================================================
   WHY CHOOSE US — MAI KEBALI TOUR  (v2.0 — Azure)
   Tempel di: Container utama section > Advanced > Custom CSS

   Class yang harus dipasang (Advanced > CSS Classes):

   Container utama ................................ ars-why
   ├─ Container kiri .............................. ars-why__col ars-why__col--left
   │   ├─ Icon Box ................................ ars-why__item
   │   ├─ Icon Box ................................ ars-why__item
   │   └─ Icon Box ................................ ars-why__item
   ├─ Container tengah (foto) ..................... ars-why__photo
   └─ Container kanan ............................. ars-why__col ars-why__col--right
       ├─ Icon Box ................................ ars-why__item
       ├─ Icon Box ................................ ars-why__item
       └─ Icon Box ................................ ars-why__item

   PERUBAHAN v2.0
   - Palet emas di latar gelap  ->  biru brand #009CE7 di latar terang
   - Latar disamakan dengan About Us / Reviews / Tabs:
     gradien #F8FCFF -> #EAF4FC + tekstur grid + ambient glow
   - Watermark "WHY CHOOSE US" samar di pojok kiri bawah
   - Foto: arch penuh  ->  PORTAL MIRING (senada dengan About Us),
     bingkai berlapis jadi biru
   - Ikon: lingkaran gelap  ->  lingkaran terang bercincin, terisi
     gradien biru saat hover
   - Font: DM Serif Display (judul) & Poppins (teks)
   - Di mobile tiap Icon Box jadi kartu, garis timeline dihilangkan

   TIDAK DIKUNCI: pengaturan panel Icon Box (warna ikon, ukuran ikon,
   font & warna judul/deskripsi) SELALU menang.
   AMAN: hanya memakai class di atas, tidak mengganggu elemen lain.
   ===================================================================== */


/* ---------------------------------------------------------------------
   1. PENGATURAN — ubah nilai di sini
   --------------------------------------------------------------------- */
.ars-why {

  /* Warna (sama dengan section lain) */
  --why-primary: #0B2A45;               /* navy — judul */
  --why-blue: #009CE7;                  /* biru brand */
  --why-blue-rgb: 0, 156, 231;
  --why-sky: #5CC8FF;
  --why-accent: #0070B8;

  --why-bg-top: #F8FCFF;
  --why-bg-bottom: #EAF4FC;
  --why-white: #FFFFFF;
  --why-muted: rgba(16, 34, 47, .56);

  /* Font */
  --why-font-display: "DM Serif Display", Georgia, serif;
  --why-font-body: "Poppins", -apple-system, BlinkMacSystemFont, sans-serif;

  /* ============ JARAK & TATA LETAK ============ */
  --why-pad-y: 110px;
  --why-pad-x: 48px;
  --why-content-max: 1240px;
  --why-col-gap: 64px;
  --why-photo-width: 360px;
  --why-item-gap: 56px;
  --why-arc: 56px;                      /* KELENGKUNGAN, 0px = lurus */
  /* ============================================ */

  /* Foto */
  --why-photo-ratio: 3 / 4.2;
  --why-photo-radius: 210px 46px 30px 30px;   /* portal miring */
  --why-frame-color: rgba(var(--why-blue-rgb), .55);
  --why-frame-offset: 18px;
  --why-frame-2: rgba(var(--why-blue-rgb), .22);
  --why-photo-filter: none;

  /* Garis lengkung */
  --why-arc-line: rgba(var(--why-blue-rgb), .50);
  --why-arc-style: dashed;

  /* Ikon */
  --why-icon-box: 66px;
  --why-icon-size: 24px;
  --why-icon-color: var(--why-blue);
  --why-icon-bg: radial-gradient(
      circle at 32% 28%,
      rgba(255, 255, 255, .96) 0%,
      rgba(234, 244, 252, .78) 62%,
      rgba(214, 236, 250, .58) 100%
  );
  --why-icon-border: rgba(var(--why-blue-rgb), .40);
  --why-icon-color-hover: #FFFFFF;
  --why-icon-bg-hover: linear-gradient(
      140deg,
      var(--why-sky) 0%,
      var(--why-blue) 58%,
      var(--why-accent) 100%
  );
  --why-icon-gap: 22px;

  /* Teks */
  --why-title-size: 24px;
  --why-title-weight: 400;
  --why-title-color: var(--why-primary);
  --why-title-color-hover: var(--why-blue);
  --why-desc-size: 15px;
  --why-desc-color: var(--why-muted);
  --why-desc-lh: 1.72;

  /* Watermark */
  --why-watermark: "WHY CHOOSE US";     /* "" = hilang */

  /* Animasi */
  --why-speed: .5s;
  --why-ease: cubic-bezier(.22, .8, .25, 1);
}


/* ---------------------------------------------------------------------
   2. CONTAINER UTAMA — grid 3 kolom:  kiri | foto | kanan
   --------------------------------------------------------------------- */
.e-con.ars-why {
  position: relative;
  isolation: isolate;
  overflow: hidden;

  padding: var(--why-pad-y) max(var(--why-pad-x), calc((100% - var(--why-content-max)) / 2));

  background-color: var(--why-bg-top);
  background-image: linear-gradient(180deg, var(--why-bg-top) 0%, var(--why-bg-bottom) 100%);
}


/* ambient glow biru di sisi kanan */
.e-con.ars-why::before {
  content: "";
  position: absolute;
  width: clamp(440px, 56vw, 920px);
  height: clamp(440px, 56vw, 920px);
  right: clamp(-450px, -21vw, -180px);
  top: clamp(-330px, -15vw, -120px);
  z-index: -3;
  pointer-events: none;

  border-radius: 50%;

  background: radial-gradient(
      circle,
      rgba(92, 200, 255, .20) 0%,
      rgba(var(--why-blue-rgb), .075) 36%,
      transparent 70%
  );

  filter: blur(7px);
  animation: arsWhyGlow 10s ease-in-out infinite;
}

@keyframes arsWhyGlow {
  0%, 100% { opacity: .82; transform: scale(1); }
  50%      { opacity: 1;   transform: scale(1.06); }
}


/* tekstur grid + watermark kata di kiri bawah */
.e-con.ars-why::after {
  content: var(--why-watermark);

  position: absolute;
  inset: 0;
  z-index: -4;
  pointer-events: none;
  user-select: none;

  display: flex;
  align-items: flex-end;
  justify-content: flex-start;

  padding-left: max(var(--why-pad-x), calc((100% - var(--why-content-max)) / 2));
  padding-bottom: 4px;

  white-space: nowrap;

  background-image:
      linear-gradient(rgba(var(--why-blue-rgb), .030) 1px, transparent 1px),
      linear-gradient(90deg, rgba(var(--why-blue-rgb), .030) 1px, transparent 1px);
  background-size: 48px 48px;

  font-family: var(--why-font-display);
  font-size: clamp(50px, 7vw, 120px);
  line-height: .82;
  letter-spacing: -.035em;

  color: transparent;
  -webkit-text-stroke: 1px rgba(var(--why-blue-rgb), .12);
}


.e-con-full.e-con.ars-why,
.e-con.ars-why > .e-con-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, var(--why-photo-width)) minmax(0, 1fr);
  grid-template-areas: "left photo right";
  align-items: center;
  column-gap: var(--why-col-gap);
  row-gap: 56px;
}

.e-con.ars-why > .e-con-inner {
  width: 100%;
  max-width: none;
  padding: 0;
}

:where(.ars-why) .ars-why__col--left.e-con  { grid-area: left; }
:where(.ars-why) .ars-why__photo.e-con      { grid-area: photo; }
:where(.ars-why) .ars-why__col--right.e-con { grid-area: right; }


/* ---------------------------------------------------------------------
   3. KOLOM ICON BOX + GARIS LENGKUNG
   --------------------------------------------------------------------- */
:where(.ars-why) .ars-why__col.e-con {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--why-item-gap);
  width: 100%;
  min-width: 0;
  padding: 0;
}

:where(.ars-why) .ars-why__col.e-con > .e-con-inner {
  display: flex;
  flex-direction: column;
  gap: var(--why-item-gap);
  width: 100%;
  padding: 0;
}


/* garis lengkung biru yang melewati titik tengah ikon */
:where(.ars-why) .ars-why__col.e-con::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 16.66%;
  bottom: 16.66%;
  width: calc(var(--why-arc) * 2);
  border: 1px var(--why-arc-style) var(--why-arc-line);
  border-radius: 50%;
  pointer-events: none;
}

/* kiri: lengkung "(" */
:where(.ars-why) .ars-why__col--left.e-con::before {
  right: calc(var(--why-icon-box) / 2 - var(--why-arc));
  border-right-color: transparent;
  border-top-color: transparent;
  border-bottom-color: transparent;
}

/* kanan: lengkung ")" */
:where(.ars-why) .ars-why__col--right.e-con::before {
  left: calc(var(--why-icon-box) / 2 - var(--why-arc));
  border-left-color: transparent;
  border-top-color: transparent;
  border-bottom-color: transparent;
}

/* icon box ke-2 (tengah) menjorok keluar */
:where(.ars-why) .ars-why__col--left  .ars-why__item:nth-child(2) { transform: translateX(calc(var(--why-arc) * -1)); }
:where(.ars-why) .ars-why__col--right .ars-why__item:nth-child(2) { transform: translateX(var(--why-arc)); }


/* ---------------------------------------------------------------------
   4. ICON BOX — .ars-why__item
   --------------------------------------------------------------------- */
:where(.ars-why .ars-why__item) {
  --e-global-color-primary: var(--why-icon-color);
  --e-global-color-secondary: var(--why-title-color);
  --e-global-color-text: var(--why-desc-color);
  --e-global-typography-primary-font-family: var(--why-font-display);
  --e-global-typography-primary-font-weight: var(--why-title-weight);
  --e-global-typography-text-font-family: var(--why-font-body);
  --e-global-typography-text-font-size: var(--why-desc-size);
  --e-global-typography-text-line-height: var(--why-desc-lh);
}

:where(.ars-why) .ars-why__item.elementor-widget {
  position: relative;
  z-index: 1;
  width: 100%;
  margin-block-end: 0;
  transition: transform var(--why-speed) var(--why-ease);
}

:where(.ars-why) .ars-why__item .elementor-icon-box-wrapper {
  display: flex;
  align-items: center;
  gap: var(--why-icon-gap);
}

/* kiri: teks rata kanan, ikon di kanan (dekat foto) */
:where(.ars-why) .ars-why__col--left .ars-why__item .elementor-icon-box-wrapper {
  flex-direction: row-reverse;
  text-align: right;
}

/* kanan: ikon di kiri, teks rata kiri */
:where(.ars-why) .ars-why__col--right .ars-why__item .elementor-icon-box-wrapper {
  flex-direction: row;
  text-align: left;
}


/* ---------- Lingkaran ikon ---------- */
:where(.ars-why) .ars-why__item .elementor-icon-box-icon {
  position: relative;
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--why-icon-box);
  height: var(--why-icon-box);
  margin: 0;

  border: 1.5px solid var(--why-icon-border);
  border-radius: 50%;
  background: var(--why-icon-bg);
  line-height: 0;

  box-shadow:
      0 0 0 6px rgba(var(--why-blue-rgb), .07),
      0 12px 26px -12px rgba(var(--why-blue-rgb), .45),
      inset 0 1px 0 rgba(255, 255, 255, .90);

  transition:
      background var(--why-speed) ease,
      border-color var(--why-speed) ease,
      box-shadow var(--why-speed) ease,
      transform var(--why-speed) var(--why-ease);
}

/* cincin tipis kedua di luar lingkaran */
:where(.ars-why) .ars-why__item .elementor-icon-box-icon::after {
  content: "";
  position: absolute;
  inset: -9px;
  border: 1px solid rgba(var(--why-blue-rgb), .18);
  border-radius: 50%;
  transition: inset var(--why-speed) var(--why-ease), border-color var(--why-speed) ease;
}

:where(.ars-why) .ars-why__item .elementor-icon {
  font-size: var(--why-icon-size);
  color: var(--why-icon-color);
  fill: var(--why-icon-color);
  transition: color var(--why-speed) ease, fill var(--why-speed) ease, transform var(--why-speed) var(--why-ease);
}

:where(.ars-why) .ars-why__item .elementor-icon svg {
  width: 1em;
  height: 1em;
}


/* ---------- Teks ---------- */
:where(.ars-why) .ars-why__item .elementor-icon-box-content {
  flex: 1 1 auto;
  min-width: 0;
}

:where(.ars-why) .ars-why__item .elementor-icon-box-title {
  margin: 0 0 7px;
  font-family: var(--why-font-display);
  font-size: var(--why-title-size);
  font-weight: var(--why-title-weight);
  line-height: 1.2;
  letter-spacing: -.01em;
  color: var(--why-title-color);
  transition: color var(--why-speed) ease;
}

:where(.ars-why) .ars-why__item .elementor-icon-box-title a {
  color: inherit;
}

:where(.ars-why) .ars-why__item .elementor-icon-box-description {
  margin: 0;
  font-family: var(--why-font-body);
  font-size: var(--why-desc-size);
  font-weight: 300;
  line-height: var(--why-desc-lh);
  color: var(--why-desc-color);
}


/* ---------- Hover ---------- */
@media (hover: hover) {

  :where(.ars-why) .ars-why__item:hover .elementor-icon-box-icon {
    transform: scale(1.06);
    background: var(--why-icon-bg-hover);
    border-color: transparent;

    box-shadow:
        0 0 0 9px rgba(var(--why-blue-rgb), .12),
        0 16px 32px -10px rgba(var(--why-blue-rgb), .60),
        inset 0 1px 0 rgba(255, 255, 255, .45);
  }

  :where(.ars-why) .ars-why__item:hover .elementor-icon-box-icon::after {
    inset: -14px;
    border-color: rgba(var(--why-blue-rgb), .34);
  }

  :where(.ars-why) .ars-why__item:hover .elementor-icon {
    color: var(--why-icon-color-hover);
    fill: var(--why-icon-color-hover);
    transform: scale(1.06);
  }

  :where(.ars-why) .ars-why__item:hover .elementor-icon-box-title {
    color: var(--why-title-color-hover);
  }

  /* item bergerak sedikit ke arah luar */
  :where(.ars-why) .ars-why__col--left  .ars-why__item:hover { transform: translateX(calc(var(--why-arc) * -.26)); }
  :where(.ars-why) .ars-why__col--right .ars-why__item:hover { transform: translateX(calc(var(--why-arc) * .26)); }

  :where(.ars-why) .ars-why__col--left  .ars-why__item:nth-child(2):hover { transform: translateX(calc(var(--why-arc) * -1.22)); }
  :where(.ars-why) .ars-why__col--right .ars-why__item:nth-child(2):hover { transform: translateX(calc(var(--why-arc) * 1.22)); }
}


/* ---------------------------------------------------------------------
   5. FOTO TENGAH — .ars-why__photo (portal miring + bingkai biru)
   Foto dipasang sebagai Background Image container ini,
   atau memakai widget Image di dalamnya.
   --------------------------------------------------------------------- */
:where(.ars-why) .ars-why__photo.e-con {
  --min-height: 0px;
  position: relative;
  width: 100%;
  max-width: var(--why-photo-width);
  justify-self: center;
  aspect-ratio: var(--why-photo-ratio);
  min-height: 0;
  padding: 0;

  border: 7px solid var(--why-white);
  border-radius: var(--why-photo-radius);

  background-size: cover;
  background-position: center;

  box-shadow:
      0 34px 76px rgba(4, 32, 47, .20),
      0 0 0 1px rgba(var(--why-blue-rgb), .16);

  transition: border-radius .8s var(--why-ease);
}

/* bingkai biru pertama (bergeser ke kanan-bawah) */
:where(.ars-why) .ars-why__photo.e-con::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -7px;
  border: 1px solid var(--why-frame-color);
  border-radius: inherit;
  transform: translate(var(--why-frame-offset), var(--why-frame-offset));
  pointer-events: none;
  transition: transform .7s var(--why-ease);
}

/* bingkai kedua (lebih besar, samar) */
:where(.ars-why) .ars-why__photo.e-con::after {
  content: "";
  position: absolute;
  z-index: -2;
  inset: calc(var(--why-frame-offset) * -1.6);
  border: 1px solid var(--why-frame-2);
  border-radius: inherit;
  pointer-events: none;
}

@media (hover: hover) {

  :where(.ars-why) .ars-why__photo.e-con:hover {
    /* lengkung berpindah sisi */
    border-radius: 46px 210px 30px 30px;
  }

  :where(.ars-why) .ars-why__photo.e-con:hover::before {
    transform: translate(calc(var(--why-frame-offset) * -1), calc(var(--why-frame-offset) * -1));
  }
}

/* jika foto memakai widget Image di dalam container */
:where(.ars-why) .ars-why__photo .elementor-widget-image {
  width: 100%;
  height: 100%;
  margin: 0;
}

:where(.ars-why) .ars-why__photo .elementor-widget-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: calc(var(--why-photo-radius) - 0px);
  filter: var(--why-photo-filter);
}


/* ---------------------------------------------------------------------
   6. KURANGI ANIMASI
   --------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .ars-why *,
  .ars-why *::before,
  .ars-why *::after {
    animation: none;
    transition: none;
  }
}


/* ---------------------------------------------------------------------
   7. TABLET (≤ 1024px) — foto di atas, 2 kolom berdampingan
   --------------------------------------------------------------------- */
@media (max-width: 1024px) {
  .ars-why {
    --why-pad-y: 96px;
    --why-pad-x: 32px;
    --why-col-gap: 40px;
    --why-photo-width: 340px;
    --why-item-gap: 40px;
    --why-arc: 0px;
    --why-icon-box: 58px;
    --why-title-size: 22px;
    --why-photo-radius: 170px 36px 26px 26px;
  }

  .e-con-full.e-con.ars-why,
  .e-con.ars-why > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
      "photo photo"
      "left  right";
    row-gap: 72px;
  }

  :where(.ars-why) .ars-why__col.e-con::before {
    display: none;
  }

  /* semua icon box: ikon kiri, teks rata kiri */
  :where(.ars-why) .ars-why__col--left .ars-why__item .elementor-icon-box-wrapper,
  :where(.ars-why) .ars-why__col--right .ars-why__item .elementor-icon-box-wrapper {
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
  }

  .e-con.ars-why::after {
    font-size: clamp(44px, 8vw, 84px);
  }
}


/* ---------------------------------------------------------------------
   8. MOBILE (≤ 767px) — bertumpuk, tiap Icon Box jadi kartu
   --------------------------------------------------------------------- */
@media (max-width: 767px) {
  .ars-why {
    --why-pad-y: 76px;
    --why-pad-x: 22px;
    --why-photo-width: 300px;
    --why-frame-offset: 12px;
    --why-item-gap: 14px;
    --why-icon-box: 56px;
    --why-icon-size: 22px;
    --why-icon-gap: 15px;
    --why-title-size: 19px;
    --why-desc-size: 14.5px;
    --why-photo-radius: 140px 26px 20px 20px;
  }

  .e-con-full.e-con.ars-why,
  .e-con.ars-why > .e-con-inner {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "photo"
      "left"
      "right";
    row-gap: var(--why-item-gap);
  }

  :where(.ars-why) .ars-why__photo.e-con {
    border-width: 5px;
    margin-bottom: 30px;
  }

  /* garis lengkung / timeline dihilangkan agar rapi */
  :where(.ars-why) .ars-why__col.e-con::before {
    display: none;
  }

  /* tiap Icon Box jadi kartu seragam */
  :where(.ars-why) .ars-why__item.elementor-widget {
    transform: none;
    padding: 17px 16px 18px 18px;

    border: 1px solid rgba(var(--why-blue-rgb), .16);
    border-radius: 18px 18px 18px 4px;

    background: linear-gradient(
        165deg,
        rgba(255, 255, 255, .94) 0%,
        rgba(234, 244, 252, .78) 100%
    );

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .85),
        0 10px 26px rgba(4, 32, 47, .06);
  }

  :where(.ars-why) .ars-why__col--left .ars-why__item .elementor-icon-box-wrapper,
  :where(.ars-why) .ars-why__col--right .ars-why__item .elementor-icon-box-wrapper {
    flex-direction: row;
    align-items: center;
    text-align: left;
  }

  :where(.ars-why) .ars-why__item .elementor-icon-box-icon::after {
    inset: -6px;
  }

  .e-con.ars-why::after {
    padding-bottom: 2px;
    font-size: clamp(34px, 11vw, 54px);
    -webkit-text-stroke-width: 1px;
  }
}


/* ---------------------------------------------------------------------
   9. HP KECIL (≤ 400px)
   --------------------------------------------------------------------- */
@media (max-width: 400px) {
  .ars-why {
    --why-icon-box: 50px;
    --why-icon-size: 20px;
    --why-icon-gap: 13px;
    --why-photo-width: 270px;
  }

  :where(.ars-why) .ars-why__item.elementor-widget {
    padding: 15px 14px 16px 16px;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-50123ba *//* =====================================================================
   TESTIMONIALS (REVIEW) — MAI KEBALI TOUR  (v2.2 — Azure, FIXED)
   Tempel di: Container PALING LUAR > Advanced > Custom CSS

   Class TETAP SAMA:

   Container paling luar ............................. ars-tst
   ├─ Container (baris judul) ........................ ars-tst__head
   │   ├─ Container kiri ............................. ars-tst__head-left
   │   │   └─ Heading ................................ ars-tst__title
   │   └─ Container kanan ............................ ars-tst__head-right
   │       └─ Text Editor ............................ ars-tst__desc
   └─ Container (isi) ................................ ars-tst__body
       ├─ Container (kotak rating kiri) .............. ars-tst__rating
       │   ├─ Heading ("TRAVELER RATING") ............ ars-tst__rating-label
       │   ├─ Heading ("5.0") ........................ ars-tst__score
       │   ├─ Rating ................................. ars-tst__stars
       │   ├─ Heading ("Excellent") .................. ars-tst__rating-word
       │   └─ Text Editor ............................ ars-tst__rating-text
       └─ Container (pembungkus Reviews) ............. ars-tst__reviews-wrap
           └─ Reviews (carousel) ..................... ars-tst__reviews

   ---------------------------------------------------------------------
   YANG DIPERBAIKI (v2.0 -> v2.2)
   ---------------------------------------------------------------------
   1. Elementor memakai ::before di SETIAP container untuk background
      overlay (position:absolute; width:100%; height:100%; left:0;
      top:0). v2.0 tidak me-reset itu, akibatnya:
        - eyebrow "TESTIMONIALS | MAI KEBALI TOUR" keluar dari alur dan
          menimpa judul (garis kecilnya nyasar ke tengah judul)
        - garis tipis di bawah header malah muncul di ATAS header
        - ambient glow muncul di kiri, bukan di kanan atas
      Sekarang setiap ::before container di-reset dulu.
   2. Header desktop & tablet: wrap dimatikan (nowrap), jadi judul kiri
      dan deskripsi kanan pasti berdampingan. Di mobile ditumpuk.
   3. Eyebrow diberi jarak lega ke judul (--ts-eyebrow-gap).
   4. Tidak ada lagi properti langsung yang mengunci panel:
      min-height, flex, margin, radius kotak rating dan lebar container
      sekarang memakai variabel Elementor (--min-height, --flex-grow,
      --margin-*, --border-radius, --width).
   5. Text Editor: <p> memakai "font: inherit", sehingga tipografi dari
      panel (yang diterapkan di widget induk) benar-benar terpakai.

   6. (v2.2) Jarak eyebrow ke judul dulu terlalu jauh, karena margin
      eyebrow ditambah gap bawaan Elementor (20px) antar item di kolom
      kiri. Sekarang gap kolom kiri = 0 dan jarak hanya diatur oleh
      --ts-eyebrow-gap (22px), sama dengan section Review TripAdvisor.
      Jarak garis aksen di bawah judul juga ikut rapat (22px).

   Tanpa !important. Panel Elementor SELALU menang.
   ===================================================================== */


/* ---------------------------------------------------------------------
   1. PENGATURAN — ubah nilai di sini
   --------------------------------------------------------------------- */
.ars-tst {

  /* Warna */
  --ts-blue: #009CE7;
  --ts-blue-light: #7FD4FF;
  --ts-blue-dark: #0070B8;
  --ts-blue-rgb: 0, 156, 231;
  --ts-navy: #0B2A45;
  --ts-navy-dark: #04202F;

  --ts-text: #4F6272;
  --ts-muted: #7A8C99;

  --ts-bg-top: #F8FCFF;
  --ts-bg-bottom: #EAF4FC;
  --ts-white: #FFFFFF;

  /* Font */
  --ts-font-display: "DM Serif Display", Georgia, serif;
  --ts-font-body: "Poppins", -apple-system, BlinkMacSystemFont, sans-serif;

  /* Jarak */
  --ts-content-max: 1240px;
  --ts-pad-x: 48px;
  --ts-pad-top: 110px;
  --ts-pad-bottom: 110px;
  --ts-head-gap: 56px;
  --ts-col-gap: 44px;
  --ts-rating-w: 320px;

  /* Eyebrow & watermark */
  --ts-eyebrow-a: "TESTIMONIALS";
  --ts-eyebrow-b: "MAI KEBALI TOUR";
  --ts-eyebrow-gap: 22px;            /* jarak eyebrow ke judul (sama dgn section Review) */
  --ts-watermark-no: "05";
  --ts-watermark-word: "GUEST STORIES";

  /* Judul & deskripsi */
  --ts-title-size: clamp(38px, 4.1vw, 64px);
  --ts-desc-size: 16px;
  --ts-desc-max: 460px;

  /* Kotak rating */
  --ts-rating-bg: linear-gradient(165deg, #0B2A45 0%, #073A5C 42%, #0070B8 78%, #009CE7 100%);
  --ts-rating-radius: 190px 42px 28px 28px;    /* portal miring */
  --ts-score-size: clamp(60px, 5.6vw, 82px);

  /* Kartu review */
  --ts-card-radius: 20px;
  --ts-card-pad: 26px;
  --ts-card-bg: linear-gradient(165deg, #FFFFFF 0%, #F5FBFF 100%);
  --ts-card-border: rgba(var(--ts-blue-rgb), .18);
  --ts-card-shadow: 0 18px 40px -22px rgba(0, 72, 120, .32);

  --ts-ease: cubic-bezier(.22, .8, .25, 1);
}


/* ---------------------------------------------------------------------
   1b. RESET OVERLAY BAWAAN ELEMENTOR PADA ::before CONTAINER
   .e-con::before = absolute, 100% x 100%, left:0, top:0.
   Dinetralkan dulu; tiap rule ::before di bawah mengatur sendiri
   posisinya. HARUS berada SEBELUM rule ::before lainnya.
   --------------------------------------------------------------------- */
.e-con.ars-tst::before,
:where(.ars-tst) .ars-tst__head.e-con::before,
:where(.ars-tst) .ars-tst__head-left.e-con::before,
:where(.ars-tst) .ars-tst__rating.e-con::before {
  inset: auto;
  width: auto;
  height: auto;
  opacity: 1;
  z-index: auto;
  mix-blend-mode: normal;
  border-radius: 0;
  transition: none;
  background: none;
}


/* ---------------------------------------------------------------------
   2. CONTAINER PALING LUAR
   --------------------------------------------------------------------- */
.e-con.ars-tst {
  --padding-top: var(--ts-pad-top);
  --padding-bottom: var(--ts-pad-bottom);
  --padding-left: max(var(--ts-pad-x), calc((100% - var(--ts-content-max)) / 2));
  --padding-right: max(var(--ts-pad-x), calc((100% - var(--ts-content-max)) / 2));

  --flex-direction: column;
  --align-items: stretch;
  --gap: var(--ts-head-gap);
  --row-gap: var(--ts-head-gap);

  position: relative;
  isolation: isolate;
  overflow: hidden;

  background-color: var(--ts-bg-top);
  background-image: linear-gradient(180deg, var(--ts-bg-top) 0%, var(--ts-bg-bottom) 100%);
}


/* ambient glow biru di sisi kanan atas */
.e-con.ars-tst::before {
  content: "";
  position: absolute;
  width: clamp(440px, 56vw, 920px);
  height: clamp(440px, 56vw, 920px);
  right: clamp(-450px, -21vw, -180px);
  top: clamp(-330px, -15vw, -120px);
  z-index: -3;
  pointer-events: none;

  border-radius: 50%;

  background: radial-gradient(
      circle,
      rgba(127, 212, 255, .20) 0%,
      rgba(var(--ts-blue-rgb), .075) 36%,
      transparent 70%
  );

  animation: tsGlow 10s ease-in-out infinite;
}

@keyframes tsGlow {
  0%, 100% { opacity: .82; transform: scale(1); }
  50%      { opacity: 1;   transform: scale(1.06); }
}


/* tekstur grid halus */
.e-con.ars-tst::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: .4;

  background-image:
      linear-gradient(rgba(var(--ts-blue-rgb), .030) 1px, transparent 1px),
      linear-gradient(90deg, rgba(var(--ts-blue-rgb), .030) 1px, transparent 1px);
  background-size: 48px 48px;

  -webkit-mask-image: linear-gradient(to right, transparent, black 16%, black 84%, transparent);
  mask-image: linear-gradient(to right, transparent, black 16%, black 84%, transparent);
}


/* container anak: reset padding bawaan */
:where(.ars-tst) .ars-tst__head.e-con,
:where(.ars-tst) .ars-tst__head-left.e-con,
:where(.ars-tst) .ars-tst__head-right.e-con,
:where(.ars-tst) .ars-tst__body.e-con,
:where(.ars-tst) .ars-tst__reviews-wrap.e-con {
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
}


/* ---------------------------------------------------------------------
   3. BARIS JUDUL — judul kiri, deskripsi kanan (BERDAMPINGAN)
   nowrap = tidak akan pernah turun ke bawah di desktop/tablet
   --------------------------------------------------------------------- */
:where(.ars-tst) .ars-tst__head.e-con {
  --width: 100%;
  --flex-direction: row;
  --flex-wrap: nowrap;
  --align-items: flex-end;
  --justify-content: space-between;
  --gap: clamp(28px, 4vw, 60px);
  --column-gap: clamp(28px, 4vw, 60px);
  --row-gap: 24px;
  --padding-bottom: 40px;

  position: relative;
}


/* garis biru memudar di bawah baris judul */
:where(.ars-tst) .ars-tst__head.e-con::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: auto;
  bottom: 0;
  height: 1px;
  pointer-events: none;

  background: linear-gradient(
      90deg,
      rgba(var(--ts-blue-rgb), .45),
      rgba(var(--ts-blue-rgb), .10) 70%,
      transparent
  );
}


/* watermark angka "05" di kanan atas */
:where(.ars-tst) .ars-tst__head.e-con::after {
  content: var(--ts-watermark-no);
  position: absolute;
  right: 0;
  top: -52px;
  z-index: -1;

  pointer-events: none;
  user-select: none;

  font-family: var(--ts-font-display);
  font-size: clamp(70px, 8vw, 125px);
  line-height: 1;
  letter-spacing: -.04em;

  color: transparent;
  -webkit-text-stroke: 1px rgba(var(--ts-blue-rgb), .16);
  opacity: .9;
}


:where(.ars-tst) .ars-tst__head-left.e-con {
  --width: 52%;
  --flex-direction: column;
  --align-items: flex-start;

  /* gap 0: jarak antar item diatur manual lewat margin
     (eyebrow -> judul = --ts-eyebrow-gap, judul -> garis = 22px) */
  --gap: 0px;
  --row-gap: 0px;

  position: relative;
  min-width: 0;
}

:where(.ars-tst) .ars-tst__head-right.e-con {
  --width: 40%;
  --flex-direction: column;
  --align-items: flex-start;
  --justify-content: flex-end;

  min-width: 0;
  max-width: var(--ts-desc-max);
}


/* eyebrow dua ruas bergaris di atas judul
   sekarang item pertama di kolom (position: relative), bukan overlay */
:where(.ars-tst) .ars-tst__head-left.e-con::before {
  content: var(--ts-eyebrow-a) "   |   " var(--ts-eyebrow-b);
  position: relative;
  display: block;
  align-self: flex-start;
  white-space: pre;
  margin-bottom: var(--ts-eyebrow-gap);
  padding-left: 52px;

  background:
      linear-gradient(90deg, var(--ts-blue), var(--ts-blue-light))
      left center / 38px 2px no-repeat;

  font-family: var(--ts-font-body);
  font-size: clamp(10.5px, .74vw, 12px);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ts-blue);

  pointer-events: none;
  user-select: none;
}


/* garis aksen memudar di bawah judul */
:where(.ars-tst) .ars-tst__head-left.e-con::after {
  content: "";
  display: block;
  width: 120px;
  height: 3px;
  margin-top: 22px;
  border-radius: 999px;

  background: linear-gradient(
      90deg,
      var(--ts-blue) 0%,
      rgba(var(--ts-blue-rgb), .45) 55%,
      transparent 100%
  );

  transition: width .5s var(--ts-ease);
}

:where(.ars-tst) .ars-tst__head.e-con:hover .ars-tst__head-left.e-con::after {
  width: 176px;
}


/* Judul (Heading widget) */
:where(.ars-tst) .ars-tst__title.elementor-widget {
  width: 100%;
  min-width: 0;
  margin: 0;
}

:where(.ars-tst) .ars-tst__title.elementor-widget-heading .elementor-heading-title {
  max-width: 16ch;
  margin: 0;

  font-family: var(--ts-font-display);
  font-size: var(--ts-title-size);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -.022em;
  color: var(--ts-navy);
  text-wrap: balance;
}

/* kata di dalam <span> bergradasi biru */
:where(.ars-tst) .ars-tst__title.elementor-widget-heading .elementor-heading-title span {
  background: linear-gradient(90deg, var(--ts-blue-dark) 0%, var(--ts-blue) 55%, var(--ts-blue-light) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}


/* Deskripsi (Text Editor) — default tipografi di widget INDUK */
:where(.ars-tst) .ars-tst__desc.elementor-widget {
  position: relative;
  width: 100%;
  margin: 0;
  padding-left: 24px;
  border-left: 0;
}

:where(.ars-tst) .ars-tst__desc.elementor-widget::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 2px;
  width: 2px;
  border-radius: 999px;

  background: linear-gradient(
      180deg,
      var(--ts-blue) 0%,
      var(--ts-blue-light) 58%,
      rgba(var(--ts-blue-rgb), .12) 100%
  );
}

:where(.ars-tst) .ars-tst__desc.elementor-widget-text-editor {
  font-family: var(--ts-font-body);
  font-size: var(--ts-desc-size);
  font-weight: 300;
  line-height: 1.8;
  color: var(--ts-text);
  text-align: left;
}

:where(.ars-tst) .ars-tst__desc p,
:where(.ars-tst) .ars-tst__rating-text p {
  margin: 0 0 1em;
  font: inherit;
  color: inherit;
}

:where(.ars-tst) .ars-tst__desc p:last-child,
:where(.ars-tst) .ars-tst__rating-text p:last-child { margin-bottom: 0; }


/* ---------------------------------------------------------------------
   4. ISI — kotak rating | carousel review
   --------------------------------------------------------------------- */
:where(.ars-tst) .ars-tst__body.e-con {
  --width: 100%;
  --flex-direction: row;
  --flex-wrap: nowrap;
  --align-items: stretch;
  --justify-content: flex-start;
  --gap: var(--ts-col-gap);
  --column-gap: var(--ts-col-gap);
  --row-gap: 30px;

  position: relative;
}


/* watermark kata besar samar di kiri bawah */
:where(.ars-tst) .ars-tst__body.e-con::after {
  content: var(--ts-watermark-word);
  position: absolute;
  left: 0;
  bottom: clamp(-68px, -4.6vw, -40px);
  z-index: -1;

  pointer-events: none;
  user-select: none;
  white-space: nowrap;

  font-family: var(--ts-font-display);
  font-size: clamp(50px, 7vw, 120px);
  line-height: .82;
  letter-spacing: -.035em;

  color: transparent;
  -webkit-text-stroke: 1px rgba(var(--ts-blue-rgb), .12);
  opacity: .75;
}


/* ---------------------------------------------------------------------
   5. KOTAK RATING — portal miring navy ke biru
   Radius, min-height, flex & margin lewat variabel Elementor,
   sehingga tetap bisa diubah dari panel.
   --------------------------------------------------------------------- */
:where(.ars-tst) .ars-tst__rating.e-con {
  --width: var(--ts-rating-w);
  --min-height: 460px;
  --flex-grow: 0;
  --flex-shrink: 0;
  --flex-basis: auto;

  --flex-direction: column;
  --align-items: center;
  --justify-content: center;
  --gap: 6px;
  --row-gap: 6px;

  --padding-top: 54px;
  --padding-bottom: 44px;
  --padding-left: 30px;
  --padding-right: 30px;

  --border-radius: var(--ts-rating-radius);

  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-width: 0;
  text-align: center;

  background: var(--ts-rating-bg);

  box-shadow:
      0 36px 70px -34px rgba(0, 72, 120, .65),
      0 0 0 6px var(--ts-white),
      0 0 0 7px rgba(var(--ts-blue-rgb), .25);
}

/* cadangan radius (specificity nol; kalah oleh --border-radius Elementor) */
:where(.ars-tst .ars-tst__rating.e-con) {
  border-radius: var(--ts-rating-radius);
}


/* cincin putus-putus berputar pelan di bagian atas */
:where(.ars-tst) .ars-tst__rating.e-con::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 26px;
  left: 50%;
  width: 156px;
  height: 156px;
  margin-left: -78px;

  border-radius: 50%;
  border: 1px dashed rgba(127, 212, 255, .50);

  background: radial-gradient(
      circle,
      rgba(127, 212, 255, .28) 0%,
      rgba(var(--ts-blue-rgb), .10) 45%,
      transparent 70%
  );

  pointer-events: none;
  animation: tsSpin 40s linear infinite;
}

@keyframes tsSpin {
  to { transform: rotate(360deg); }
}


/* cahaya lembut di sudut kiri bawah kotak */
:where(.ars-tst) .ars-tst__rating.e-con::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: -50px;
  bottom: -50px;
  width: 170px;
  height: 170px;
  border-radius: 50%;

  background: radial-gradient(
      circle,
      rgba(127, 212, 255, .30) 0%,
      rgba(var(--ts-blue-rgb), .10) 55%,
      transparent 72%
  );

  pointer-events: none;
}


/* setiap widget di kotak rating rata tengah */
:where(.ars-tst) .ars-tst__rating .elementor-widget {
  width: 100%;
  margin: 0;
  text-align: center;
}


/* label "TRAVELER RATING" */
:where(.ars-tst) .ars-tst__rating-label.elementor-widget {
  margin-bottom: 14px;
}

:where(.ars-tst) .ars-tst__rating-label.elementor-widget-heading .elementor-heading-title {
  margin: 0;
  font-family: var(--ts-font-body);
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--ts-blue-light);
}


/* angka "5.0" */
:where(.ars-tst) .ars-tst__score.elementor-widget-heading .elementor-heading-title {
  margin: 0;
  font-family: var(--ts-font-display);
  font-size: var(--ts-score-size);
  font-weight: 400;
  line-height: 1;
  color: var(--ts-white);
  text-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}


/* bintang */
:where(.ars-tst) .ars-tst__stars.elementor-widget {
  --e-rating-icon-marked-color: var(--ts-blue-light);
  --e-rating-icon-color: rgba(255, 255, 255, .25);
  --e-rating-icon-font-size: 18px;
  --e-rating-gap: 5px;
  margin: 6px 0 4px;
}

:where(.ars-tst) .ars-tst__stars .elementor-star-rating,
:where(.ars-tst) .ars-tst__stars .e-rating-wrapper {
  justify-content: center;
}

:where(.ars-tst) .ars-tst__stars .elementor-star-rating i {
  color: rgba(255, 255, 255, .25);
}

:where(.ars-tst) .ars-tst__stars .elementor-star-rating i::before {
  color: var(--ts-blue-light);
}


/* "Excellent" + garis pemisah di atasnya */
:where(.ars-tst) .ars-tst__rating-word.elementor-widget {
  position: relative;
  margin-top: 8px;
  padding-top: 18px;
}

:where(.ars-tst) .ars-tst__rating-word.elementor-widget::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 56px;
  height: 1px;
  margin-left: -28px;
  background: linear-gradient(90deg, transparent, var(--ts-blue-light), transparent);
}

:where(.ars-tst) .ars-tst__rating-word.elementor-widget-heading .elementor-heading-title {
  margin: 0;
  font-family: var(--ts-font-display);
  font-size: 30px;
  font-weight: 400;
  line-height: 1.15;
  color: var(--ts-blue-light);
}


/* "Based on 204 guest reviews" (Text Editor) */
:where(.ars-tst) .ars-tst__rating-text.elementor-widget {
  margin-top: 6px;
}

:where(.ars-tst) .ars-tst__rating-text.elementor-widget-text-editor {
  font-family: var(--ts-font-body);
  font-size: 14px;
  font-weight: 300;
  line-height: 1.6;
  color: rgba(234, 247, 255, .80);
}


/* ---------------------------------------------------------------------
   6. PEMBUNGKUS REVIEW
   --------------------------------------------------------------------- */
:where(.ars-tst) .ars-tst__reviews-wrap.e-con {
  --width: auto;
  --flex-grow: 1;
  --flex-shrink: 1;
  --flex-basis: 0%;

  --flex-direction: column;
  --justify-content: center;
  --align-items: stretch;

  min-width: 0;
  max-width: 100%;
}


/* ---------------------------------------------------------------------
   7. CAROUSEL REVIEW
   --------------------------------------------------------------------- */
:where(.ars-tst) .ars-tst__reviews.elementor-widget {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  align-self: center;
}

:where(.ars-tst) .ars-tst__reviews .elementor-swiper,
:where(.ars-tst) .ars-tst__reviews .elementor-main-swiper {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

/* ruang untuk bayangan & efek naik saat hover */
:where(.ars-tst) .ars-tst__reviews .elementor-main-swiper {
  padding: 14px 4px 46px;
}


/* kartu */
:where(.ars-tst) .ars-tst__reviews.elementor-widget-reviews .swiper-slide {
  position: relative;
  overflow: hidden;
  height: auto;

  border: 1px solid var(--ts-card-border);
  border-radius: var(--ts-card-radius);
  background: var(--ts-card-bg);
  box-shadow: var(--ts-card-shadow);

  transition: transform .45s var(--ts-ease), box-shadow .45s ease, border-color .45s ease;
}


/* garis biru di atas kartu (memanjang saat hover) */
:where(.ars-tst) .ars-tst__reviews .swiper-slide::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: var(--ts-card-pad);
  width: 40px;
  height: 3px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--ts-blue), var(--ts-blue-light));
  transition: width .5s var(--ts-ease);
}


/* tanda kutip biru samar di pojok kanan bawah */
:where(.ars-tst) .ars-tst__reviews .swiper-slide::after {
  content: "\201D";
  position: absolute;
  right: 18px;
  bottom: -38px;
  font-family: var(--ts-font-display);
  font-size: 130px;
  line-height: 1;
  color: rgba(var(--ts-blue-rgb), .10);
  pointer-events: none;
}


@media (hover: hover) {

  :where(.ars-tst) .ars-tst__reviews .swiper-slide:hover {
    transform: translateY(-6px);
    border-color: rgba(var(--ts-blue-rgb), .5);
    box-shadow:
        0 0 0 1px rgba(var(--ts-blue-rgb), .08),
        0 26px 50px -24px rgba(var(--ts-blue-rgb), .45);
  }

  :where(.ars-tst) .ars-tst__reviews .swiper-slide:hover::before {
    width: calc(100% - var(--ts-card-pad) * 2);
  }
}


:where(.ars-tst) .ars-tst__reviews .elementor-testimonial {
  height: 100%;
}


/* header kartu: foto + nama + ikon */
:where(.ars-tst) .ars-tst__reviews.elementor-widget-reviews .elementor-testimonial__header {
  padding: var(--ts-card-pad) var(--ts-card-pad) 16px;
  border-bottom: 1px solid rgba(var(--ts-blue-rgb), .12);
}

:where(.ars-tst) .ars-tst__reviews .elementor-testimonial__image img {
  border-radius: 50%;
  box-shadow: 0 0 0 2px var(--ts-white), 0 0 0 3.5px rgba(var(--ts-blue-rgb), .55);
}

:where(.ars-tst) .ars-tst__reviews .elementor-testimonial__cite {
  font-style: normal;
}

:where(.ars-tst) .ars-tst__reviews.elementor-widget-reviews .elementor-testimonial__name {
  font-family: var(--ts-font-display);
  font-size: 19px;
  font-weight: 400;
  line-height: 1.2;
  color: var(--ts-navy);
}

:where(.ars-tst) .ars-tst__reviews.elementor-widget-reviews .elementor-testimonial__title {
  font-family: var(--ts-font-body);
  font-size: 13px;
  color: var(--ts-muted);
}

:where(.ars-tst) .ars-tst__reviews .elementor-testimonial__icon {
  color: var(--ts-blue);
}


/* isi review */
:where(.ars-tst) .ars-tst__reviews.elementor-widget-reviews .elementor-testimonial__content {
  padding: 18px var(--ts-card-pad) var(--ts-card-pad);
}

:where(.ars-tst) .ars-tst__reviews.elementor-widget-reviews .elementor-testimonial__text {
  font-family: var(--ts-font-body);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.75;
  color: var(--ts-text);
}


/* titik navigasi */
:where(.ars-tst) .ars-tst__reviews .swiper-pagination {
  bottom: 8px;
}

:where(.ars-tst) .ars-tst__reviews .swiper-pagination-bullet {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(var(--ts-blue-rgb), .35);
  opacity: 1;
  transition: width .4s var(--ts-ease), background .3s ease;
}

:where(.ars-tst) .ars-tst__reviews .swiper-pagination-bullet-active {
  width: 28px;
  background: var(--ts-blue);
}


/* panah kiri/kanan */
:where(.ars-tst) .ars-tst__reviews .elementor-swiper-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-size: 16px;

  color: var(--ts-blue);
  border: 1px solid rgba(var(--ts-blue-rgb), .35);
  border-radius: 50%;
  background: var(--ts-white);
  box-shadow: 0 10px 22px -10px rgba(0, 72, 120, .45);

  transition: background .35s ease, color .35s ease, border-color .35s ease;
}

:where(.ars-tst) .ars-tst__reviews .elementor-swiper-button svg {
  fill: currentColor;
}

:where(.ars-tst) .ars-tst__reviews .elementor-swiper-button:hover {
  color: var(--ts-white);
  border-color: var(--ts-blue);
  background: var(--ts-blue);
}


/* ---------------------------------------------------------------------
   8. ANIMASI MUNCUL SAAT SCROLL (murni CSS)
   --------------------------------------------------------------------- */
@supports (animation-timeline: view()) {
  :where(.ars-tst) .ars-tst__head.e-con,
  :where(.ars-tst) .ars-tst__rating.e-con,
  :where(.ars-tst) .ars-tst__reviews-wrap.e-con {
    animation: tsIn linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 40%;
  }
}

@keyframes tsIn {
  from { opacity: 0; translate: 0 30px; }
  to   { opacity: 1; translate: 0 0; }
}


@media (prefers-reduced-motion: reduce) {
  .ars-tst *,
  .ars-tst *::before,
  .ars-tst *::after {
    animation: none;
    transition: none;
  }
}


/* ---------------------------------------------------------------------
   9. LAPTOP (≤ 1280px)
   --------------------------------------------------------------------- */
@media (max-width: 1280px) {
  .ars-tst {
    --ts-pad-x: 40px;
    --ts-col-gap: 34px;
    --ts-rating-w: 290px;
  }
}


/* ---------------------------------------------------------------------
   10. TABLET (≤ 1024px) — kotak rating di atas, review di bawah
   Header TETAP bersebelahan. Susunan kolom memakai properti langsung
   supaya pasti menumpuk walau panel sudah mengatur layout desktop.
   --------------------------------------------------------------------- */
@media (max-width: 1024px) {
  .ars-tst {
    --ts-pad-x: 32px;
    --ts-pad-top: 90px;
    --ts-pad-bottom: 90px;
    --ts-head-gap: 44px;
    --ts-title-size: clamp(34px, 4.6vw, 46px);
    --ts-rating-radius: 150px 34px 26px 26px;
  }

  :where(.ars-tst) .ars-tst__head.e-con {
    --padding-bottom: 32px;
  }

  :where(.ars-tst) .ars-tst__head-left.e-con {
    --width: 50%;
  }

  :where(.ars-tst) .ars-tst__head-right.e-con {
    --width: 44%;
  }

  :where(.ars-tst) .ars-tst__title.elementor-widget-heading .elementor-heading-title {
    max-width: 100%;
  }

  :where(.ars-tst) .ars-tst__head.e-con::after {
    top: -44px;
    font-size: 88px;
  }

  :where(.ars-tst) .ars-tst__body.e-con {
    --flex-direction: column;
    --align-items: stretch;
    --row-gap: 34px;
    flex-direction: column;
  }

  :where(.ars-tst) .ars-tst__rating.e-con {
    --width: 100%;
    --min-height: 0px;
    --padding-top: 46px;
    --padding-bottom: 36px;
    --margin-left: auto;
    --margin-right: auto;

    width: 100%;
    max-width: 460px;
  }

  :where(.ars-tst) .ars-tst__rating.e-con::before {
    top: 18px;
    width: 130px;
    height: 130px;
    margin-left: -65px;
  }

  :where(.ars-tst) .ars-tst__reviews-wrap.e-con {
    --width: 100%;
    --flex-grow: 0;
    --flex-basis: auto;
    width: 100%;
  }
}


/* ---------------------------------------------------------------------
   11. MOBILE (≤ 767px)
   --------------------------------------------------------------------- */
@media (max-width: 767px) {
  .ars-tst {
    --ts-pad-x: 20px;
    --ts-pad-top: 72px;
    --ts-pad-bottom: 72px;
    --ts-head-gap: 32px;
    --ts-title-size: clamp(31px, 8.6vw, 40px);
    --ts-desc-size: 15px;
    --ts-score-size: 56px;
    --ts-rating-radius: 130px 26px 20px 20px;
    --ts-card-pad: 22px;
    --ts-card-radius: 18px;
  }

  /* header bertumpuk */
  :where(.ars-tst) .ars-tst__head.e-con {
    --flex-direction: column;
    --align-items: flex-start;
    --row-gap: 18px;
    --padding-bottom: 24px;
    flex-direction: column;
    align-items: flex-start;
  }

  :where(.ars-tst) .ars-tst__head-left.e-con,
  :where(.ars-tst) .ars-tst__head-right.e-con {
    --width: 100%;
    width: 100%;
    max-width: 100%;
  }

  :where(.ars-tst) .ars-tst__head-left.e-con::before {
    margin-bottom: 16px;
    padding-left: 40px;
    background-size: 28px 2px;
    font-size: 10.5px;
    letter-spacing: .16em;
  }

  :where(.ars-tst) .ars-tst__head-left.e-con::after {
    width: 76px;
    height: 2px;
    margin-top: 16px;
  }

  :where(.ars-tst) .ars-tst__head.e-con::after {
    top: -30px;
    font-size: 64px;
  }

  :where(.ars-tst) .ars-tst__desc.elementor-widget {
    padding-left: 16px;
  }

  /* kotak rating ringkas */
  :where(.ars-tst) .ars-tst__rating.e-con {
    --padding-top: 42px;
    --padding-bottom: 30px;
    --padding-left: 22px;
    --padding-right: 22px;

    max-width: 100%;

    box-shadow:
        0 28px 54px -30px rgba(0, 72, 120, .65),
        0 0 0 5px var(--ts-white),
        0 0 0 6px rgba(var(--ts-blue-rgb), .25);
  }

  :where(.ars-tst) .ars-tst__rating.e-con::before {
    top: 14px;
    width: 108px;
    height: 108px;
    margin-left: -54px;
  }

  :where(.ars-tst) .ars-tst__rating-label.elementor-widget {
    margin-bottom: 10px;
  }

  :where(.ars-tst) .ars-tst__rating-label.elementor-widget-heading .elementor-heading-title {
    font-size: 11px;
    letter-spacing: .24em;
  }

  :where(.ars-tst) .ars-tst__rating-word.elementor-widget-heading .elementor-heading-title {
    font-size: 26px;
  }

  /* carousel */
  :where(.ars-tst) .ars-tst__reviews .elementor-main-swiper {
    padding: 10px 2px 42px;
  }

  :where(.ars-tst) .ars-tst__reviews .swiper-slide::after {
    right: 14px;
    bottom: -32px;
    font-size: 108px;
  }

  :where(.ars-tst) .ars-tst__body.e-con::after {
    bottom: -26px;
    font-size: clamp(34px, 11vw, 54px);
    opacity: .55;
  }
}


/* ---------------------------------------------------------------------
   12. HP KECIL (≤ 400px)
   --------------------------------------------------------------------- */
@media (max-width: 400px) {
  .ars-tst {
    --ts-pad-x: 18px;
    --ts-score-size: 50px;
    --ts-card-pad: 18px;
  }

  :where(.ars-tst) .ars-tst__rating.e-con {
    --padding-top: 38px;
  }
}


/* =====================================================================
   CATATAN
   1. Cek di panel Container header (ars-tst__head): Direction = Row,
      Wrap = No Wrap. Kalau Wrap di panel diset "Wrap", panel menang dan
      kolom kiri/kanan bisa turun lagi.
   2. Jarak eyebrow ke judul: ubah --ts-eyebrow-gap di blok 1.
   3. Di tablet/mobile, susunan kolom dan lebar 100% kotak rating /
      pembungkus review sengaja dikunci (properti langsung) agar pasti
      menumpuk rapi.
   ===================================================================== *//* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-84ccb7c */.text-berkilau {
  background: linear-gradient(
    90deg, 
    #009CE7 0%, 
    #009CE7 35%, 
    #ffffff 50%, 
    #009CE7 65%, 
    #009CE7 100%
  );
  background-size: 200% auto;
  color: #009CE7;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shine 3s infinite linear;
  display: inline-block;
}

@keyframes shine {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c4b8642 *//* =====================================================================
   PAYMENT & BOOKING STEPS — MAI KEBALI TOUR  (v1.1 — Azure)
   Tempel di: Container UTAMA section > Advanced > Custom CSS

   ---------------------------------------------------------------------
   CSS CLASS PER ELEMEN (isi di Advanced > CSS Classes)
   ---------------------------------------------------------------------
   Container (utama) .................... mkt-pay
   ├─ Container (gambar) ................ mkt-pay-media
   │   └─ Image ......................... mkt-pay-img
   └─ Container (konten) ................ mkt-pay-content
       ├─ Heading ....................... mkt-pay-title
       └─ Container (pembungkus list) ... mkt-pay-steps
           └─ Icon List ................. mkt-pay-list
   ---------------------------------------------------------------------

   YANG BERUBAH (v1.0 -> v1.1) — bagian lain TIDAK diubah
   1. Watermark "HOW TO BOOK" sekarang di POJOK KIRI BAWAH section,
      sama seperti section lain. Sebelumnya ia dipasang di kolom konten
      dengan posisi hasil tebakan, sehingga tidak pernah sampai ke
      pojok kiri bawah. Kini ia berbagi elemen dengan tekstur grid
      (.elementor-12680 .elementor-element.elementor-element-c4b8642::after), jadi terikat ke section, bukan ke kolom.
   2. Tampilan gambar dipercantik:
      - Cincin di belakang gambar dulu berbentuk OVAL karena bawaan
        Elementor (.e-con::before setinggi 100%) tidak di-reset.
        Sekarang lingkaran sempurna.
      - Tambahan: cincin putus-putus kedua yang berputar pelan, cahaya
        lembut di belakang ilustrasi, sorot cahaya di sudut panel, garis
        aksen di tepi atas panel, bayangan halus di bawah ilustrasi, dan
        gerakan mengambang yang sangat pelan.

   TAMPILAN
   - Latar sama dengan section lain: gradien #F8FCFF -> #EAF4FC,
     tekstur grid, ambient glow biru.
   - Watermark angka "06" di kanan atas + kata besar samar di kiri bawah.
   - Gambar kiri di atas panel kaca dengan cincin tipis & pola titik.
   - Icon List berubah jadi LANGKAH BERNOMOR: tiap baris punya
     lingkaran ikon, nomor urut otomatis (01, 02, ...), dan GARIS
     PUTUS-PUTUS vertikal yang menghubungkan satu langkah ke langkah
     berikutnya. Garis penghubung berubah jadi solid biru saat hover.

   TIDAK DIKUNCI
   - Tanpa !important. Layout memakai variabel Elementor, tipografi
     dan warna hanya default, panel Style selalu menang.
   ===================================================================== */


/* ---------------------------------------------------------------------
   1. PUSAT KENDALI
   --------------------------------------------------------------------- */
.elementor-12680 .elementor-element.elementor-element-c4b8642 {

  /* Warna */
  --pm-primary: #0B2A45;
  --pm-blue: #009CE7;
  --pm-blue-rgb: 0, 156, 231;
  --pm-sky: #5CC8FF;
  --pm-accent: #0070B8;
  --pm-navy-dark: #04202F;

  --pm-bg-top: #F8FCFF;
  --pm-bg-bottom: #EAF4FC;
  --pm-white: #FFFFFF;

  --pm-text: #10222F;
  --pm-muted: rgba(16, 34, 47, .72);
  --pm-soft: rgba(16, 34, 47, .56);

  --pm-line: rgba(var(--pm-blue-rgb), .20);

  /* Font */
  --pm-font-display: "DM Serif Display", Georgia, serif;
  --pm-font-body: "Poppins", -apple-system, BlinkMacSystemFont, sans-serif;

  /* Eyebrow & watermark */
  --pm-eyebrow-a: "PAYMENT";
  --pm-eyebrow-b: "BOOKING STEPS";
  --pm-watermark-no: "06";
  --pm-watermark-word: "HOW TO BOOK";

  /* Ukuran langkah */
  --pm-step-size: 44px;          /* diameter lingkaran ikon */
  --pm-step-gap: 20px;           /* jarak lingkaran ke teks */
  --pm-step-space: 26px;         /* jarak antar langkah */

  --pm-max-width: 1240px;

  --pm-ease: cubic-bezier(.22, .75, .2, 1);


  position: relative;
  width: 100%;
  overflow: hidden;
  isolation: isolate;
  box-sizing: border-box;

  font-family: var(--pm-font-body);
  color: var(--pm-text);

  background-color: var(--pm-bg-top);
  background-image: linear-gradient(180deg, var(--pm-bg-top) 0%, var(--pm-bg-bottom) 100%);

  --padding-top: clamp(62px, 6vw, 92px);
  --padding-bottom: clamp(62px, 6vw, 92px);
  --padding-left: clamp(22px, 5vw, 82px);
  --padding-right: clamp(22px, 5vw, 82px);

  --flex-direction: row;
  --flex-wrap: wrap;
  --align-items: center;
  --justify-content: space-between;
  --gap: clamp(36px, 4.4vw, 72px);
  --column-gap: clamp(36px, 4.4vw, 72px);
  --row-gap: 48px;
}


.elementor-12680 .elementor-element.elementor-element-c4b8642 *,
.elementor-12680 .elementor-element.elementor-element-c4b8642 *::before,
.elementor-12680 .elementor-element.elementor-element-c4b8642 *::after {
  box-sizing: border-box;
}


/* ---------------------------------------------------------------------
   2. AMBIENT GLOW — sisi kiri
   --------------------------------------------------------------------- */
.elementor-12680 .elementor-element.elementor-element-c4b8642::before {
  content: "";
  position: absolute;
  width: clamp(440px, 56vw, 920px);
  height: clamp(440px, 56vw, 920px);
  left: clamp(-450px, -21vw, -180px);
  top: clamp(-330px, -15vw, -120px);
  z-index: -3;
  pointer-events: none;

  border-radius: 50%;

  background: radial-gradient(
      circle,
      rgba(92, 200, 255, .20) 0%,
      rgba(var(--pm-blue-rgb), .075) 36%,
      transparent 70%
  );

  filter: blur(7px);
  animation: pmGlow 10s ease-in-out infinite;
}

@keyframes pmGlow {
  0%, 100% { opacity: .82; transform: scale(1); }
  50%      { opacity: 1;   transform: scale(1.06); }
}


/* ---------------------------------------------------------------------
   3. TEKSTUR GRID  +  WATERMARK "HOW TO BOOK" (pojok kiri bawah)
   Satu elemen (.elementor-12680 .elementor-element.elementor-element-c4b8642::after) menampung keduanya, sehingga watermark
   terikat ke section: rata kiri dengan tepi konten, dan turun di area
   padding bawah seperti section lain.
   - opacity .4 berlaku untuk grid DAN teks; garis teks sudah
     dikompensasi (.225 x .4 = .09).
   - mask kedua menjaga pita bawah tetap terlihat penuh, supaya
     teks tidak ikut memudar oleh mask tepi kiri/kanan.
   --------------------------------------------------------------------- */
.elementor-12680 .elementor-element.elementor-element-c4b8642::after {
  content: var(--pm-watermark-word);
  position: absolute;
  inset: 0;
  z-index: -4;
  pointer-events: none;
  user-select: none;
  opacity: .4;

  /* posisikan teks di pojok kiri bawah */
  display: flex;
  align-items: flex-end;
  white-space: nowrap;
  padding-left: var(--padding-left, 0px);
  padding-bottom: max(0px, calc(var(--padding-bottom, 62px) - clamp(34px, 4vw, 58px)));

  /* teks outline besar samar */
  font-family: var(--pm-font-display);
  font-size: clamp(50px, 7vw, 120px);
  line-height: .82;
  letter-spacing: -.035em;
  color: transparent;
  -webkit-text-stroke: 1px rgba(var(--pm-blue-rgb), .225);

  /* tekstur grid */
  background-image:
      linear-gradient(rgba(var(--pm-blue-rgb), .030) 1px, transparent 1px),
      linear-gradient(90deg, rgba(var(--pm-blue-rgb), .030) 1px, transparent 1px);
  background-size: 48px 48px;

  -webkit-mask-image:
      linear-gradient(to right, transparent, black 16%, black 84%, transparent),
      linear-gradient(to top, black clamp(110px, 12vw, 180px), transparent clamp(200px, 22vw, 320px));
  mask-image:
      linear-gradient(to right, transparent, black 16%, black 84%, transparent),
      linear-gradient(to top, black clamp(110px, 12vw, 180px), transparent clamp(200px, 22vw, 320px));
}


/* ---------------------------------------------------------------------
   4. KOLOM GAMBAR — .mkt-pay-media
   --------------------------------------------------------------------- */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-media {
  --width: 46%;

  --flex-direction: column;
  --align-items: center;
  --justify-content: center;

  --padding-top: clamp(20px, 2.4vw, 32px);
  --padding-right: clamp(18px, 2vw, 28px);
  --padding-bottom: clamp(20px, 2.4vw, 32px);
  --padding-left: clamp(18px, 2vw, 28px);

  --border-radius: 28px 28px 28px 6px;

  position: relative;
  min-width: 0;

  border: 1px solid var(--pm-line);
  border-radius: 28px 28px 28px 6px;

  /* lapisan (atas -> bawah): garis aksen tepi atas, sorot cahaya kiri
     atas, semburat biru kanan bawah, lalu gradien kaca dasar */
  background:
      linear-gradient(90deg, var(--pm-blue), var(--pm-sky)) 36px 0 / 44px 3px no-repeat,
      radial-gradient(70% 55% at 12% 0%, rgba(92, 200, 255, .24) 0%, transparent 70%),
      radial-gradient(60% 50% at 100% 100%, rgba(var(--pm-blue-rgb), .10) 0%, transparent 72%),
      linear-gradient(
          165deg,
          rgba(255, 255, 255, .80) 0%,
          rgba(234, 244, 252, .62) 100%
      );

  box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, .85),
      0 20px 46px -28px rgba(0, 90, 141, .45);
}


/* cincin tipis di belakang gambar
   (v1.1: reset overlay bawaan Elementor -> sekarang LINGKARAN, bukan oval) */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-media::before {
  inset: auto;
  height: auto;
  opacity: 1;
  mix-blend-mode: normal;
  background: none;
  transition: none;

  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 78%;
  aspect-ratio: 1 / 1;
  z-index: 0;
  transform: translate(-50%, -50%);

  border: 1px solid rgba(var(--pm-blue-rgb), .22);
  border-radius: 50%;
  pointer-events: none;
}


/* pola titik di sudut kanan bawah */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-media::after {
  content: "";
  position: absolute;
  right: 14px;
  bottom: 14px;
  width: 116px;
  height: 116px;
  z-index: 0;

  background-image: radial-gradient(
      rgba(var(--pm-blue-rgb), .34) 1.6px,
      transparent 1.6px
  );
  background-size: 16px 16px;

  -webkit-mask-image: linear-gradient(225deg, black 20%, transparent 76%);
  mask-image: linear-gradient(225deg, black 20%, transparent 76%);

  pointer-events: none;
}


.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-img {
  position: relative;
  z-index: 1;
  width: 100%;
}

.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-img img {
  display: block;
  width: 100%;
  height: auto;
}


/* v1.1 — cincin putus-putus kedua, berputar sangat pelan */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-img::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 94%;
  aspect-ratio: 1 / 1;
  z-index: -1;
  transform: translate(-50%, -50%);

  border: 1px dashed rgba(var(--pm-blue-rgb), .34);
  border-radius: 50%;
  pointer-events: none;

  animation: pmSpin 60s linear infinite;
}

/* v1.1 — cahaya lembut di belakang ilustrasi */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-img::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 72%;
  aspect-ratio: 1 / 1;
  z-index: -1;
  transform: translate(-50%, -50%);

  border-radius: 50%;
  pointer-events: none;

  background: radial-gradient(
      circle,
      rgba(92, 200, 255, .26) 0%,
      rgba(var(--pm-blue-rgb), .08) 48%,
      transparent 70%
  );
}

/* v1.1 — bayangan halus + gerakan mengambang pelan */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-img img {
  filter: drop-shadow(0 18px 22px rgba(0, 90, 141, .20));
  animation: pmFloat 7s ease-in-out infinite;
}

@keyframes pmSpin {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes pmFloat {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-8px); }
}


/* ---------------------------------------------------------------------
   5. KOLOM KONTEN — .mkt-pay-content
   --------------------------------------------------------------------- */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-content {
  --width: 48%;

  --flex-direction: column;
  --align-items: flex-start;
  --justify-content: center;

  --gap: 26px;
  --row-gap: 26px;

  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;

  position: relative;
  min-width: 0;
}


/* watermark angka "06" di kanan atas */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-content::after {
  content: var(--pm-watermark-no);
  position: absolute;
  right: 0;
  top: clamp(-96px, -7vw, -58px);
  z-index: -1;

  pointer-events: none;
  user-select: none;

  font-family: var(--pm-font-display);
  font-size: clamp(70px, 8vw, 125px);
  line-height: 1;
  letter-spacing: -.04em;

  color: transparent;
  -webkit-text-stroke: 1px rgba(var(--pm-blue-rgb), .16);
  opacity: .9;
}


/* ---------------------------------------------------------------------
   6. JUDUL — .mkt-pay-title
   --------------------------------------------------------------------- */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-title {
  position: relative;
  width: 100%;
}


/* eyebrow dua ruas bergaris di atas judul */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-title::before {
  content: var(--pm-eyebrow-a) "   |   " var(--pm-eyebrow-b);
  display: inline-block;
  margin-bottom: 16px;
  padding-left: 52px;

  background:
      linear-gradient(90deg, var(--pm-blue), var(--pm-sky))
      left center / 38px 2px no-repeat;

  font-family: var(--pm-font-body);
  font-size: clamp(10.5px, .74vw, 12px);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--pm-blue);

  pointer-events: none;
  user-select: none;
}


.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-title .elementor-heading-title {
  max-width: 18ch;
  margin: 0;

  font-family: var(--pm-font-display);
  font-size: clamp(34px, 3.5vw, 52px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.02em;
  color: var(--pm-primary);
  text-wrap: balance;
}


/* kata di dalam <span> bergradasi biru */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-title .elementor-heading-title span {
  background: linear-gradient(90deg, var(--pm-accent) 0%, var(--pm-blue) 55%, var(--pm-sky) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}


/* garis aksen memudar di bawah judul */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-title::after {
  content: "";
  display: block;
  width: 120px;
  height: 3px;
  margin-top: 20px;
  border-radius: 999px;

  background: linear-gradient(
      90deg,
      var(--pm-blue) 0%,
      rgba(var(--pm-blue-rgb), .45) 55%,
      transparent 100%
  );

  transition: width .5s var(--pm-ease);
}

.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-content:hover .mkt-pay-title::after {
  width: 176px;
}


/* ---------------------------------------------------------------------
   7. PEMBUNGKUS LANGKAH — .mkt-pay-steps
   --------------------------------------------------------------------- */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-steps {
  --width: 100%;

  --flex-direction: column;
  --align-items: stretch;

  --padding-top: clamp(22px, 2.4vw, 30px);
  --padding-right: clamp(20px, 2.2vw, 28px);
  --padding-bottom: clamp(24px, 2.6vw, 32px);
  --padding-left: clamp(20px, 2.2vw, 28px);

  --border-radius: 24px 24px 6px 24px;

  position: relative;
  overflow: hidden;
  min-width: 0;

  border: 1px solid var(--pm-line);
  border-radius: 24px 24px 6px 24px;

  background: linear-gradient(
      165deg,
      rgba(255, 255, 255, .90) 0%,
      rgba(234, 244, 252, .74) 100%
  );

  box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, .85),
      0 18px 42px -26px rgba(0, 90, 141, .42);
}


/* cahaya lembut di sudut kanan atas panel */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-steps::after {
  content: "";
  position: absolute;
  right: -70px;
  top: -80px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  pointer-events: none;

  background: radial-gradient(
      circle,
      rgba(92, 200, 255, .22) 0%,
      rgba(var(--pm-blue-rgb), .06) 52%,
      transparent 72%
  );
}


/* ---------------------------------------------------------------------
   8. ICON LIST JADI LANGKAH BERNOMOR — .mkt-pay-list
   --------------------------------------------------------------------- */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list {
  --e-icon-list-icon-size: 15px;

  position: relative;
  z-index: 1;
  width: 100%;
  min-width: 0;

  counter-reset: pmstep;
}


.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-items {
  display: flex;
  flex-direction: column;
  gap: var(--pm-step-space);
  margin: 0;
  padding: 0;
}


/* ---- SATU LANGKAH ---- */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-item {
  counter-increment: pmstep;

  position: relative;

  display: grid;
  grid-template-columns: var(--pm-step-size) minmax(0, 1fr);
  align-items: start;
  column-gap: var(--pm-step-gap);

  padding: 0;
}


/* GARIS PUTUS-PUTUS penghubung antar langkah */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-item::before {
  content: "";
  position: absolute;
  left: calc(var(--pm-step-size) / 2 - 1px);
  top: var(--pm-step-size);
  height: calc(100% - var(--pm-step-size) + var(--pm-step-space));
  width: 2px;

  border-radius: 999px;

  background-image: linear-gradient(
      180deg,
      rgba(var(--pm-blue-rgb), .55) 0 6px,
      transparent 6px 12px
  );
  background-size: 2px 12px;
  background-repeat: repeat-y;

  transition: background-image .45s var(--pm-ease);
  pointer-events: none;
}


/* langkah terakhir tidak punya garis penghubung */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-item:last-child::before {
  display: none;
}


/* NOMOR URUT kecil di sisi kanan lingkaran */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-item::after {
  content: counter(pmstep, decimal-leading-zero);

  position: absolute;
  left: 0;
  top: calc(var(--pm-step-size) - 6px);
  width: var(--pm-step-size);

  text-align: center;

  font-family: var(--pm-font-body);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .08em;
  color: rgba(var(--pm-blue-rgb), .55);

  transition: color .4s ease;
  pointer-events: none;
}


/* ---- LINGKARAN IKON ---- */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-icon {
  grid-column: 1;
  grid-row: 1;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: var(--pm-step-size);
  height: var(--pm-step-size);

  border-radius: 50%;
  border: 1.5px solid rgba(var(--pm-blue-rgb), .38);

  color: var(--pm-blue);

  background: radial-gradient(
      circle at 32% 28%,
      rgba(255, 255, 255, .96) 0%,
      rgba(234, 244, 252, .80) 62%,
      rgba(214, 236, 250, .60) 100%
  );

  box-shadow:
      0 0 0 5px rgba(var(--pm-blue-rgb), .07),
      0 8px 18px -10px rgba(var(--pm-blue-rgb), .50),
      inset 0 1px 0 rgba(255, 255, 255, .90);

  transition:
      transform .4s var(--pm-ease),
      background .4s ease,
      border-color .4s ease,
      color .4s ease,
      box-shadow .4s ease;
}


.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-icon i {
  width: auto;
  line-height: 1;
  color: inherit;
}

.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-icon svg {
  width: 15px;
  height: 15px;
  fill: currentColor;
}


/* ---- TEKS LANGKAH ---- */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-text {
  grid-column: 2;
  grid-row: 1;

  padding-inline-start: 0;
  padding-top: 8px;
  padding-bottom: 4px;

  font-family: var(--pm-font-body);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.72;
  color: var(--pm-muted);

  transition: color .4s ease;
}


/* judul langkah bisa ditebalkan dengan <b> di teks */
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-text b,
.elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-text strong {
  display: block;
  margin-bottom: 3px;

  font-family: var(--pm-font-display);
  font-size: 19px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -.01em;
  color: var(--pm-primary);

  transition: color .4s ease;
}


/* ---- HOVER ---- */
@media (hover: hover) {

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-item:hover .elementor-icon-list-icon {
    transform: scale(1.08);
    border-color: transparent;
    color: var(--pm-white);

    background: linear-gradient(
        140deg,
        var(--pm-sky) 0%,
        var(--pm-blue) 58%,
        var(--pm-accent) 100%
    );

    box-shadow:
        0 0 0 7px rgba(var(--pm-blue-rgb), .12),
        0 12px 24px -8px rgba(var(--pm-blue-rgb), .60),
        inset 0 1px 0 rgba(255, 255, 255, .45);
  }

  /* garis penghubung jadi solid biru */
  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-item:hover::before {
    background-image: linear-gradient(
        180deg,
        var(--pm-blue) 0%,
        rgba(var(--pm-blue-rgb), .25) 100%
    );
  }

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-item:hover::after {
    color: var(--pm-blue);
  }

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-item:hover .elementor-icon-list-text {
    color: var(--pm-text);
  }

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-item:hover .elementor-icon-list-text b,
  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-item:hover .elementor-icon-list-text strong {
    color: var(--pm-blue);
  }
}


/* ---------------------------------------------------------------------
   9. ANIMASI MUNCUL SAAT SCROLL (murni CSS)
   --------------------------------------------------------------------- */
@supports (animation-timeline: view()) {

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-media {
    animation: pmFromLeft linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 40%;
  }

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-content {
    animation: pmFadeUp linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 42%;
  }
}

@keyframes pmFadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes pmFromLeft {
  from { opacity: 0; transform: translateX(-32px); }
  to   { opacity: 1; transform: translateX(0); }
}


/* =====================================================================
   RESPONSIVE
   ===================================================================== */

/* ---------- LARGE DESKTOP >= 1600px ---------- */
@media (min-width: 1600px) {
  .elementor-12680 .elementor-element.elementor-element-c4b8642 {
    --pm-max-width: 1440px;
  }
}


/* ---------- LAPTOP 1025 - 1280 ---------- */
@media (min-width: 1025px) and (max-width: 1280px) {
  .elementor-12680 .elementor-element.elementor-element-c4b8642 {
    --padding-left: 44px;
    --padding-right: 44px;
    --pm-step-space: 22px;
  }

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-media { --width: 44%; }
  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-content { --width: 50%; }
}


/* ---------- TABLET 768 - 1024 : gambar di atas ---------- */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-12680 .elementor-element.elementor-element-c4b8642 {
    --padding-left: clamp(30px, 4.5vw, 46px);
    --padding-right: clamp(30px, 4.5vw, 46px);
    --row-gap: 44px;
  }

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-media,
  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-content {
    --width: 100%;
  }

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-media {
    max-width: 560px;
    margin-inline: auto;
  }

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-title .elementor-heading-title {
    max-width: 100%;
    font-size: clamp(32px, 4.4vw, 42px);
  }

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-content::after {
    top: -44px;
    font-size: 88px;
  }

  /* watermark kata di pojok kiri bawah section */
  .elementor-12680 .elementor-element.elementor-element-c4b8642::after {
    font-size: clamp(44px, 8vw, 84px);
  }
}


/* ---------- MOBILE <= 767px ---------- */
@media (max-width: 767px) {
  .elementor-12680 .elementor-element.elementor-element-c4b8642 {
    --padding-top: 56px;
    --padding-bottom: 60px;
    --padding-left: clamp(18px, 5.2vw, 24px);
    --padding-right: clamp(18px, 5.2vw, 24px);

    --row-gap: 34px;

    --pm-step-size: 40px;
    --pm-step-gap: 14px;
    --pm-step-space: 20px;
  }

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-media,
  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-content {
    --width: 100%;
  }

  /* gambar */
  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-media {
    --padding-top: 16px;
    --padding-right: 14px;
    --padding-bottom: 16px;
    --padding-left: 14px;
    --border-radius: 20px 20px 20px 5px;

    max-width: 420px;
    margin-inline: auto;

    border-radius: 20px 20px 20px 5px;
  }

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-media::after {
    right: 8px;
    bottom: 8px;
    width: 80px;
    height: 80px;
    background-size: 13px 13px;
  }

  /* konten */
  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-content {
    --gap: 20px;
    --row-gap: 20px;
  }

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-title::before {
    margin-bottom: 12px;
    padding-left: 40px;
    background-size: 28px 2px;
    font-size: 10.5px;
    letter-spacing: .16em;
  }

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-title .elementor-heading-title {
    max-width: 100%;
    font-size: clamp(28px, 7.8vw, 36px);
    line-height: 1.12;
  }

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-title::after {
    width: 76px;
    height: 2px;
    margin-top: 15px;
  }

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-content::after {
    top: -34px;
    font-size: 62px;
  }

  /* watermark kata di pojok kiri bawah section (lebih samar di mobile) */
  .elementor-12680 .elementor-element.elementor-element-c4b8642::after {
    font-size: clamp(32px, 11vw, 52px);
    -webkit-text-stroke-color: rgba(var(--pm-blue-rgb), .165);
  }

  /* panel langkah */
  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-steps {
    --padding-top: 20px;
    --padding-right: 16px;
    --padding-bottom: 22px;
    --padding-left: 16px;
    --border-radius: 18px 18px 5px 18px;

    border-radius: 18px 18px 5px 18px;
  }

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-steps::after {
    width: 140px;
    height: 140px;
    right: -54px;
    top: -60px;
  }

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-text {
    padding-top: 6px;
    font-size: 14.5px;
    line-height: 1.68;
  }

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-text b,
  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-text strong {
    font-size: 17px;
  }

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-icon svg {
    width: 14px;
    height: 14px;
  }
}


/* ---------- HP KECIL <= 400px ---------- */
@media (max-width: 400px) {
  .elementor-12680 .elementor-element.elementor-element-c4b8642 {
    --pm-step-size: 36px;
    --pm-step-gap: 12px;
    --pm-step-space: 18px;
  }

  .elementor-12680 .elementor-element.elementor-element-c4b8642 .mkt-pay-list .elementor-icon-list-item::after {
    font-size: 9px;
  }
}


/* ---------------------------------------------------------------------
   10. TOUCH / REDUCED MOTION / SELECTION
   --------------------------------------------------------------------- */
@media (hover: none) and (pointer: coarse) {
  .elementor-12680 .elementor-element.elementor-element-c4b8642 a,
  .elementor-12680 .elementor-element.elementor-element-c4b8642 button {
    -webkit-tap-highlight-color: transparent;
  }
}


@media (prefers-reduced-motion: reduce) {
  .elementor-12680 .elementor-element.elementor-element-c4b8642 *,
  .elementor-12680 .elementor-element.elementor-element-c4b8642 *::before,
  .elementor-12680 .elementor-element.elementor-element-c4b8642 *::after {
    animation-duration: .01ms;
    animation-iteration-count: 1;
    transition-duration: .01ms;
  }
}


.elementor-12680 .elementor-element.elementor-element-c4b8642 ::selection {
  background: var(--pm-sky);
  color: var(--pm-navy-dark);
}


/* ---------------------------------------------------------------------
   CATATAN PEMAKAIAN

   1. Supaya tiap langkah punya judul tebal + keterangan, tulis teks
      Icon List seperti ini (judul dibungkus <b>):

      <b>Pilih Paket Tour</b>Telusuri paket tour Bali pilihan kami dan
      tentukan perjalanan yang paling cocok dengan gaya liburan Anda.

      Kalau hanya ingin satu baris kalimat, tulis teksnya saja tanpa <b>.

   2. Nomor 01, 02, 03 muncul otomatis lewat CSS counter, jadi tidak
      perlu diketik manual.

   3. Ukuran lingkaran, jarak ke teks, dan jarak antar langkah diatur
      lewat --pm-step-size, --pm-step-gap, dan --pm-step-space.

   4. Teks eyebrow dan watermark diatur lewat --pm-eyebrow-a,
      --pm-eyebrow-b, --pm-watermark-no, dan --pm-watermark-word.

   5. Watermark kata ("HOW TO BOOK") kini menempel di pojok kiri bawah
      SECTION. Naik/turunkan dengan mengubah nilai clamp(34px, 4vw, 58px)
      pada padding-bottom di blok 3 (makin besar = makin turun).
   --------------------------------------------------------------------- *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8b68465 *//* =====================================================================
   GALLERY — MAI KEBALI TOUR  (v1.4 — Azure #009CE7)
   Tempel di: Container UTAMA section > Advanced > Custom CSS
   (ganti SELURUH isi Custom CSS Gallery yang lama dengan file ini)

   ---------------------------------------------------------------------
   PERUBAHAN v1.3 -> v1.4  (perataan judul & deskripsi)
   ---------------------------------------------------------------------
   Supaya sama persis dengan section "Why Choose Us":

   - Header kembali rata BAWAH (align-items: flex-end), bukan rata atas.
   - Masalahnya dulu: garis aksen biru di bawah judul ikut dihitung
     sebagai tinggi kolom judul, jadi deskripsi ikut terdorong turun
     sampai di bawah garis itu. Sekarang deskripsi DIANGKAT kembali
     sebesar tinggi garis + jaraknya, lewat variabel --gl-desc-lift,
     sehingga baris terakhir deskripsi sejajar dengan baris terakhir
     judul, persis seperti referensi.
   - Besar angkatannya bisa diatur sendiri lewat --gl-desc-lift.
   - Di mobile pengangkatan itu otomatis dimatikan (jadi 0) karena
     judul dan deskripsi sudah bertumpuk ke bawah.

   Sisanya sama dengan v1.3: watermark angka sudah dihapus, efek berat
   hanya aktif di perangkat ber-mouse, dan semua aturan dibungkus
   :where(...) sehingga panel Elementor selalu menang.
   ===================================================================== */


/* ---------------------------------------------------------------------
   1. PUSAT KENDALI
   --------------------------------------------------------------------- */
:where(.elementor-12680 .elementor-element.elementor-element-8b68465) {

  /* Warna */
  --gl-primary: #0B2A45;
  --gl-blue: #009CE7;
  --gl-blue-rgb: 0, 156, 231;
  --gl-sky: #5CC8FF;
  --gl-accent: #0070B8;
  --gl-navy-dark: #04202F;

  --gl-bg-top: #F8FCFF;
  --gl-bg-bottom: #EAF4FC;
  --gl-white: #FFFFFF;

  --gl-text: #10222F;
  --gl-muted: rgba(16, 34, 47, .72);

  /* Font */
  --gl-font-display: "DM Serif Display", Georgia, serif;
  --gl-font-body: "Poppins", -apple-system, BlinkMacSystemFont, sans-serif;

  /* Eyebrow & watermark */
  --gl-eyebrow-a: "GALLERY";
  --gl-eyebrow-b: "MAI KEBALI TOUR";
  --gl-watermark-word: "GALLERY";

  /* ====== HEADER ====== */
  --gl-head-gap: clamp(32px, 5vw, 80px);
  --gl-desc-width: 44%;
  --gl-desc-max: 560px;

  /* tinggi & jarak garis aksen di bawah judul */
  --gl-accent-h: 3px;
  --gl-accent-gap: 26px;

  /* seberapa jauh deskripsi diangkat supaya sejajar dengan judul
     (default = tinggi garis aksen + jaraknya) */
  --gl-desc-lift: calc(var(--gl-accent-h) + var(--gl-accent-gap));

  --gl-eyebrow-gap: 24px;
  --gl-eyebrow-line: 48px;
  --gl-eyebrow-space: 18px;

  /* ====== TAMPILAN FOTO ====== */
  --gl-radius: 16px;
  --gl-border: 2px;
  --gl-border-color: rgba(var(--gl-blue-rgb), .70);
  --gl-border-color-hover: #009CE7;
  --gl-keyline: 3px;
  --gl-ring: 4px;
  --gl-ring-color: rgba(var(--gl-blue-rgb), .14);
  --gl-ring-color-hover: rgba(var(--gl-blue-rgb), .28);
  --gl-photo-shadow: 0 16px 32px -20px rgba(0, 90, 141, .55);
  --gl-photo-shadow-hover: 0 26px 46px -20px rgba(var(--gl-blue-rgb), .65);
  --gl-zoom: 1.07;
  --gl-shine-speed: .95s;

  --gl-ease: cubic-bezier(.22, .75, .2, 1);

  position: relative;
  width: 100%;
  overflow: hidden;
  isolation: isolate;
  box-sizing: border-box;

  font-family: var(--gl-font-body);
  color: var(--gl-text);

  background-color: var(--gl-bg-top);
  background-image: linear-gradient(180deg, var(--gl-bg-top) 0%, var(--gl-bg-bottom) 100%);
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) *,
:where(.elementor-12680 .elementor-element.elementor-element-8b68465) *::before,
:where(.elementor-12680 .elementor-element.elementor-element-8b68465) *::after {
  box-sizing: border-box;
}


/* ---------------------------------------------------------------------
   2. AMBIENT GLOW — sisi kanan
   --------------------------------------------------------------------- */
:where(.elementor-12680 .elementor-element.elementor-element-8b68465)::before {
  content: "";
  position: absolute;
  width: clamp(440px, 56vw, 920px);
  height: clamp(440px, 56vw, 920px);
  right: clamp(-450px, -21vw, -180px);
  top: clamp(-330px, -15vw, -120px);
  z-index: -3;
  pointer-events: none;

  border-radius: 50%;
  background: radial-gradient(
      circle,
      rgba(92, 200, 255, .20) 0%,
      rgba(var(--gl-blue-rgb), .075) 36%,
      transparent 70%
  );

  animation: glGlow 10s ease-in-out infinite;
}

@keyframes glGlow {
  0%, 100% { opacity: .82; transform: scale(1); }
  50%      { opacity: 1;   transform: scale(1.06); }
}


/* ---------------------------------------------------------------------
   3. TEKSTUR GRID + WATERMARK KATA DI POJOK KIRI BAWAH
   --------------------------------------------------------------------- */
:where(.elementor-12680 .elementor-element.elementor-element-8b68465)::after {
  content: var(--gl-watermark-word);

  position: absolute;
  inset: 0;
  z-index: -4;
  pointer-events: none;
  user-select: none;

  display: flex;
  align-items: flex-end;
  justify-content: flex-start;

  padding-left: clamp(16px, 4vw, 70px);
  padding-bottom: 2px;
  white-space: nowrap;

  background-image:
      linear-gradient(rgba(var(--gl-blue-rgb), .030) 1px, transparent 1px),
      linear-gradient(90deg, rgba(var(--gl-blue-rgb), .030) 1px, transparent 1px);
  background-size: 48px 48px;

  font-family: var(--gl-font-display);
  font-size: clamp(50px, 7vw, 120px);
  line-height: .82;
  letter-spacing: -.035em;

  color: transparent;
  -webkit-text-stroke: 1px rgba(var(--gl-blue-rgb), .12);
}


/* ---------------------------------------------------------------------
   4. HEADER — judul kiri, deskripsi kanan, SEJAJAR DI BAWAH
   --------------------------------------------------------------------- */
:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-head {
  position: relative;

  --flex-direction: row;
  --flex-wrap: nowrap;
  --align-items: flex-end;            /* v1.4 — rata bawah seperti referensi */
  --justify-content: space-between;
  --gap: var(--gl-head-gap);
  --row-gap: var(--gl-head-gap);
  --column-gap: var(--gl-head-gap);
}

/* kolom judul: fleksibel */
:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-title-box {
  flex: 1 1 0;
  min-width: 0;
}

/* kolom deskripsi: rata bawah, lalu DIANGKAT setinggi garis aksen
   supaya baris terakhirnya sejajar dengan baris terakhir judul */
:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-desc {
  position: relative;
  flex: 0 1 var(--gl-desc-width);
  min-width: 0;
  max-width: var(--gl-desc-max);

  margin-bottom: var(--gl-desc-lift);   /* v1.4 — kunci perataan */
  padding-left: 24px;

  font-family: var(--gl-font-body);
  font-size: 16px;
  font-weight: 300;
  line-height: 1.78;
  color: var(--gl-muted);
}

/* garis vertikal bergradasi di kiri deskripsi */
:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-desc::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 2px;
  width: 2px;
  border-radius: 999px;

  background: linear-gradient(
      180deg,
      var(--gl-blue) 0%,
      var(--gl-sky) 58%,
      rgba(var(--gl-blue-rgb), .12) 100%
  );
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-desc p {
  margin: 0;
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-desc p + p {
  margin-top: 12px;
}


/* ---------------------------------------------------------------------
   4b. EYEBROW + GARIS AKSEN — menempel di WIDGET JUDUL
   --------------------------------------------------------------------- */
:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-title {
  position: relative;
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-title::before {
  content: var(--gl-eyebrow-a) "\00a0\00a0\00a0|\00a0\00a0\00a0" var(--gl-eyebrow-b);

  display: block;
  margin-bottom: var(--gl-eyebrow-gap);
  padding-left: calc(var(--gl-eyebrow-line) + var(--gl-eyebrow-space));

  background:
      linear-gradient(90deg, var(--gl-blue), rgba(var(--gl-blue-rgb), .15))
      left center / var(--gl-eyebrow-line) 2px no-repeat;

  font-family: var(--gl-font-body);
  font-size: clamp(11px, .8vw, 13px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gl-blue);

  pointer-events: none;
  user-select: none;
}

/* garis aksen memudar di bawah judul */
:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-title::after {
  content: "";
  display: block;
  width: 140px;
  height: var(--gl-accent-h);
  margin-top: var(--gl-accent-gap);
  border-radius: 999px;

  background: linear-gradient(
      90deg,
      var(--gl-blue) 0%,
      rgba(var(--gl-blue-rgb), .45) 55%,
      transparent 100%
  );

  transition: width .5s var(--gl-ease);
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-head:hover .mkt-gal-title::after {
  width: 200px;
}


/* judul */
:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-title .elementor-heading-title {
  margin: 0;

  font-family: var(--gl-font-display);
  font-size: clamp(38px, 4.1vw, 64px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.022em;
  color: var(--gl-primary);
  text-wrap: balance;
}

/* <span> di dalam judul = teks gradasi biru */
:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-title .elementor-heading-title span {
  background: linear-gradient(90deg, var(--gl-accent) 0%, var(--gl-blue) 55%, var(--gl-sky) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}


/* ---------------------------------------------------------------------
   5. MEDIA CAROUSEL (bila dipakai) — tampilan saja
   --------------------------------------------------------------------- */
:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-carousel .swiper-slide {
  overflow: visible;
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-carousel .elementor-carousel-image {
  position: relative;
  overflow: hidden;

  border: var(--gl-border) solid var(--gl-border-color);
  border-radius: var(--gl-radius);

  background-size: cover;
  background-position: center;

  box-shadow:
      0 0 0 var(--gl-ring) var(--gl-ring-color),
      var(--gl-photo-shadow);

  transition:
      border-color .45s var(--gl-ease),
      box-shadow .45s var(--gl-ease),
      transform .5s var(--gl-ease);
}

@media (hover: hover) {
  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-carousel .swiper-slide:hover .elementor-carousel-image {
    transform: translateY(-3px);
    border-color: var(--gl-border-color-hover);
    box-shadow:
        0 0 0 calc(var(--gl-ring) + 3px) var(--gl-ring-color-hover),
        var(--gl-photo-shadow-hover);
  }
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-carousel .swiper-pagination-bullet {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(var(--gl-blue-rgb), .35);
  opacity: 1;
  transition: width .4s var(--gl-ease), background .3s ease;
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-carousel .swiper-pagination-bullet-active {
  width: 28px;
  background: var(--gl-blue);
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-carousel .elementor-swiper-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  font-size: 16px;

  color: var(--gl-blue);
  border: 1px solid rgba(var(--gl-blue-rgb), .35);
  border-radius: 50%;
  background: var(--gl-white);
  box-shadow: 0 10px 22px -10px rgba(0, 90, 141, .45);

  transition: background .35s ease, color .35s ease, border-color .35s ease;
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-carousel .elementor-swiper-button svg {
  fill: currentColor;
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-carousel .elementor-swiper-button:hover {
  color: var(--gl-white);
  border-color: var(--gl-blue);
  background: var(--gl-blue);
}


/* ---------------------------------------------------------------------
   6. GALLERY — BINGKAI BIRU BERLAPIS
   Kolom, jarak, dan susunan TIDAK disentuh (dari panel Elementor).
   --------------------------------------------------------------------- */

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-grid .e-gallery-item {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: var(--gl-radius);
  cursor: pointer;

  box-shadow:
      0 0 0 var(--gl-ring) var(--gl-ring-color),
      var(--gl-photo-shadow);

  transition: box-shadow .5s var(--gl-ease);
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-grid .e-gallery-image {
  transition:
      transform .9s var(--gl-ease),
      filter .5s ease;
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-grid .elementor-gallery-item__overlay {
  z-index: 2;
  background: linear-gradient(
      180deg,
      rgba(var(--gl-blue-rgb), .06) 35%,
      rgba(4, 32, 47, .62) 100%
  );
}

/* BINGKAI: garis biru + keyline putih di dalamnya */
:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-grid .e-gallery-item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;

  border: var(--gl-border) solid var(--gl-border-color);
  border-radius: inherit;

  box-shadow: inset 0 0 0 var(--gl-keyline) rgba(255, 255, 255, .72);

  transition:
      border-color .45s var(--gl-ease),
      box-shadow .55s var(--gl-ease);
}


/* KILAU + ZOOM: hanya untuk perangkat ber-mouse */
@media (hover: hover) {

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-grid .e-gallery-item::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;

    background: linear-gradient(
        115deg,
        rgba(255, 255, 255, 0) 32%,
        rgba(var(--gl-blue-rgb), .16) 43%,
        rgba(255, 255, 255, .62) 50%,
        rgba(var(--gl-blue-rgb), .16) 57%,
        rgba(255, 255, 255, 0) 68%
    );

    transform: translateX(-125%);
    transition: transform var(--gl-shine-speed) var(--gl-ease);
  }

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-grid .e-gallery-item:hover {
    box-shadow:
        0 0 0 calc(var(--gl-ring) + 3px) var(--gl-ring-color-hover),
        var(--gl-photo-shadow-hover);
  }

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-grid .e-gallery-item:hover .e-gallery-image {
    transform: scale(var(--gl-zoom));
    filter: saturate(1.08) contrast(1.03);
  }

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-grid .e-gallery-item:hover::before {
    border-color: var(--gl-border-color-hover);
    box-shadow:
        inset 0 0 0 var(--gl-keyline) rgba(255, 255, 255, .90),
        inset 0 0 30px rgba(var(--gl-blue-rgb), .42);
  }

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-grid .e-gallery-item:hover::after {
    transform: translateX(125%);
  }
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-grid .e-gallery-item:focus-visible {
  outline: 2px solid var(--gl-sky);
  outline-offset: 3px;
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-grid .e-gallery-item:focus-visible::before {
  border-color: var(--gl-border-color-hover);
}

@media (hover: none) {
  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-grid .e-gallery-item:active .e-gallery-image {
    transform: scale(1.03);
  }
  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-grid .e-gallery-item:active::before {
    border-color: var(--gl-border-color-hover);
  }
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-grid .elementor-gallery-item__title,
:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-grid .gallery-caption {
  font-family: var(--gl-font-body);
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .02em;
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-grid .elementor-gallery-item__title {
  color: var(--gl-white);
}


/* --- Gallery bawaan (Image Gallery) — cadangan --- */
:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-grid .gallery-item {
  position: relative;
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-grid .gallery-item img {
  display: block;

  border: var(--gl-border) solid var(--gl-border-color);
  border-radius: var(--gl-radius);

  box-shadow:
      0 0 0 var(--gl-ring) var(--gl-ring-color),
      var(--gl-photo-shadow);

  transition:
      border-color .45s var(--gl-ease),
      box-shadow .45s var(--gl-ease),
      transform .6s var(--gl-ease),
      filter .45s ease;
}

@media (hover: hover) {
  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-grid .gallery-item:hover img {
    transform: scale(1.03);
    filter: saturate(1.06) contrast(1.02);
    border-color: var(--gl-border-color-hover);
    box-shadow:
        0 0 0 calc(var(--gl-ring) + 3px) var(--gl-ring-color-hover),
        var(--gl-photo-shadow-hover);
  }
}


/* ---------------------------------------------------------------------
   7. BUTTON — hanya tampilan
   --------------------------------------------------------------------- */
:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-btn .elementor-button {
  position: relative;
  overflow: hidden;
  isolation: isolate;

  background-color: transparent;
  background-image: none;

  border: 2px solid var(--gl-blue);
  border-radius: 999px;
  color: var(--gl-blue);

  font-family: var(--gl-font-body);
  font-weight: 600;
  letter-spacing: .04em;

  transition:
      color .35s var(--gl-ease),
      border-color .35s var(--gl-ease),
      box-shadow .35s var(--gl-ease),
      transform .35s var(--gl-ease);
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-btn .elementor-button::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;

  background: linear-gradient(180deg, var(--gl-sky) 0%, var(--gl-blue) 58%, var(--gl-accent) 100%);

  transform: scaleY(0);
  transform-origin: bottom center;
  transition: transform .45s var(--gl-ease);
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-btn .elementor-button::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  z-index: 0;
  width: 50%;
  height: 100%;

  background: linear-gradient(
      120deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, .45) 50%,
      rgba(255, 255, 255, 0) 100%
  );

  transform: skewX(-20deg);
  transition: left .7s var(--gl-ease);
  pointer-events: none;
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-btn .elementor-button-content-wrapper {
  position: relative;
  z-index: 1;
  align-items: center;
  gap: 10px;
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-btn .elementor-button-icon {
  transition: transform .35s var(--gl-ease);
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-btn .elementor-button:hover,
:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-btn .elementor-button:focus-visible {
  color: var(--gl-white);
  border-color: var(--gl-blue);
  transform: translateY(-3px);
  box-shadow:
      0 16px 32px -10px rgba(var(--gl-blue-rgb), .60),
      0 0 0 4px rgba(var(--gl-blue-rgb), .12);
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-btn .elementor-button:hover::before,
:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-btn .elementor-button:focus-visible::before {
  transform: scaleY(1);
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-btn .elementor-button:hover::after,
:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-btn .elementor-button:focus-visible::after {
  left: 125%;
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-btn .elementor-button:hover .elementor-button-icon {
  transform: translateX(4px);
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-btn .elementor-button:active {
  transform: translateY(-1px) scale(.975);
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-btn .elementor-button:focus-visible {
  outline: 2px solid var(--gl-sky);
  outline-offset: 3px;
}


/* ---------------------------------------------------------------------
   8. ANIMASI MUNCUL SAAT SCROLL — hanya di perangkat ber-mouse
   --------------------------------------------------------------------- */
@media (hover: hover) {
  @supports (animation-timeline: view()) {

    :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-head {
      animation: glFadeUp linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 34%;
    }

    :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-body {
      animation: glFadeUp linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 42%;
    }
  }
}

@keyframes glFadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}


/* =====================================================================
   RESPONSIVE
   ===================================================================== */

/* ---- Tablet (<= 1024px) ---- */
@media (max-width: 1024px) {

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) {
    --gl-radius: 14px;
    --gl-ring: 3px;
    --gl-desc-width: 46%;
    --gl-head-gap: clamp(24px, 4vw, 48px);
    --gl-eyebrow-gap: 20px;
    --gl-accent-gap: 22px;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465)::after {
    font-size: clamp(44px, 8vw, 84px);
  }

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-desc {
    font-size: 15px;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-title .elementor-heading-title {
    font-size: clamp(32px, 4.4vw, 46px);
  }

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-title::after {
    width: 110px;
  }
}


/* ---- Mobile (<= 767px): bertumpuk, pengangkatan dimatikan ---- */
@media (max-width: 767px) {

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) {
    --gl-radius: 12px;
    --gl-border: 1.5px;
    --gl-keyline: 2px;
    --gl-ring: 2.5px;
    --gl-eyebrow-gap: 14px;
    --gl-eyebrow-line: 30px;
    --gl-eyebrow-space: 12px;
    --gl-accent-gap: 18px;

    --gl-desc-lift: 0px;                /* v1.4 — tidak perlu di mobile */
    --gl-photo-shadow: 0 10px 22px -16px rgba(0, 90, 141, .5);
  }

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-head {
    --flex-direction: column;
    --align-items: flex-start;
    --justify-content: flex-start;
    --gap: 20px;
    --row-gap: 20px;
    --column-gap: 20px;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-title-box,
  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-desc {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-title::before {
    font-size: 10.5px;
    letter-spacing: .16em;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-title::after {
    width: 76px;
    height: 2px;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-title .elementor-heading-title {
    font-size: clamp(30px, 8.4vw, 38px);
    line-height: 1.1;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-desc {
    padding-left: 16px;
    font-size: 15px;
    line-height: 1.72;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465)::after {
    padding-left: 12px;
    font-size: clamp(34px, 12vw, 58px);
  }

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-carousel .elementor-swiper-button {
    width: 36px;
    height: 36px;
    font-size: 14px;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-btn .elementor-button {
    width: 100%;
    min-height: 50px;
  }
}


/* ---- HP kecil (<= 400px) ---- */
@media (max-width: 400px) {
  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) {
    --gl-radius: 10px;
    --gl-ring: 2px;
    --gl-eyebrow-line: 26px;
    --gl-eyebrow-space: 10px;
  }

  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) .mkt-gal-title::before {
    font-size: 10px;
    letter-spacing: .12em;
  }
}


/* ---------------------------------------------------------------------
   9. TOUCH / REDUCED MOTION / SELECTION
   --------------------------------------------------------------------- */
@media (hover: none) and (pointer: coarse) {
  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) a,
  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) button {
    -webkit-tap-highlight-color: transparent;
  }
}

@media (prefers-reduced-motion: reduce) {
  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) *,
  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) *::before,
  :where(.elementor-12680 .elementor-element.elementor-element-8b68465) *::after {
    animation-duration: .01ms;
    animation-iteration-count: 1;
    transition-duration: .01ms;
  }
}

:where(.elementor-12680 .elementor-element.elementor-element-8b68465) ::selection {
  background: var(--gl-sky);
  color: var(--gl-navy-dark);
}


/* ---------------------------------------------------------------------
   CATATAN

   * Kalau deskripsi masih terasa terlalu tinggi atau terlalu rendah,
     atur --gl-desc-lift di blok 1:
       - angka lebih BESAR  -> deskripsi naik
       - angka lebih KECIL  -> deskripsi turun
       - 0px                -> sejajar dengan dasar garis aksen
     Contoh: --gl-desc-lift: 40px;

   * Class yang harus terpasang:
       mkt-gal-head, mkt-gal-title-box, mkt-gal-title, mkt-gal-desc,
       mkt-gal-body, mkt-gal-carousel, mkt-gal-grid, mkt-gal-btn
   --------------------------------------------------------------------- *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3e68c3a *//* =====================================================================
   FREQUENTLY ASKED QUESTIONS — MAI KEBALI TOUR  (v1.1 — FIXED)
   Tempel di: Container UTAMA section > Advanced > Custom CSS
   (ganti seluruh isi Custom CSS FAQ yang lama dengan file ini)

   ---------------------------------------------------------------------
   CSS CLASS PER ELEMEN — TETAP SAMA
   ---------------------------------------------------------------------
   Container (utama) ....................... mkt-faq
   ├─ Container (header) ................... mkt-faq-head
   │   ├─ Container (pembungkus judul) ..... mkt-faq-title-box
   │   │   └─ Heading ...................... mkt-faq-title
   │   └─ Container (pembungkus teks) ...... mkt-faq-desc-box
   │       └─ Text Editor .................. mkt-faq-desc
   └─ Container (body) ..................... mkt-faq-body
       ├─ Container (kolom kiri) ........... mkt-faq-media
       │   ├─ Image (besar, atas) .......... mkt-faq-img-main
       │   ├─ Image (kecil, bawah) ......... mkt-faq-img-small
       │   ├─ Text Editor .................. mkt-faq-help
       │   └─ Button ....................... mkt-faq-btn
       └─ Container (kolom kanan) .......... mkt-faq-acc-box
           └─ Accordion .................... mkt-faq-acc
   ---------------------------------------------------------------------

   PENYEBAB TAMPILAN BERANTAKAN DI v1.0 & PERBAIKANNYA
   ---------------------------------------------------------------------
   1. EYEBROW MENIMPA JUDUL
      Elementor memakai ::before di SETIAP container untuk background
      overlay (position:absolute; 100% x 100%). v1.0 memakai ::before
      pada .mkt-faq-title-box tanpa me-reset properti itu lebih dulu,
      sehingga eyebrow ikut jadi absolute dan menumpuk di atas judul.
      -> Sekarang ada blok reset (1b) yang WAJIB berada paling atas.

   2. ACCORDION KELUAR DARI LAYAR / TERPOTONG DI KANAN
      Lebar kolom dijumlahkan: header 52% + 40%, body 46% + 48%,
      DITAMBAH gap sampai 72px. Totalnya melebihi 100%, jadi kolom
      kanan terdorong keluar.
      -> Sekarang kolom memakai flex-grow / flex-basis, bukan persen,
      jadi lebarnya otomatis menyesuaikan sisa ruang dan tidak pernah
      meluber.

   3. TEKS "Need More Information..." TERTIMPA FOTO KECIL
      Foto kecil dipasang position:absolute, jadi keluar dari alur dan
      menindih teks di bawahnya.
      -> Sekarang foto kecil tetap di dalam alur, hanya ditarik ke atas
      dengan margin negatif. Efek bertumpuknya sama, tapi teks dan
      tombol di bawahnya tidak akan pernah tertimpa.

   4. BADGE "16+" TERPISAH DARI FOTO
      Badge dipasang di container kolom, jadi posisinya ikut turun ke
      dasar kolom (di bawah tombol).
      -> Sekarang badge menempel pada FOTO BESAR, dengan angka besar
      di baris pertama dan keterangan di bawahnya.

   TIDAK DIKUNCI
   - Tanpa !important. Panel Elementor selalu menang.
   ===================================================================== */


/* ---------------------------------------------------------------------
   1. PUSAT KENDALI
   --------------------------------------------------------------------- */
.elementor-12680 .elementor-element.elementor-element-3e68c3a {

  /* Warna */
  --fq-primary: #0B2A45;
  --fq-blue: #009CE7;
  --fq-blue-rgb: 0, 156, 231;
  --fq-sky: #5CC8FF;
  --fq-accent: #0070B8;
  --fq-navy-dark: #04202F;

  --fq-bg-top: #F8FCFF;
  --fq-bg-bottom: #EAF4FC;
  --fq-white: #FFFFFF;

  --fq-text: #10222F;
  --fq-muted: rgba(16, 34, 47, .72);
  --fq-soft: rgba(16, 34, 47, .56);

  --fq-line: rgba(var(--fq-blue-rgb), .20);

  /* Font */
  --fq-font-display: "DM Serif Display", Georgia, serif;
  --fq-font-body: "Poppins", -apple-system, BlinkMacSystemFont, sans-serif;

  /* Eyebrow & watermark */
  --fq-eyebrow-a: "FAQ";
  --fq-eyebrow-b: "GOOD TO KNOW";
  --fq-eyebrow-gap: 22px;           /* jarak eyebrow ke judul */
  --fq-watermark-no: "08";
  --fq-watermark-word: "QUESTIONS";

  /* Badge pada foto besar — baris 1 angka, baris 2 keterangan */
  --fq-badge-num: "16+";
  --fq-badge-text: "Years guiding travellers in Bali";

  /* Foto */
  --fq-radius: 20px;
  --fq-frame: 6px;                  /* tebal bingkai putih foto kecil */
  --fq-main-w: 84%;                 /* lebar foto besar */
  --fq-small-w: 50%;                /* lebar foto kecil */
  --fq-overlap: 14%;                /* seberapa dalam foto kecil menumpuk */

  --fq-max-width: 1240px;

  --fq-ease: cubic-bezier(.22, .75, .2, 1);


  position: relative;
  width: 100%;
  overflow: hidden;
  isolation: isolate;
  box-sizing: border-box;

  font-family: var(--fq-font-body);
  color: var(--fq-text);

  background-color: var(--fq-bg-top);
  background-image: linear-gradient(180deg, var(--fq-bg-top) 0%, var(--fq-bg-bottom) 100%);

  --padding-top: clamp(62px, 6vw, 92px);
  --padding-bottom: clamp(62px, 6vw, 92px);
  --padding-left: clamp(22px, 5vw, 82px);
  --padding-right: clamp(22px, 5vw, 82px);

  --flex-direction: column;
  --align-items: stretch;
  --gap: clamp(40px, 4.5vw, 64px);
  --row-gap: clamp(40px, 4.5vw, 64px);
}


.elementor-12680 .elementor-element.elementor-element-3e68c3a *,
.elementor-12680 .elementor-element.elementor-element-3e68c3a *::before,
.elementor-12680 .elementor-element.elementor-element-3e68c3a *::after {
  box-sizing: border-box;
}


/* ---------------------------------------------------------------------
   1b. RESET OVERLAY BAWAAN ELEMENTOR PADA ::before CONTAINER
   .e-con::before = absolute, 100% x 100%, left:0, top:0.
   Dinetralkan dulu; tiap rule ::before di bawah mengatur sendiri
   posisinya. HARUS berada SEBELUM rule ::before lainnya.
   --------------------------------------------------------------------- */
.elementor-12680 .elementor-element.elementor-element-3e68c3a::before,
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-title-box::before,
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-media::before,
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-head::before,
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-body::before,
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-desc-box::before,
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc-box::before {
  inset: auto;
  width: auto;
  height: auto;
  opacity: 1;
  z-index: auto;
  mix-blend-mode: normal;
  border-radius: 0;
  transition: none;
  background: none;
}


/* ---------------------------------------------------------------------
   2. AMBIENT GLOW — sisi kanan
   --------------------------------------------------------------------- */
.elementor-12680 .elementor-element.elementor-element-3e68c3a::before {
  content: "";
  position: absolute;
  width: clamp(440px, 56vw, 920px);
  height: clamp(440px, 56vw, 920px);
  right: clamp(-450px, -21vw, -180px);
  top: clamp(-330px, -15vw, -120px);
  z-index: -3;
  pointer-events: none;

  border-radius: 50%;

  background: radial-gradient(
      circle,
      rgba(92, 200, 255, .20) 0%,
      rgba(var(--fq-blue-rgb), .075) 36%,
      transparent 70%
  );

  animation: fqGlow 10s ease-in-out infinite;
}

@keyframes fqGlow {
  0%, 100% { opacity: .82; transform: scale(1); }
  50%      { opacity: 1;   transform: scale(1.06); }
}


/* ---------------------------------------------------------------------
   3. TEKSTUR GRID + WATERMARK KATA DI POJOK KIRI BAWAH
   --------------------------------------------------------------------- */
.elementor-12680 .elementor-element.elementor-element-3e68c3a::after {
  content: var(--fq-watermark-word);

  position: absolute;
  inset: 0;
  z-index: -4;
  pointer-events: none;
  user-select: none;

  display: flex;
  align-items: flex-end;
  justify-content: flex-start;

  padding-left: clamp(16px, 4vw, 70px);
  padding-bottom: 2px;

  white-space: nowrap;

  background-image:
      linear-gradient(rgba(var(--fq-blue-rgb), .030) 1px, transparent 1px),
      linear-gradient(90deg, rgba(var(--fq-blue-rgb), .030) 1px, transparent 1px);
  background-size: 48px 48px;

  font-family: var(--fq-font-display);
  font-size: clamp(50px, 7vw, 120px);
  line-height: .82;
  letter-spacing: -.035em;

  color: transparent;
  -webkit-text-stroke: 1px rgba(var(--fq-blue-rgb), .12);
}


/* ---------------------------------------------------------------------
   4. HEADER — judul kiri, deskripsi kanan
   Lebar memakai flex-basis, bukan persen, supaya tidak pernah meluber.
   --------------------------------------------------------------------- */
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-head {
  --width: 100%;

  --flex-direction: row;
  --flex-wrap: nowrap;
  --align-items: flex-start;
  --justify-content: space-between;

  --gap: clamp(28px, 4vw, 64px);
  --column-gap: clamp(28px, 4vw, 64px);
  --row-gap: 24px;

  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;

  position: relative;
  width: min(100%, var(--fq-max-width));
  margin-inline: auto;
}


/* watermark angka "08" di kanan atas */
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-head::after {
  content: var(--fq-watermark-no);
  position: absolute;
  right: 0;
  top: -52px;
  z-index: -1;

  pointer-events: none;
  user-select: none;

  font-family: var(--fq-font-display);
  font-size: clamp(70px, 8vw, 125px);
  line-height: 1;
  letter-spacing: -.04em;

  color: transparent;
  -webkit-text-stroke: 1px rgba(var(--fq-blue-rgb), .16);
  opacity: .9;
}


.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-title-box {
  --width: auto;
  --flex-grow: 1;
  --flex-shrink: 1;
  --flex-basis: 0%;

  --flex-direction: column;
  --align-items: flex-start;
  --gap: 0px;
  --row-gap: 0px;

  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;

  position: relative;
  min-width: 0;
}


/* eyebrow bergaris di atas judul — kini ikut alur, bukan overlay */
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-title-box::before {
  content: var(--fq-eyebrow-a) "   |   " var(--fq-eyebrow-b);

  position: relative;
  display: block;
  align-self: flex-start;
  white-space: pre;

  margin-bottom: var(--fq-eyebrow-gap);
  padding-left: 52px;

  background:
      linear-gradient(90deg, var(--fq-blue), var(--fq-sky))
      left center / 38px 2px no-repeat;

  font-family: var(--fq-font-body);
  font-size: clamp(10.5px, .74vw, 12px);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--fq-blue);

  pointer-events: none;
  user-select: none;
}


/* garis aksen memudar di bawah judul */
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-title-box::after {
  content: "";
  display: block;
  width: 120px;
  height: 3px;
  margin-top: 22px;
  border-radius: 999px;

  background: linear-gradient(
      90deg,
      var(--fq-blue) 0%,
      rgba(var(--fq-blue-rgb), .45) 55%,
      transparent 100%
  );

  transition: width .5s var(--fq-ease);
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-head:hover .mkt-faq-title-box::after {
  width: 176px;
}


.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-title.elementor-widget {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-title .elementor-heading-title {
  max-width: 16ch;
  margin: 0;

  font-family: var(--fq-font-display);
  font-size: clamp(36px, 3.8vw, 58px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -.022em;
  color: var(--fq-primary);
  text-wrap: balance;
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-title .elementor-heading-title span {
  background: linear-gradient(90deg, var(--fq-accent) 0%, var(--fq-blue) 55%, var(--fq-sky) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}


.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-desc-box {
  --width: auto;
  --flex-grow: 0;
  --flex-shrink: 1;
  --flex-basis: 420px;

  --flex-direction: column;
  --align-items: flex-start;
  --justify-content: flex-start;

  --padding-top: 10px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;

  min-width: 0;
}


.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-desc.elementor-widget {
  position: relative;
  width: 100%;
  margin: 0;
  padding-left: 24px;
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-desc.elementor-widget::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 2px;
  width: 2px;
  border-radius: 999px;

  background: linear-gradient(
      180deg,
      var(--fq-blue) 0%,
      var(--fq-sky) 58%,
      rgba(var(--fq-blue-rgb), .12) 100%
  );
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-desc.elementor-widget-text-editor {
  font-family: var(--fq-font-body);
  font-size: 16px;
  font-weight: 300;
  line-height: 1.78;
  color: var(--fq-muted);
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-desc p {
  margin: 0 0 1em;
  font: inherit;
  color: inherit;
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-desc p:last-child {
  margin-bottom: 0;
}


/* ---------------------------------------------------------------------
   5. BODY — kolom foto kiri, accordion kanan
   --------------------------------------------------------------------- */
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-body {
  --width: 100%;

  --flex-direction: row;
  --flex-wrap: nowrap;
  --align-items: flex-start;
  --justify-content: space-between;

  --gap: clamp(32px, 4vw, 64px);
  --column-gap: clamp(32px, 4vw, 64px);
  --row-gap: 44px;

  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;

  position: relative;
  width: min(100%, var(--fq-max-width));
  margin-inline: auto;
}


/* ---------------------------------------------------------------------
   6. KOLOM FOTO — .mkt-faq-media
   Foto kecil TETAP dalam alur (margin negatif), jadi teks & tombol
   di bawahnya tidak pernah tertimpa.
   --------------------------------------------------------------------- */
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-media {
  --width: auto;
  --flex-grow: 1;
  --flex-shrink: 1;
  --flex-basis: 0%;

  --flex-direction: column;
  --align-items: stretch;
  --justify-content: flex-start;

  --gap: 0px;
  --row-gap: 0px;

  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;

  position: relative;
  min-width: 0;
}


/* bingkai outline biru di belakang, sisi kanan atas */
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-media::before {
  content: "";
  position: absolute;
  right: 0;
  top: 5%;
  width: 40%;
  height: 58%;
  z-index: 0;

  border: 1.5px solid rgba(var(--fq-blue-rgb), .40);
  border-radius: var(--fq-radius);

  background: linear-gradient(
      160deg,
      rgba(92, 200, 255, .10) 0%,
      rgba(var(--fq-blue-rgb), .03) 55%,
      transparent 100%
  );

  pointer-events: none;
}


/* ---------------------------------------------------------------------
   7. FOTO BESAR — .mkt-faq-img-main (+ badge menempel di fotonya)
   --------------------------------------------------------------------- */
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-img-main.elementor-widget {
  --width: var(--fq-main-w);

  position: relative;
  z-index: 1;
  align-self: flex-end;      /* foto besar rapat ke kanan */
  width: var(--fq-main-w);
  min-width: 0;
  margin: 0;
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-img-main img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3.4;
  object-fit: cover;

  border-radius: var(--fq-radius);

  box-shadow:
      0 0 0 1px rgba(var(--fq-blue-rgb), .14),
      0 26px 54px -26px rgba(0, 90, 141, .50);

  transition: transform .6s var(--fq-ease), box-shadow .45s ease;
}


/* BADGE menempel di sudut kanan bawah FOTO BESAR
   baris 1 = angka besar, baris 2 = keterangan */
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-img-main.elementor-widget::after {
  content: var(--fq-badge-num) "\A" var(--fq-badge-text);

  position: absolute;
  right: -10px;
  bottom: -26px;
  z-index: 4;

  width: max-content;
  max-width: 230px;
  padding: 14px 20px;

  white-space: pre-line;

  border: 1px solid rgba(var(--fq-blue-rgb), .22);
  border-radius: 16px 16px 16px 5px;

  background: linear-gradient(
      165deg,
      rgba(255, 255, 255, .97) 0%,
      rgba(234, 244, 252, .90) 100%
  );

  box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, .9),
      0 20px 40px -22px rgba(0, 90, 141, .55);

  font-family: var(--fq-font-body);
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.45;
  color: var(--fq-soft);

  pointer-events: none;
}


/* baris pertama badge = angka besar biru */
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-img-main.elementor-widget::after::first-line {
  font-family: var(--fq-font-display);
  font-size: 30px;
  font-weight: 400;
  line-height: 1.1;
  color: var(--fq-blue);
}


/* ---------------------------------------------------------------------
   8. FOTO KECIL — .mkt-faq-img-small (menumpuk, tetap dalam alur)
   --------------------------------------------------------------------- */
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-img-small.elementor-widget {
  --width: var(--fq-small-w);

  position: relative;
  z-index: 3;

  align-self: flex-start;    /* foto kecil rapat ke kiri */
  width: var(--fq-small-w);
  min-width: 0;

  /* inilah yang membuatnya menumpuk tanpa keluar dari alur */
  margin: calc(var(--fq-overlap) * -1) 0 0;

  transition: transform .5s var(--fq-ease);
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-img-small img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;

  border: var(--fq-frame) solid var(--fq-white);
  border-radius: calc(var(--fq-radius) - 2px);

  box-shadow:
      0 0 0 1px rgba(var(--fq-blue-rgb), .16),
      0 22px 44px -22px rgba(0, 90, 141, .55);

  transition: box-shadow .45s ease;
}


@media (hover: hover) {

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-img-main:hover img {
    transform: translateY(-4px);
    box-shadow:
        0 0 0 1px rgba(var(--fq-blue-rgb), .34),
        0 34px 62px -26px rgba(var(--fq-blue-rgb), .50);
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-img-small:hover {
    transform: translateY(-5px);
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-img-small:hover img {
    box-shadow:
        0 0 0 1px rgba(var(--fq-blue-rgb), .36),
        0 28px 50px -22px rgba(var(--fq-blue-rgb), .50);
  }
}


/* ---------------------------------------------------------------------
   9. TEKS BANTUAN + BUTTON di bawah foto
   --------------------------------------------------------------------- */
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-help.elementor-widget {
  --width: 100%;

  position: relative;
  z-index: 2;
  width: 100%;
  margin: clamp(30px, 3.4vw, 42px) 0 0;
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-help.elementor-widget-text-editor {
  font-family: var(--fq-font-body);
  font-size: 15.5px;
  font-weight: 400;
  line-height: 1.7;
  color: var(--fq-primary);
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-help p {
  margin: 0;
  font: inherit;
  color: inherit;
}


.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-btn.elementor-widget {
  --width: auto;

  position: relative;
  z-index: 2;
  align-self: flex-start;
  margin: 16px 0 0;
}


.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-btn .elementor-button {
  position: relative;
  overflow: hidden;
  isolation: isolate;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  padding: 16px 32px;

  background-color: transparent;
  background-image: none;

  border: 2px solid var(--fq-blue);
  border-radius: 999px;

  color: var(--fq-blue);

  font-family: var(--fq-font-body);
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .04em;

  transition:
      color .35s var(--fq-ease),
      border-color .35s var(--fq-ease),
      box-shadow .35s var(--fq-ease),
      transform .35s var(--fq-ease);
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-btn .elementor-button::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;

  background: linear-gradient(
      180deg,
      var(--fq-sky) 0%,
      var(--fq-blue) 58%,
      var(--fq-accent) 100%
  );

  transform: scaleY(0);
  transform-origin: bottom center;
  transition: transform .45s var(--fq-ease);
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-btn .elementor-button::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  z-index: 0;
  width: 50%;
  height: 100%;

  background: linear-gradient(
      120deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, .45) 50%,
      rgba(255, 255, 255, 0) 100%
  );

  transform: skewX(-20deg);
  transition: left .7s var(--fq-ease);
  pointer-events: none;
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-btn .elementor-button-content-wrapper {
  position: relative;
  z-index: 1;
  align-items: center;
  gap: 10px;
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-btn .elementor-button-icon {
  transition: transform .35s var(--fq-ease);
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-btn .elementor-button:hover,
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-btn .elementor-button:focus-visible {
  color: var(--fq-white);
  border-color: var(--fq-blue);
  transform: translateY(-3px);

  box-shadow:
      0 16px 32px -10px rgba(var(--fq-blue-rgb), .60),
      0 0 0 4px rgba(var(--fq-blue-rgb), .12);
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-btn .elementor-button:hover::before,
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-btn .elementor-button:focus-visible::before {
  transform: scaleY(1);
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-btn .elementor-button:hover::after,
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-btn .elementor-button:focus-visible::after {
  left: 125%;
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-btn .elementor-button:hover .elementor-button-icon {
  transform: translateX(4px);
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-btn .elementor-button:active {
  transform: translateY(-1px) scale(.975);
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-btn .elementor-button:focus-visible {
  outline: 2px solid var(--fq-sky);
  outline-offset: 3px;
}


/* ---------------------------------------------------------------------
   10. KOLOM ACCORDION — .mkt-faq-acc-box
   --------------------------------------------------------------------- */
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc-box {
  --width: auto;
  --flex-grow: 1;
  --flex-shrink: 1;
  --flex-basis: 0%;

  --flex-direction: column;
  --align-items: stretch;
  --justify-content: flex-start;

  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;

  min-width: 0;
  max-width: 100%;
}


.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc.elementor-widget {
  --width: 100%;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}


/* ===== ACCORDION KLASIK (.elementor-accordion) ===== */

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .elementor-accordion {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 100%;
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .elementor-accordion-item {
  position: relative;
  overflow: hidden;
  min-width: 0;

  border: 1px solid var(--fq-line);
  border-radius: 16px 16px 16px 5px;

  background: linear-gradient(
      165deg,
      rgba(255, 255, 255, .94) 0%,
      rgba(234, 244, 252, .78) 100%
  );

  box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, .85),
      0 10px 26px -18px rgba(0, 90, 141, .45);

  transition: border-color .4s ease, box-shadow .4s ease;
}


/* pilar biru di sisi kiri item */
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .elementor-accordion-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  bottom: 14px;
  width: 3px;

  border-radius: 0 999px 999px 0;

  background: linear-gradient(180deg, var(--fq-sky), var(--fq-blue));

  opacity: 0;
  transition: opacity .4s ease;
  pointer-events: none;
}


/* judul pertanyaan */
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .elementor-tab-title {
  display: flex;
  align-items: center;
  gap: 14px;

  padding: 18px 20px;

  border: 0;
  background: transparent;

  font-family: var(--fq-font-body);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--fq-primary);

  cursor: pointer;
  transition: color .35s ease;
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .elementor-tab-title a {
  color: inherit;
}


/* ikon +/- dalam kotak biru */
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .elementor-accordion-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;

  width: 30px;
  height: 30px;

  border-radius: 9px;

  color: var(--fq-blue);
  background: rgba(var(--fq-blue-rgb), .10);

  font-size: 12px;

  transition: background .35s ease, color .35s ease, transform .35s var(--fq-ease);
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .elementor-accordion-icon svg {
  width: 12px;
  height: 12px;
  fill: currentColor;
}


/* isi jawaban */
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .elementor-tab-content {
  padding: 0 20px 20px 64px;
  border: 0;
  background: transparent;

  font-family: var(--fq-font-body);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.78;
  color: var(--fq-soft);
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .elementor-tab-content p:last-child {
  margin-bottom: 0;
}


/* item aktif */
.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .elementor-tab-title.elementor-active {
  color: var(--fq-blue);
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .elementor-accordion-item:has(.elementor-tab-title.elementor-active) {
  border-color: rgba(var(--fq-blue-rgb), .36);

  box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, .9),
      0 18px 38px -20px rgba(var(--fq-blue-rgb), .45);
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .elementor-accordion-item:has(.elementor-tab-title.elementor-active)::before {
  opacity: 1;
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .elementor-tab-title.elementor-active .elementor-accordion-icon {
  color: var(--fq-white);
  background: linear-gradient(140deg, var(--fq-sky), var(--fq-blue) 60%, var(--fq-accent));
}


@media (hover: hover) {
  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .elementor-tab-title:hover {
    color: var(--fq-blue);
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .elementor-tab-title:hover .elementor-accordion-icon {
    background: rgba(var(--fq-blue-rgb), .18);
  }
}


/* ===== ACCORDION BARU / NESTED (.e-n-accordion) ===== */

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .e-n-accordion {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 100%;
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .e-n-accordion-item {
  position: relative;
  overflow: hidden;
  min-width: 0;

  border: 1px solid var(--fq-line);
  border-radius: 16px 16px 16px 5px;

  background: linear-gradient(
      165deg,
      rgba(255, 255, 255, .94) 0%,
      rgba(234, 244, 252, .78) 100%
  );

  box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, .85),
      0 10px 26px -18px rgba(0, 90, 141, .45);

  transition: border-color .4s ease, box-shadow .4s ease;
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .e-n-accordion-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  bottom: 14px;
  width: 3px;

  border-radius: 0 999px 999px 0;
  background: linear-gradient(180deg, var(--fq-sky), var(--fq-blue));

  opacity: 0;
  transition: opacity .4s ease;
  pointer-events: none;
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .e-n-accordion-item-title {
  gap: 14px;
  padding: 18px 20px;

  border: 0;
  background: transparent;

  font-family: var(--fq-font-body);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--fq-primary);

  transition: color .35s ease;
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .e-n-accordion-item-title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 30px;
  height: 30px;

  border-radius: 9px;

  color: var(--fq-blue);
  background: rgba(var(--fq-blue-rgb), .10);

  transition: background .35s ease, color .35s ease;
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .e-n-accordion-item[open] {
  border-color: rgba(var(--fq-blue-rgb), .36);

  box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, .9),
      0 18px 38px -20px rgba(var(--fq-blue-rgb), .45);
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .e-n-accordion-item[open]::before {
  opacity: 1;
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .e-n-accordion-item[open] .e-n-accordion-item-title {
  color: var(--fq-blue);
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .e-n-accordion-item[open] .e-n-accordion-item-title-icon {
  color: var(--fq-white);
  background: linear-gradient(140deg, var(--fq-sky), var(--fq-blue) 60%, var(--fq-accent));
}

.elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .e-n-accordion-item > .e-con {
  --padding-top: 0px;
  --padding-right: 20px;
  --padding-bottom: 20px;
  --padding-left: 64px;

  font-family: var(--fq-font-body);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.78;
  color: var(--fq-soft);
}


/* ---------------------------------------------------------------------
   11. ANIMASI MUNCUL SAAT SCROLL (murni CSS)
   --------------------------------------------------------------------- */
@supports (animation-timeline: view()) {

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-head {
    animation: fqFadeUp linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 34%;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-media {
    animation: fqFromLeft linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 42%;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc-box {
    animation: fqFadeUp linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 44%;
  }
}

@keyframes fqFadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes fqFromLeft {
  from { opacity: 0; transform: translateX(-32px); }
  to   { opacity: 1; transform: translateX(0); }
}


/* =====================================================================
   RESPONSIVE
   ===================================================================== */

/* ---------- LARGE DESKTOP >= 1600px ---------- */
@media (min-width: 1600px) {
  .elementor-12680 .elementor-element.elementor-element-3e68c3a {
    --fq-max-width: 1440px;
  }
}


/* ---------- LAPTOP 1025 - 1280 ---------- */
@media (min-width: 1025px) and (max-width: 1280px) {
  .elementor-12680 .elementor-element.elementor-element-3e68c3a {
    --padding-left: 44px;
    --padding-right: 44px;
    --fq-main-w: 86%;
    --fq-small-w: 52%;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-desc-box {
    --flex-basis: 360px;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-img-main.elementor-widget::after {
    max-width: 210px;
    padding: 12px 16px;
    font-size: 13px;
  }
}


/* ---------- TABLET 768 - 1024 ----------
   Header tetap bersebelahan, body turun jadi satu kolom.
   ------------------------------------------------- */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-12680 .elementor-element.elementor-element-3e68c3a {
    --padding-left: clamp(30px, 4.5vw, 46px);
    --padding-right: clamp(30px, 4.5vw, 46px);
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-desc-box {
    --flex-basis: 320px;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-title .elementor-heading-title {
    max-width: 100%;
    font-size: clamp(32px, 4.4vw, 44px);
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-head::after {
    top: -44px;
    font-size: 88px;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-body {
    --flex-direction: column;
    --flex-wrap: wrap;
    --align-items: stretch;
    --row-gap: 44px;
    flex-direction: column;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-media,
  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc-box {
    --width: 100%;
    --flex-grow: 0;
    --flex-basis: auto;
    width: 100%;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-media {
    max-width: 620px;
    margin-inline: auto;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a::after {
    font-size: clamp(44px, 8vw, 84px);
  }
}


/* ---------- MOBILE <= 767px ---------- */
@media (max-width: 767px) {
  .elementor-12680 .elementor-element.elementor-element-3e68c3a {
    --padding-top: 56px;
    --padding-bottom: 60px;
    --padding-left: clamp(18px, 5.2vw, 24px);
    --padding-right: clamp(18px, 5.2vw, 24px);

    --gap: 34px;
    --row-gap: 34px;

    --fq-radius: 16px;
    --fq-frame: 5px;
    --fq-main-w: 88%;
    --fq-small-w: 56%;
    --fq-overlap: 12%;
  }

  /* header bertumpuk */
  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-head {
    --flex-direction: column;
    --align-items: flex-start;
    --row-gap: 18px;
    flex-direction: column;
    align-items: flex-start;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-title-box,
  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-desc-box {
    --width: 100%;
    --flex-grow: 0;
    --flex-basis: auto;
    width: 100%;
    max-width: 100%;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-desc-box {
    --padding-top: 0px;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-title-box::before {
    margin-bottom: 14px;
    padding-left: 40px;
    background-size: 28px 2px;
    font-size: 10.5px;
    letter-spacing: .16em;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-title-box::after {
    width: 76px;
    height: 2px;
    margin-top: 16px;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-title .elementor-heading-title {
    max-width: 100%;
    font-size: clamp(30px, 8.4vw, 38px);
    line-height: 1.08;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-desc.elementor-widget {
    padding-left: 16px;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-desc.elementor-widget-text-editor {
    font-size: 15px;
    line-height: 1.72;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-head::after {
    top: -30px;
    font-size: 64px;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a::after {
    padding-left: 12px;
    font-size: clamp(34px, 12vw, 58px);
  }

  /* BODY satu kolom */
  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-body {
    --flex-direction: column;
    --align-items: stretch;
    --row-gap: 34px;
    flex-direction: column;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-media,
  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc-box {
    --width: 100%;
    --flex-grow: 0;
    --flex-basis: auto;
    width: 100%;
  }

  /* foto */
  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-media::before {
    top: 3%;
    width: 38%;
    height: 52%;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-img-main.elementor-widget::after {
    right: 0;
    bottom: -20px;
    max-width: 200px;
    padding: 12px 16px;
    font-size: 12.5px;
    border-radius: 14px 14px 14px 4px;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-img-main.elementor-widget::after::first-line {
    font-size: 26px;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-help.elementor-widget {
    margin-top: 30px;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-help.elementor-widget-text-editor {
    font-size: 15px;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-btn.elementor-widget {
    --width: 100%;
    align-self: stretch;
    width: 100%;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-btn .elementor-button {
    width: 100%;
    min-height: 52px;
  }

  /* accordion */
  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .elementor-tab-title,
  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .e-n-accordion-item-title {
    gap: 12px;
    padding: 16px 16px;
    font-size: 15px;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .elementor-accordion-icon,
  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .e-n-accordion-item-title-icon {
    width: 27px;
    height: 27px;
    border-radius: 8px;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .elementor-tab-content {
    padding: 0 16px 18px 55px;
    font-size: 14.5px;
    line-height: 1.72;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .e-n-accordion-item > .e-con {
    --padding-right: 16px;
    --padding-bottom: 18px;
    --padding-left: 55px;

    font-size: 14.5px;
    line-height: 1.72;
  }
}


/* ---------- HP KECIL <= 400px ---------- */
@media (max-width: 400px) {
  .elementor-12680 .elementor-element.elementor-element-3e68c3a {
    --fq-main-w: 92%;
    --fq-small-w: 60%;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-img-main.elementor-widget::after {
    max-width: 180px;
    font-size: 12px;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .elementor-tab-content {
    padding-left: 48px;
  }

  .elementor-12680 .elementor-element.elementor-element-3e68c3a .mkt-faq-acc .e-n-accordion-item > .e-con {
    --padding-left: 48px;
  }
}


/* ---------------------------------------------------------------------
   12. TOUCH / REDUCED MOTION / SELECTION
   --------------------------------------------------------------------- */
@media (hover: none) and (pointer: coarse) {
  .elementor-12680 .elementor-element.elementor-element-3e68c3a a,
  .elementor-12680 .elementor-element.elementor-element-3e68c3a button {
    -webkit-tap-highlight-color: transparent;
  }
}


@media (prefers-reduced-motion: reduce) {
  .elementor-12680 .elementor-element.elementor-element-3e68c3a *,
  .elementor-12680 .elementor-element.elementor-element-3e68c3a *::before,
  .elementor-12680 .elementor-element.elementor-element-3e68c3a *::after {
    animation-duration: .01ms;
    animation-iteration-count: 1;
    transition-duration: .01ms;
  }
}


.elementor-12680 .elementor-element.elementor-element-3e68c3a ::selection {
  background: var(--fq-sky);
  color: var(--fq-navy-dark);
}


/* ---------------------------------------------------------------------
   CATATAN PEMAKAIAN

   1. Di panel Container mkt-faq-head dan mkt-faq-body:
      Direction = Row, Wrap = No Wrap. Kalau panel diset "Wrap",
      panel yang menang dan kolom bisa turun sendiri.

   2. Seberapa dalam foto kecil menumpuk diatur lewat --fq-overlap
      (default 14%). Lebar foto lewat --fq-main-w dan --fq-small-w.

   3. Isi badge lewat --fq-badge-num dan --fq-badge-text. Kalau tidak
      ingin ada badge, kosongkan keduanya: "" dan "".

   4. Jarak eyebrow ke judul lewat --fq-eyebrow-gap.
   --------------------------------------------------------------------- *//* End custom CSS */
/* Start custom CSS *//* =========================================================
   =========================================================
   MAI KEBALI TOUR — ANTI GESER KE SAMPING  (v2 — TEGAS)

   DIPASANG DI:
   Elementor > Hamburger (kiri atas) > Site Settings >
   Custom CSS

   PENTING: pasang di SITE SETTINGS, bukan Page Settings.
   Aturan pada <html> dan <body> adalah aturan global.
   Di beberapa versi Elementor, Custom CSS pada Page Settings
   dimuat belakangan / dibungkus, sehingga aturan global
   seperti ini bisa tidak berlaku sepenuhnya. Itu sebabnya
   versi sebelumnya masih bisa digeser.

   ---------------------------------------------------------
   KENAPA v1 MASIH BISA DIGESER
   ---------------------------------------------------------
   1. Lokasi pemasangan (lihat di atas).
   2. overflow-x:clip pada <html> tidak selalu cukup kalau
      elemen yang meluap memakai position:fixed — elemen
      fixed mengacu ke viewport, bukan ke <html>.
   3. Tanpa !important, aturan tema/plugin yang dimuat
      belakangan bisa menimpanya.

   v2 memperbaiki ketiganya sekaligus.
   ========================================================= */


/* ---------------------------------------------------------
   1. KUNCI LEBAR HALAMAN — TEGAS
   --------------------------------------------------------- */

html{
    overflow-x:clip !important;

    max-width:100% !important;
}


body{
    position:relative !important;

    width:100% !important;
    max-width:100% !important;

    overflow-x:clip !important;
}


/* cadangan untuk browser lama yang belum mendukung clip.
   hidden hanya di <body>, supaya sticky tetap bekerja */

@supports not (overflow:clip){

    html{
        overflow-x:hidden !important;
    }

    body{
        overflow-x:hidden !important;
    }

}


/* ---------------------------------------------------------
   2. SEMUA ANAK LANGSUNG BODY DIKUNCI
   Ini yang menangkap pembungkus tema apa pun namanya.
   --------------------------------------------------------- */

body > *{
    max-width:100% !important;
}


body > div:not([class*="mfp"]):not([class*="popup"]):not([class*="modal"]){
    overflow-x:clip;
}


/* ---------------------------------------------------------
   3. PEMBUNGKUS UTAMA
   --------------------------------------------------------- */

#page,
#content,
#primary,
#main,
.site,
.site-content,
.site-main,
.elementor,
.elementor-location-header,
.elementor-location-footer,
.elementor-location-single,
[data-elementor-type="wp-page"],
[data-elementor-type="wp-post"],
[data-elementor-type="header"],
[data-elementor-type="footer"]{

    max-width:100% !important;

    overflow-x:clip;
}


/* ---------------------------------------------------------
   4. SECTION / CONTAINER ELEMENTOR
   --------------------------------------------------------- */

.elementor-section,
.e-con,
.e-con-inner,
.elementor-widget-wrap,
.elementor-column{

    max-width:100%;
}


/* container tingkat atas = section.
   Paling sering meluap karena dekorasi keluar tepi. */

[data-elementor-type="wp-page"] > .e-con,
[data-elementor-type="wp-post"] > .e-con,
[data-elementor-type="header"] > .e-con,
[data-elementor-type="footer"] > .e-con,
.elementor-section-wrap > .elementor-section{

    overflow-x:clip;
}


/* ---------------------------------------------------------
   5. ELEMEN MENGAPUNG / FIXED
   Elemen position:fixed mengacu ke viewport, jadi tidak
   ikut terpotong oleh overflow induknya. Inilah penyebab
   yang paling sering tersisa.
   --------------------------------------------------------- */

body [style*="position: fixed"],
body [style*="position:fixed"],
.elementor-location-popup,
.goog-te-banner-frame,
.skiptranslate,
[class*="floating"],
[class*="float-btn"],
[class*="whatsapp"],
[id*="whatsapp"],
[class*="chat-widget"],
[class*="sticky-btn"]{

    max-width:100vw;
}


/* tombol mengapung tidak boleh melewati tepi kanan */

[class*="floating"],
[class*="float-btn"],
[class*="whatsapp"],
[id*="whatsapp"]{

    right:auto;
}


/* kalau tombol WhatsApp Anda memang di kanan bawah,
   HAPUS blok di atas dan pakai ini saja: */

/*
[class*="whatsapp"],
[id*="whatsapp"]{
    right:16px;
    max-width:calc(100vw - 32px);
}
*/


/* ---------------------------------------------------------
   6. ELEMEN MEDIA
   --------------------------------------------------------- */

img,
video,
iframe,
svg,
canvas,
table,
embed,
object{

    max-width:100%;
}


img{
    height:auto;
}


.swiper,
.elementor-swiper,
.elementor-main-swiper,
.swiper-container,
.swiper-wrapper{

    max-width:100%;
}


/* ---------------------------------------------------------
   7. PERBAIKAN 100vw
   Di Windows, 100vw sudah termasuk lebar scrollbar,
   jadi selalu ~17px lebih lebar dari area terlihat.
   --------------------------------------------------------- */

.elementor-section.elementor-section-stretched,
.e-con-full,
[style*="100vw"]{

    max-width:100% !important;
}


/* ---------------------------------------------------------
   8. TEKS PANJANG
   --------------------------------------------------------- */

p,
h1, h2, h3, h4, h5, h6,
li,
a,
span,
div{

    overflow-wrap:break-word;

    word-wrap:break-word;
}


/* ---------------------------------------------------------
   9. LAYAR SENTUH — geser horizontal dimatikan
   --------------------------------------------------------- */

@media (max-width:1024px){

    html,
    body{
        width:100% !important;
        max-width:100% !important;

        overscroll-behavior-x:none;
    }


    /* halaman hanya boleh digeser vertikal */

    body{
        touch-action:pan-y;
    }

}


/* elemen yang MEMANG perlu digeser ke samping
   dikembalikan izinnya di sini */

.swiper,
.swiper-wrapper,
.elementor-main-swiper,
.e-n-tabs-heading,
.elementor-widget-table-of-contents,
.elementor-widget-n-tabs,
[class*="overflow-x-auto"],
[class*="scroll-x"],
table{

    touch-action:pan-x pan-y !important;
}


/* =========================================================
   =========================================================
   KALAU MASIH BISA DIGESER JUGA

   Berarti ada SATU elemen position:fixed atau absolute yang
   keluar layar, dan elemen seperti itu tidak bisa dipotong
   oleh induknya. Harus ditemukan langsung.

   CARA MENEMUKANNYA (30 detik):

   1. Buka halaman di Chrome
   2. Tekan F12, pilih tab Console
   3. Tempel perintah ini, tekan Enter:

      const w = document.documentElement.clientWidth;
      document.querySelectorAll('*').forEach(el=>{
        const r = el.getBoundingClientRect();
        if(r.right > w + 1 || r.left < -1){
          el.style.outline='3px solid red';
          console.log(Math.round(r.left), Math.round(r.right), el);
        }
      });

   4. Elemen yang meluap akan bergaris merah, dan di Console
      terlihat nama serta posisinya.

   Kirimkan hasil Console itu kalau Anda mau, nanti saya
   buatkan perbaikan yang menyasar elemen itu langsung,
   bukan sekadar menutup luapannya.

   ---------------------------------------------------------
   CATATAN
   ---------------------------------------------------------
   - Tampilan tidak berubah sama sekali. File ini hanya
     memotong bagian yang berada DI LUAR layar, jadi tidak
     ada elemen yang terpotong di area yang terlihat.
   - Sticky header tetap bekerja karena memakai
     overflow-x:clip, bukan hidden.
   - Carousel, tabs geser, dan tabel lebar tetap bisa
     digeser karena dikecualikan di blok 9.
   =========================================================
   ========================================================= *//* End custom CSS */