.elementor-41 .elementor-element.elementor-element-dfd8f93{--display:flex;--min-height:1151px;--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-41 .elementor-element.elementor-element-d4f30d8{--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-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-41 .elementor-element.elementor-element-f19484f .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:16px;font-weight:600;color:#403E3E;}.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-41 .elementor-element.elementor-element-5fe8796 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;color:#403E3E;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-41 .elementor-element.elementor-element-5a7cb0c.elementor-element{--align-self:center;}.elementor-41 .elementor-element.elementor-element-ae72271{--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-41 .elementor-element.elementor-element-b5065c9{--display:flex;--min-height:420px;--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-41 .elementor-element.elementor-element-4e6200{--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-41 .elementor-element.elementor-element-10ceb8 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-41 .elementor-element.elementor-element-8dce30{--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-41 .elementor-element.elementor-element-84ad8f .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-41 .elementor-element.elementor-element-111c15{--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-41 .elementor-element.elementor-element-7af0c2 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-41 .elementor-element.elementor-element-5e8529{--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-41 .elementor-element.elementor-element-b7e695 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-41 .elementor-element.elementor-element-hgg0001{--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-41 .elementor-element.elementor-element-hgg0001v .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-41 .elementor-element.elementor-element-hgg0002{--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-41 .elementor-element.elementor-element-hgg0002v .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-41 .elementor-element.elementor-element-hgg0003{--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-41 .elementor-element.elementor-element-hgg0003v .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-41 .elementor-element.elementor-element-hgg0004{--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-41 .elementor-element.elementor-element-hgg0004v .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-41 .elementor-element.elementor-element-hgg0005{--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-41 .elementor-element.elementor-element-hgg0005v .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-41 .elementor-element.elementor-element-hgg0006{--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-41 .elementor-element.elementor-element-hgg0006v .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-41 .elementor-element.elementor-element-hgg0007{--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-41 .elementor-element.elementor-element-hgg0007v .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-41 .elementor-element.elementor-element-hgg0008{--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-41 .elementor-element.elementor-element-hgg0008v .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-41 .elementor-element.elementor-element-0ea9395{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:32px;--padding-bottom:31px;--padding-left:0px;--padding-right:0px;}.elementor-41 .elementor-element.elementor-element-77620f0{--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-41 .elementor-element.elementor-element-051bf98{--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;--flex-wrap:wrap;}.elementor-41 .elementor-element.elementor-element-7ea9b60{--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;--flex-wrap:wrap;}.elementor-41 .elementor-element.elementor-element-a66bd17{--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:32px 32px;--row-gap:32px;--column-gap:32px;}.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-41 .elementor-element.elementor-element-2c375d6 .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-41 .elementor-element.elementor-element-abe55ba .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-41 .elementor-element.elementor-element-431fe4f .elementor-icon-box-wrapper{align-items:start;gap:15px;}.elementor-41 .elementor-element.elementor-element-e03fd3b{--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-41 .elementor-element.elementor-element-c6b84a0{--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-41 .elementor-element.elementor-element-1252fd4{--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-41 .elementor-element.elementor-element-dbc3417{--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:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-41 .elementor-element.elementor-element-d06b90d{--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-41 .elementor-element.elementor-element-ca687d3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-41 .elementor-element.elementor-element-30d485c{--display:flex;--min-height:320px;--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-41 .elementor-element.elementor-element-4b528d7 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-41 .elementor-element.elementor-element-ff129d7{--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-41 .elementor-element.elementor-element-d7775b9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-41 .elementor-element.elementor-element-90b5cbb{--display:flex;--min-height:400px;--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-41 .elementor-element.elementor-element-7d3a280 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-41 .elementor-element.elementor-element-0285508{--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-41 .elementor-element.elementor-element-a88431f{--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-41 .elementor-element.elementor-element-47d2ae6{--display:flex;--min-height:260px;--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-41 .elementor-element.elementor-element-cdbe6c1 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-41 .elementor-element.elementor-element-81593fb{--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-41 .elementor-element.elementor-element-e2d65c7{--display:flex;--min-height:480px;--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-41 .elementor-element.elementor-element-3ace4ed .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-41 .elementor-element.elementor-element-e24a191{--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-41 .elementor-element.elementor-element-bf0ea9c{--display:flex;--min-height:435px;--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-41 .elementor-element.elementor-element-2a080d9 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-41 .elementor-element.elementor-element-bd109de{--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-41 .elementor-element.elementor-element-e36ab9e{--display:flex;--min-height:315px;--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-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-41 .elementor-element.elementor-element-b372b69{--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-41 .elementor-element.elementor-element-ee0483f{--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-41 .elementor-element.elementor-element-fc0a505{--display:flex;--min-height:440px;--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-41 .elementor-element.elementor-element-89f4bf1 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-41 .elementor-element.elementor-element-dde4279{--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-41 .elementor-element.elementor-element-a3cc3f1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-41 .elementor-element.elementor-element-297ee80{--display:flex;--min-height:435px;--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-41 .elementor-element.elementor-element-59fef81 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-41 .elementor-element.elementor-element-ed7eebc{--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-41 .elementor-element.elementor-element-1cecf51{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-41 .elementor-element.elementor-element-2ed4ae2{--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-41 .elementor-element.elementor-element-ff7bf86 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-41 .elementor-element.elementor-element-ff7bf86 .elementor-button .elementor-button-content-wrapper{gap:24px;}.elementor-41 .elementor-element.elementor-element-ff7bf86 .elementor-button{padding:0px 0px 0px 0px;}.elementor-41 .elementor-element.elementor-element-710727{--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-41 .elementor-element.elementor-element-1ace18{--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-41 .elementor-element.elementor-element-5e18bd{--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;--flex-wrap:wrap;}.elementor-41 .elementor-element.elementor-element-032761{--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-41 .elementor-element.elementor-element-b200ae{--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-41 .elementor-element.elementor-element-3da0c5{--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-41 .elementor-element.elementor-element-6630cb .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-41 .elementor-element.elementor-element-a25ef1{--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-41 .elementor-element.elementor-element-c91bcd{text-align:end;}.elementor-41 .elementor-element.elementor-element-493d43{text-align:end;}.elementor-41 .elementor-element.elementor-element-2df57b4{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-41 .elementor-element.elementor-element-8a427f7{--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-41 .elementor-element.elementor-element-07c2ae4{--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-41 .elementor-element.elementor-element-83a43f3{--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:0%;--margin-bottom:0%;--margin-left:25%;--margin-right:0%;}.elementor-41 .elementor-element.elementor-element-6cd6b6a{--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-41 .elementor-element.elementor-element-bdd3a60{--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-41 .elementor-element.elementor-element-8935419{--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-41 .elementor-element.elementor-element-319ac5d{--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-41 .elementor-element.elementor-element-e45d361{--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-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-41 .elementor-element.elementor-element-1bfa0d9 .elementor-icon-wrapper{text-align:center;}.elementor-41 .elementor-element.elementor-element-cc7836f{--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-widget-testimonial .elementor-testimonial-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-widget-testimonial .elementor-testimonial-name{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-testimonial .elementor-testimonial-job{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-41 .elementor-element.elementor-element-4a7219c .elementor-testimonial-wrapper{text-align:center;}.elementor-41 .elementor-element.elementor-element-eff4d26 .elementor-testimonial-wrapper{text-align:center;}.elementor-41 .elementor-element.elementor-element-72973fc .elementor-testimonial-wrapper{text-align:center;}.elementor-41 .elementor-element.elementor-element-fe23b3f .elementor-icon-wrapper{text-align:center;}.elementor-41 .elementor-element.elementor-element-87b0ee7{--display:flex;--min-height:599px;--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-41 .elementor-element.elementor-element-8107003{--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-41 .elementor-element.elementor-element-e051ad4{--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;--flex-wrap:wrap;}.elementor-41 .elementor-element.elementor-element-538614b{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-41 .elementor-element.elementor-element-565831f{--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-41 .elementor-element.elementor-element-3606033{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:1024px){.elementor-41 .elementor-element.elementor-element-538614b{--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-41 .elementor-element.elementor-element-3606033{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(max-width:767px){.elementor-41 .elementor-element.elementor-element-e03fd3b{--min-height:0px;--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-41 .elementor-element.elementor-element-5e18bd.e-con{--e-con-transform-translateY:-32px;}.elementor-41 .elementor-element.elementor-element-538614b{--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-41 .elementor-element.elementor-element-3606033{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for heading, class: .elementor-element-f19484f */@media (max-width: 1023px) {
  :where(html:not(.hg-page-zoom)) .elementor-41 .elementor-element.elementor-element-f19484f .elementor-heading-title { font-size: 16px !important; font-weight: 400 !important; max-width: 140px; margin: 0 auto; line-height: 1.3; }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-fa45e41 */.elementor-41 .elementor-element.elementor-element-fa45e41 .hero-title, .elementor-41 .elementor-element.elementor-element-fa45e41 .hero-title-sans, .elementor-41 .elementor-element.elementor-element-fa45e41 .hero-title-serif {
  color: #F1AE11 !important;
  -webkit-text-fill-color: #F1AE11 !important;
  background: none !important;
}
.elementor-41 .elementor-element.elementor-element-fa45e41 .hero-title-sans {
  font-family: 'Playfair Display', serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
}
.elementor-41 .elementor-element.elementor-element-fa45e41 .hero-title-serif {
  font-family: 'Playfair Display', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
}

@media (min-width: 768px) /* hg-zoom A12: was 1024px */ {
  .elementor-41 .elementor-element.elementor-element-fa45e41 .hero-title, .elementor-41 .elementor-element.elementor-element-fa45e41 .hero-title-sans, .elementor-41 .elementor-element.elementor-element-fa45e41 .hero-title-serif {
    font-size: 60px !important;
    line-height: 1.04 !important;
  }
}
@media (max-width: 1023px) {
  :where(html:not(.hg-page-zoom)) .elementor-41 .elementor-element.elementor-element-fa45e41 .hero-title, :where(html:not(.hg-page-zoom)) .elementor-41 .elementor-element.elementor-element-fa45e41 .hero-title-sans, :where(html:not(.hg-page-zoom)) .elementor-41 .elementor-element.elementor-element-fa45e41 .hero-title-serif {
    font-size: 36px !important;
    line-height: 1.15 !important;
  }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-5fe8796 */@media (min-width: 768px) /* hg-zoom A12: was 1024px */ {
  .elementor-41 .elementor-element.elementor-element-5fe8796 .elementor-heading-title { max-width: 510px; margin: 11px auto 0; line-height: 1.5; }
}
@media (max-width: 1023px) {
  :where(html:not(.hg-page-zoom)) .elementor-41 .elementor-element.elementor-element-5fe8796 .elementor-heading-title { max-width: 290px; margin: 10px auto 0; font-size: 14px !important; line-height: 1.4; }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-5a7cb0c */@media (min-width: 768px) /* hg-zoom A12: was 1024px */ {
  .elementor-41 .elementor-element.elementor-element-5a7cb0c { margin-top: 15px; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dfd8f93 *//* Home mobile — Instagram / Check Us Out! (Elementor 538614b).
   Source reference: Main Landing Mobile.svg, y=4128–4704. */
@media (max-width: 767px) {

  .elementor-41 .elementor-element.elementor-element-538614b {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }



  .elementor-41 .elementor-element-538614b .section-social {
    margin: 0 !important;
    padding: 0 0 6.36vw !important;
    background: #F1F3F7 !important;
    overflow: hidden;
    text-align: center;
  }



  .elementor-41 .elementor-element-538614b .section-social .container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 6.14vw 0 0 !important;
  }



  .elementor-41 .elementor-element-538614b .section-title--social {
    margin: 0 0 2.73vw !important;
    font-size: 5.45vw !important;
    font-weight: var(--font-semibold) !important;
    line-height: 1.18 !important;
  }



  .elementor-41 .elementor-element-538614b .section-desc--social {
    width: 76.82vw !important;
    max-width: none !important;
    margin: 0 auto 4.77vw !important;
    color: #403E3E !important;
    font-size: 3.18vw !important;
    line-height: 1.43 !important;
  }



  .elementor-41 .elementor-element-538614b .social-handle {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    width: 77.27vw !important;
    max-width: none !important;
    min-height: 7.73vw !important;
    margin: 0 auto 7.5vw !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }



  .elementor-41 .elementor-element-538614b .social-handle-left,
  .elementor-41 .elementor-element-538614b .social-handle-right {
    display: flex !important;
    align-items: center;
  }



  .elementor-41 .elementor-element-538614b .social-handle-left-inner {
    gap: 2.73vw !important;
    justify-content: flex-start !important;
  }



  .elementor-41 .elementor-element-538614b .social-handle-avatar {
    width: 5.91vw !important;
    height: 5.91vw !important;
  }



  .elementor-41 .elementor-element-538614b .social-handle-name {
    color: #6D758F !important;
    font-size: 2.95vw !important;
    font-weight: var(--font-semibold) !important;
    white-space: nowrap !important;
  }



  .elementor-41 .elementor-element-538614b .social-handle-verified {
    width: 4.55vw !important;
    height: 4.55vw !important;
    margin-left: 0 !important;
  }



  .elementor-41 .elementor-element-538614b .social-handle-btn {
    width: 23.55vw !important;
    min-height: 7.73vw !important;
    padding: 0 !important;
    border-radius: 1.82vw !important;
    font-size: 2.95vw !important;
    line-height: 1 !important;
    justify-content: center;
  }



  .elementor-41 .elementor-element-538614b .social-handle-btn-icon {
    width: 4.09vw !important;
    height: 4.09vw !important;
  }



  .elementor-41 .elementor-element-538614b .social-feed,
  .elementor-41 .elementor-element-538614b .section-social.is-slideshow .social-feed {
    display: flex !important;
    width: 100vw !important;
    max-width: none !important;
    margin: 0 0 0 calc(50% - 50vw) !important;
    gap: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    touch-action: pan-x;
  }



  .elementor-41 .elementor-element-538614b .social-feed::-webkit-scrollbar {
    display: none;
  }



  .elementor-41 .elementor-element-538614b .social-feed .social-feed-item,
  .elementor-41 .elementor-element-538614b .section-social.is-slideshow .social-feed .social-feed-item {
    flex: 0 0 50% !important;
    width: 50% !important;
    min-width: 50% !important;
    max-width: 50% !important;
    aspect-ratio: 220 / 291 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }



  .elementor-41 .elementor-element-538614b .social-feed .social-feed-item:nth-child(odd) {
    background: #F8FAFF !important;
  }



  .elementor-41 .elementor-element-538614b .social-feed .social-feed-item:nth-child(even) {
    background: #F1F3F7 !important;
  }



  .elementor-41 .elementor-element-538614b .social-feed-placeholder {
    width: 8.61vw !important;
    height: 8.61vw !important;
    color: #6D758F !important;
  }



  .elementor-41 .elementor-element-538614b .social-pagination {
    gap: 2.27vw !important;
    margin-top: 7.05vw !important;
  }



  .elementor-41 .elementor-element-538614b .social-pagination-dot {
    width: 2.27vw !important;
    height: 2.27vw !important;
  }
}



/* This Elementor HTML widget only contains the old, zero-sized SVG clipPath.
   The live curve is now produced by `.hero-gallery`'s CSS clip-path, so the
   otherwise empty widget must not remain as a flex child before the track. */
.elementor-41 .elementor-element.elementor-element-ae72271.hero-gallery {
  --gap: 0px !important;
  --row-gap: 0px !important;
  --column-gap: 0px !important;
  gap: 0 !important;
}



.elementor-41 .elementor-element.elementor-element-2b05a47 {
  display: none !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}



/* The desktop reference has the gallery running from one viewport edge to
   the other.  The gallery lives inside the centred `.container`, so its
   viewport must break out of that container before the scroll track can use
   the full screen width. */
@media (min-width: 768px) {


  .elementor-41 .elementor-element.elementor-element-ae72271.hero-gallery,
  .elementor-41 .elementor-element.elementor-element-b5065c9.hero-gallery-track {
    width: var(--hg-page-w, 100vw) !important;
    max-width: var(--hg-page-w, 100vw) !important;
  }



  .elementor-41 .elementor-element.elementor-element-ae72271.hero-gallery {
    position: relative;
    left: 50%;
    margin-left: calc(var(--hg-page-w, 100vw) / -2) !important;
    margin-right: calc(var(--hg-page-w, 100vw) / -2) !important;
  }



  .elementor-41 .elementor-element.elementor-element-b5065c9.hero-gallery-track {
    left: auto;
    margin: 0 !important;
  }



  /* Client feedback (FEEDBACK-CHECKLIST.md, Main Page #1): Figma has each
     card sized by its own photo's aspect ratio (varies card-to-card), not
     a uniform width — `flex: 0 0 max(380px, 28vw)` forced every card to
     the exact same ~400px box regardless of its image's own shape, which
     also meant `object-fit:cover` cropped wider/narrower photos to fit
     that fixed box instead of showing them at their natural width.
     Needs a DEFINITE track/item height for this to work at all: the img
     below is `width:auto; height:100%`, and a percentage height only
     resolves against a definite containing-block height — with the
     previous `height:auto!important` chain (both here and on the
     track/gallery two rules down), that percentage fell back to the
     image's own intrinsic pixel size instead (verified live: portrait
     1080x1920 source clips were rendering at their full native 1920px
     height, ballooning the whole row). Restoring a fixed height lets each
     image's `width:auto` instead resolve via its own intrinsic aspect
     ratio at that shared height — same-height, varying-width cards,
     matching Figma. */
  .elementor-41 .hero-gallery-track>.hero-gallery-item {
    flex: 0 0 auto;
    width: auto;
    min-width: 180px;
    height: 420px !important;
    align-self: stretch;
  }



  .elementor-41 .elementor-element.elementor-element-ae72271.hero-gallery,
  .elementor-41 .elementor-element.elementor-element-b5065c9.hero-gallery-track {
    height: 420px !important;
    min-height: 0 !important;
  }



  .elementor-41 .elementor-element.elementor-element-b5065c9.hero-gallery-track {
    align-items: stretch;
  }



  /* Targeted `.elementor-widget-image` only, so any *other* widget type
     used for a gallery slide (this row mixes native Elementor image
     widgets with plain-HTML `<video>` widgets — see main.js/functions.php:
     the 2 video slides are raw `<video>` tags via an HTML widget, not a
     swapped-in `<img>`) never got a definite height on its own
     `.elementor-element` wrapper. Same "definite height doesn't reach the
     replaced element" problem as the item-level fix above, just one level
     up the tree: with the wrapper stuck at `height:auto`, `video`'s own
     `height:100%` (below) had nothing to resolve against and fell back to
     the clip's native 1920px, blowing the card out. Targeting the generic
     `.elementor-element` wrapper (every Elementor widget gets this class
     regardless of type) instead of enumerating widget-type classes covers
     both, and any future slide type. */
  .elementor-41 .hero-gallery-track>.hero-gallery-item .elementor-element,
  .elementor-41 .hero-gallery-track>.hero-gallery-item img,
  .elementor-41 .hero-gallery-track>.hero-gallery-item video {
    height: 100% !important;
  }



  .elementor-41 .hero-gallery-track>.hero-gallery-item img {
    object-fit: cover;
  }
}



/* On phones the gallery must also ignore the content container's gutters;
   the track remains horizontally scrollable so the existing swipe gesture is
   preserved. */
@media (max-width: 767px) {

  .elementor-41 .elementor-element.elementor-element-ae72271.hero-gallery {
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative;
    /* The mobile `.container` adds a 20px inline gutter. Offset that
       gutter directly, rather than relying on the desktop centring trick. */
    left: 0 !important;
    margin-left: calc(-1 * var(--container-padding)) !important;
    margin-right: calc(-1 * var(--container-padding)) !important;
  }



  .elementor-41 .elementor-element.elementor-element-b5065c9.hero-gallery-track {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    /* Elementor applies container padding through these custom properties;
       reset the properties themselves so no inline-start gutter remains. */
    --padding-left: 0px !important;
    --padding-right: 0px !important;
    --padding-inline-start: 0px !important;
    --padding-inline-end: 0px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    justify-content: flex-start;
  }
}



/* The nested Elementor track needs its own viewport breakout. This covers
   phone and tablet widths, where the parent gallery alone cannot cancel an
   inherited inline container offset. */
@media (max-width: 1024px) {

  :where(html:not(.hg-page-zoom)) .elementor-41 .elementor-element.elementor-element-b5065c9.hero-gallery-track {
    width: var(--hg-page-w, 100vw) !important;
    max-width: var(--hg-page-w, 100vw) !important;
    position: relative !important;
    left: calc(50% - calc(var(--hg-page-w, 100vw) / 2)) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}



/* Elementor containers use logical padding/margin variables. Reset them on
   both the scrolling track and its first-level cards so the first photo has
   no invisible internal gutter before it. */
.elementor-41 .elementor-element.elementor-element-b5065c9.hero-gallery-track,
.elementor-41 .elementor-element.elementor-element-b5065c9.hero-gallery-track>.hero-gallery-item {
  --padding-left: 0px !important;
  --padding-right: 0px !important;
  --padding-inline-start: 0px !important;
  --padding-inline-end: 0px !important;
  --margin-left: 0px !important;
  --margin-right: 0px !important;
  --margin-inline-start: 0px !important;
  --margin-inline-end: 0px !important;
  padding-inline: 0 !important;
  margin-inline: 0 !important;
}



.elementor-41 .elementor-element.elementor-element-965db10,
.elementor-41 .elementor-element.elementor-element-965db10 .section-title--offer {
  text-align: right;
}



.elementor-41 .elementor-element.elementor-element-07c2ae4.offer-split,
.elementor-element.elementor-element-07c2ae4.e-flex.e-con-full.offer-split.e-con.e-parent.e-lazyloaded {
  width: var(--hg-page-w, 100vw) !important;
  max-width: var(--hg-page-w, 100vw) !important;
  position: relative;
  left: 50%;
  margin-left: calc(var(--hg-page-w, 100vw) / -2) !important;
  margin-right: calc(var(--hg-page-w, 100vw) / -2) !important;
  padding-right: 0 !important;
  overflow: hidden;
}



/* Keep the desktop composition full-bleed without the paired negative margins
   used by the old breakout.  The standard full-bleed offset is anchored to the
   container's centre, so it preserves the intended viewport width while the
   section remains in normal document flow. */
@media (min-width: 768px) /* hg-zoom A12: was 1025px */ {

  .elementor-41 .elementor-element.elementor-element-2df57b4.section-offer {
    padding-top: calc(var(--section-padding-y) + clamp(98px, calc(calc(var(--hg-page-w, 100vw) * 12 / 100) - 62px), 218px)) !important;
  }
}



/* Elementor renders the next control with Font Awesome's solid arrow.
   Replace that heavy glyph with a lightweight white arrow while retaining
   the existing clickable icon widget. */
.elementor-41 .elementor-element.elementor-element-fe23b3f.offer-next,
.elementor-41 .elementor-element.elementor-element-fe23b3f.offer-next .elementor-icon {
  color: var(--color-white) !important;
}



.elementor-41 .elementor-element.elementor-element-fe23b3f.offer-next .elementor-icon svg {
  display: none;
}



.elementor-41 .elementor-element.elementor-element-fe23b3f.offer-next .elementor-icon::before {
  content: "\2192";
  color: currentColor;
  font-family: Arial, sans-serif;
  font-size: 22px;
  font-weight: var(--font-normal);
  line-height: 1;
}



/* Keep both testimonial navigation buttons visually consistent by default;
   the previous button's former muted treatment is reserved for hover. */
.elementor-41 .elementor-element.elementor-element-1bfa0d9.offer-prev {
  background: var(--color-blue) !important;
  border: none !important;
  color: var(--color-white) !important;
}



.elementor-41 .elementor-element.elementor-element-1bfa0d9.offer-prev .elementor-icon svg {
  display: none;
}



.elementor-41 .elementor-element.elementor-element-1bfa0d9.offer-prev .elementor-icon::before {
  content: "\2190";
  color: currentColor;
  font-family: Arial, sans-serif;
  font-size: 22px;
  font-weight: var(--font-normal);
  line-height: 1;
}



.elementor-41 .elementor-element.elementor-element-1bfa0d9.offer-prev:hover,
.elementor-41 .elementor-element.elementor-element-1bfa0d9.offer-prev:focus-visible {
  background: var(--color-surface-alt) !important;
  border: 1px solid var(--color-border-soft) !important;
  color: var(--color-text-secondary) !important;
  opacity: 1;
}



/* Both navigation arrows retain the same white icon color in every state. */
.elementor-41 .elementor-element.elementor-element-1bfa0d9.offer-prev .elementor-icon,
.elementor-41 .elementor-element.elementor-element-1bfa0d9.offer-prev .elementor-icon::before,
.elementor-41 .elementor-element.elementor-element-fe23b3f.offer-next .elementor-icon,
.elementor-41 .elementor-element.elementor-element-fe23b3f.offer-next .elementor-icon::before {
  color: var(--color-white) !important;
}



/* Prev and next share one hover/focus treatment. */
.elementor-41 .elementor-element.elementor-element-1bfa0d9.offer-prev:hover,
.elementor-41 .elementor-element.elementor-element-1bfa0d9.offer-prev:focus-visible,
.elementor-41 .elementor-element.elementor-element-fe23b3f.offer-next:hover,
.elementor-41 .elementor-element.elementor-element-fe23b3f.offer-next:focus-visible {
  background: var(--color-surface-alt) !important;
  border: 1px solid var(--color-border-soft) !important;
  color: #000000 !important;
  opacity: 1;
}



.elementor-41 .elementor-element.elementor-element-1bfa0d9.offer-prev:hover .elementor-icon,
.elementor-41 .elementor-element.elementor-element-1bfa0d9.offer-prev:hover .elementor-icon::before,
.elementor-41 .elementor-element.elementor-element-1bfa0d9.offer-prev:focus-visible .elementor-icon,
.elementor-41 .elementor-element.elementor-element-1bfa0d9.offer-prev:focus-visible .elementor-icon::before,
.elementor-41 .elementor-element.elementor-element-fe23b3f.offer-next:hover .elementor-icon,
.elementor-41 .elementor-element.elementor-element-fe23b3f.offer-next:hover .elementor-icon::before,
.elementor-41 .elementor-element.elementor-element-fe23b3f.offer-next:focus-visible .elementor-icon,
.elementor-41 .elementor-element.elementor-element-fe23b3f.offer-next:focus-visible .elementor-icon::before {
  color: #000000 !important;
}



/* Client feedback (FEEDBACK-CHECKLIST.md, Main Page #3): homepage heading
   too small vs Figma. Scoped to the homepage (`.elementor-41`) rather
   than the shared `.contact-info-title` base rule above, since this same
   class/template (`parts/section-contact.php`) is reused on every service
   page. */
.elementor-41 .contact-info-title {
  font-size: clamp(1.75rem, calc(var(--hg-page-w, 100vw) * 2.6 / 100), 2.5rem);
}



@media (min-width: 768px) /* hg-zoom A12: was 1025px */ {

  .elementor-41 .elementor-element.elementor-element-319ac5d.offer-content-wrapper {
    padding-right: var(--container-padding) !important;
  }



  /* Keep the heading within the testimonial-card area, with a small visual
     correction to line its right-aligned copy up with the card. */
  .elementor-41 .elementor-element.elementor-element-965db10 {
    margin-left: calc(44px + var(--space-8)) !important;
    margin-right: calc(44px + (2 * var(--space-8))) !important;
  }
}



.elementor-41 .elementor-element.elementor-element-b200ae.e-con-full.bespoke-media-back.e-flex.e-con.e-parent.e-lazyloaded {
  overflow: visible !important;
}



.bespoke-media-back>.elementor-widget-image,
.elementor-41 .elementor-element.elementor-element-b200ae.e-con-full.bespoke-media-back.e-flex.e-con.e-parent.e-lazyloaded>.elementor-widget-image {
  position: absolute;
  inset: 0;
  overflow: visible !important;
}



.bespoke-media-back img,
.elementor-41 .elementor-element.elementor-element-b200ae.e-con-full.bespoke-media-back.e-flex.e-con.e-parent.e-lazyloaded img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  overflow: visible !important;
}



.elementor-41 .elementor-element.elementor-element-3da0c5.bespoke-media-front,
.elementor-41 .elementor-element.elementor-element-3da0c5.bespoke-media-front .elementor-image,
.elementor-41 .elementor-element.elementor-element-3da0c5.bespoke-media-front .elementor-image a,
.elementor-41 .elementor-element.elementor-element-3da0c5.bespoke-media-front .elementor-image img {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}



.elementor-41 .elementor-element.elementor-element-3da0c5.bespoke-media-front .elementor-image {
  overflow: hidden !important;
}



.elementor-41 .elementor-element.elementor-element-3da0c5.bespoke-media-front .elementor-image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  transform: none !important;
}



/* Tighter horizontal padding for this specific Elementor container (override excessive container padding) */
.elementor-41 .elementor-element.elementor-element-1ace18.e-con-full.container.e-con.e-parent.e-lazyloaded {
  padding-left: 16px !important;
  padding-right: 16px !important;
  margin-top: -40px !important;
}



/* Pull bespoke split section upward to visually align with mockup */
.elementor-41 .elementor-element.elementor-element-5e18bd.bespoke-split {
  width: 100% !important;
  max-width: 100% !important;
  position: relative;
  left: auto;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
}



/* Make the specific image taller by 100px and push it down 100px (offsite bottom) */
.elementor-41 .elementor-element.elementor-element-9a5c06.elementor-widget.elementor-widget-image {
  overflow: visible !important;
  /* allow image to be visible outside its box */
  position: relative !important;
}



.elementor-41 .elementor-element.elementor-element-9a5c06.elementor-widget.elementor-widget-image img {
  display: block !important;
  width: 120% !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  transform: translateX(0) translateY(0) scale(1.12) !important;
  -webkit-transform: translateX(0) translateY(0) scale(1.12) !important;
}



/* Make elementor-element-6630cb image follow its content layout exactly */
.elementor-41 .elementor-element.elementor-element-6630cb.elementor-widget.elementor-widget-image,
.elementor-41 .elementor-element.elementor-element-6630cb.elementor-widget.elementor-widget-image * {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: none !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  line-height: 0 !important;
}



.elementor-41 .elementor-element.elementor-element-6630cb.elementor-widget.elementor-widget-image {
  overflow: hidden !important;
  background: transparent !important;
}



.elementor-41 .elementor-element.elementor-element-6630cb.elementor-widget.elementor-widget-image .elementor-image {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  height: 100% !important;
}



.elementor-41 .elementor-element.elementor-element-6630cb.elementor-widget.elementor-widget-image .elementor-image a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}



.elementor-41 .elementor-element.elementor-element-6630cb.elementor-widget.elementor-widget-image .elementor-image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: none !important;
}



/* ===========================================================================
   Mobile home-page composition

   The Elementor home page remains the source of the content, while this
   scoped layer follows the editorial composition in
   ui_png/mobile/Main Landing Mobile.png: centred value statements, a single
   full-bleed services promo, compact product cards, and airy white sections.
   Keeping it under .elementor-41 ensures that service and content pages keep
   their own responsive layouts.
   =========================================================================== */
@media (max-width: 767px) {

  .elementor-41 {
    --mobile-page-gutter: 20px;
  }



  .elementor-41 .hero {
    margin-top: 0;
    padding-top: 32px;
    background: #ffffff;
  }



  .elementor-41 .hero-intro {
    margin-bottom: 10px;
    font-size: 0.875rem;
    line-height: 1.25;
  }



  .elementor-41 .hero-title {
    margin-bottom: 18px;
    font-size: 1.5rem;
    line-height: 1.12;
  }



  .elementor-41 .hero-desc {
    max-width: 340px !important;
    margin-bottom: 24px;
    font-size: 0.95rem;
    line-height: 1.4;
  }



  .elementor-41 .elementor-widget-button.hero-cta.btn .elementor-button {
    min-height: 38px;
    padding: 10px 22px;
    font-size: 0.875rem;
    line-height: 1;
  }



  /* Values: the source mockup uses three centred vertical statements rather
     than a desktop-style icon-and-copy row. */
  .elementor-41 .section-features {
    padding: 56px 0 60px;
  }



  .elementor-41 .features-split {
    display: block !important;
    margin: 0;
    padding: 0;
    gap: 0 !important;
    --gap: 0px !important;
    --row-gap: 0px !important;
  }



  .elementor-41 .elementor-element-7ea9b60.features-split-text {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: none;
    text-align: center;
    gap: 0 !important;
    --gap: 0px !important;
    --row-gap: 0px !important;
    /* Explicit separation from the values list below. This must live on the
       container, not the final paragraph, so Elementor margin handling
       cannot collapse or shorten the intended mobile rhythm. */
    margin-bottom: 48px !important;
  }



  .elementor-41 .section-title--features {
    max-width: 340px;
    margin: 0 auto 24px;
    font-size: 1.5625rem;
    line-height: 1.2;
    letter-spacing: 0;
  }



  /* Elementor supplies four semantic spans, while the mobile mockup composes
     them as two editorial lines. Let the text flow naturally inside the
     measured heading instead of forcing every source span onto a new line. */
  .elementor-41 .elementor-element-7ea9b60 .section-title--features .section-title-line {
    display: inline;
  }



  .elementor-41 .section-desc--features {
    max-width: 320px !important;
    margin: 0 auto;
    font-size: 1.125rem;
    line-height: 1.22;
  }



  .elementor-41 .features-list {
    display: flex !important;
    flex-direction: column;
    gap: 24px !important;
    width: 100%;
  }



  .elementor-41 .features-list .thegrail-feature-box {
    width: 100%;
    margin: 0 !important;
  }



  .elementor-41 .thegrail-feature-box .elementor-icon-box-wrapper {
    display: flex !important;
    flex-direction: column;
    align-items: center !important;
    gap: 16px;
    text-align: center;
  }



  .elementor-41 .thegrail-feature-box .elementor-icon-box-icon {
    width: 48px !important;
    height: 48px !important;
    /* Match the desktop pastel-circle fix (Main Page #5). */
    border-radius: 50% !important;
  }



  .elementor-41 .thegrail-feature-box .elementor-icon-box-content {
    max-width: 320px;
    text-align: center !important;
  }



  .elementor-41 .thegrail-feature-box .elementor-icon-box-title {
    margin-bottom: 10px !important;
    font-size: 1rem !important;
    line-height: 1.25;
  }



  .elementor-41 .thegrail-feature-box .elementor-icon-box-description {
    font-size: 1.125rem !important;
    line-height: 1.22 !important;
  }



  /* The mobile mockup treats the recommendations as a single 440 × 475
     editorial card: the copy is left aligned and the two product images are
     deliberately different sizes and heights. */
  .elementor-41 .section-uploads {
    padding: 54px 0 0;
    overflow: hidden;
  }



  .elementor-41 .section-uploads>.container,
  .elementor-41 .section-uploads .elementor-element-c6b84a0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    gap: 0 !important;
    --gap: 0px !important;
    --row-gap: 0px !important;
  }



  .elementor-41 .section-uploads .uploads-header {
    display: block !important;
    margin: 0;
    padding: 0 var(--mobile-page-gutter) 34px;
    text-align: center;
  }



  .elementor-41 .section-uploads .section-title--uploads {
    max-width: 340px;
    margin: 0 auto 16px !important;
    font-size: 1.5rem;
    line-height: 1.18;
    letter-spacing: -0.025em;
  }



  .elementor-41 .section-uploads .uploads-desc,
  .elementor-41 .section-uploads .uploads-desc .elementor-heading-title {
    max-width: 350px !important;
    margin: 0 auto !important;
    font-size: 0.95rem;
    line-height: 1.42;
  }



  .elementor-41 .section-uploads .recommended-columns {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 440 / 475;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: linear-gradient(90deg, #F26AAA 0%, #F1AE11 100%);
  }



  .elementor-41 .section-uploads .elementor-element-d06b90d,
  .elementor-41 .section-uploads .elementor-element-a88431f,
  .elementor-41 .section-uploads .elementor-element-ee0483f {
    display: contents !important;
  }



  .elementor-41 .section-uploads .recommended-columns .recommended-card-text:not([data-id="ca687d3"]),
  .elementor-41 .section-uploads .recommended-columns .recommended-card-photo:not([data-id="47d2ae6"]):not([data-id="fc0a505"]) {
    display: none !important;
  }



  .elementor-41 .section-uploads .elementor-element-ca687d3 {
    position: absolute !important;
    top: 7.16%;
    left: 14.55%;
    display: flex !important;
    width: 70.9% !important;
    min-height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    text-align: left;
  }



  .elementor-41 .section-uploads .elementor-element-ca687d3 .elementor-widget-text-editor {
    width: 100%;
    max-width: none;
    margin: 0;
  }



  .elementor-41 .section-uploads .elementor-element-ca687d3 .recommended-card-title {
    margin: 0 0 10px;
    font-family: var(--font-serif);
    font-size: clamp(1.375rem, 6.8vw, 1.875rem);
    line-height: 1.18;
  }



  .elementor-41 .section-uploads .elementor-element-ca687d3 .recommended-card-desc {
    margin: 0;
    font-size: clamp(0.85rem, 4.09vw, 1.125rem);
    line-height: 1.22;
  }



  .elementor-41 .section-uploads .elementor-element-47d2ae6,
  .elementor-41 .section-uploads .elementor-element-fc0a505 {
    position: absolute !important;
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    box-shadow: 0 5px 12px rgba(15, 23, 42, 0.2);
  }



  .elementor-41 .section-uploads .elementor-element-47d2ae6 {
    display: block !important;
    top: 44.63%;
    left: 19.32%;
    width: 28.41% !important;
    aspect-ratio: 1;
  }



  .elementor-41 .section-uploads .elementor-element-fc0a505 {
    display: block !important;
    top: 37.05%;
    left: 54.55%;
    width: 26.36% !important;
    aspect-ratio: 116 / 198;
  }



  .elementor-41 .section-uploads .recommended-card-photo>.elementor-widget-image,
  .elementor-41 .section-uploads .recommended-card-photo>.elementor-widget-image .elementor-widget-container,
  .elementor-41 .section-uploads .recommended-card-photo>.elementor-widget-image .elementor-image,
  .elementor-41 .section-uploads .recommended-card-photo>.elementor-widget-image a {
    position: absolute !important;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
  }



  .elementor-41 .section-uploads .recommended-card-photo img,
  .elementor-41 .section-uploads .recommended-card-photo video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }



  .elementor-41 .section-uploads .recommended-card-badge {
    inset: auto 0 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 0;
    height: 25.6%;
    padding: 0;
    border: 0;
    border-radius: 0 0 8px 8px;
    background: linear-gradient(90deg, rgba(242, 106, 170, 0.88), rgba(241, 174, 17, 0.88));
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }



  .elementor-41 .section-uploads .elementor-element-fc0a505 .recommended-card-badge {
    height: 22.73%;
  }



  .elementor-41 .section-uploads .recommended-card-badge>.elementor-widget-heading,
  .elementor-41 .section-uploads .recommended-card-badge .elementor-widget-container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 83%;
    height: 80%;
    padding: 0 3px;
    border: 1px solid rgba(255, 255, 255, 0.92);
    border-radius: 4px;
  }



  .elementor-41 .section-uploads .recommended-card-badge .elementor-heading-title {
    color: #ffffff;
    font-size: clamp(0.5rem, 2.27vw, 0.625rem);
    font-weight: var(--font-semibold);
    line-height: 1.1;
  }



  .elementor-41 .section-uploads [data-id="2ed4ae2"] {
    position: relative;
    z-index: 1;
    display: flex !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: -16.59vw 0 0 !important;
    padding: 0 0 7.5vw !important;
    background: linear-gradient(90deg, #F26AAA 0%, #F1AE11 100%);
  }



  .elementor-41 .section-uploads [data-id="2ed4ae2"] .elementor-button {
    width: 43.18vw;
    min-height: 9.09vw;
    padding: 0 12px;
    border-radius: 6px;
    background: #ffffff !important;
    color: #ed6f88 !important;
    font-size: 0.8rem;
    font-weight: var(--font-semibold);
    box-shadow: 0 3px 5px rgba(80, 37, 50, 0.25);
  }



  /* The artwork is a four-card horizontal carousel at this breakpoint. The
     cards are built from the Elementor source nodes in main.js so a finger
     swipe always advances one complete 440px-style panel. */
  .elementor-41 .section-uploads .recommended-columns,
  .elementor-41 .section-uploads .elementor-element-c6b84a0>[data-id="2ed4ae2"] {
    display: none !important;
  }



  .elementor-41 .section-uploads .recommended-mobile-carousel {
    display: flex;
    width: 100vw;
    max-width: none;
    margin: 0 0 0 calc(50% - 50vw);
    padding: 0;
    gap: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 0;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    touch-action: pan-x;
  }



  .elementor-41 .section-uploads .recommended-mobile-carousel::-webkit-scrollbar {
    display: none;
  }



  .elementor-41 .section-uploads .recommended-mobile-slide {
    position: relative;
    flex: 0 0 100%;
    width: 100%;
    min-height: 0;
    aspect-ratio: 440 / 475;
    overflow: hidden;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    background: linear-gradient(90deg, #F26AAA 0%, #F1AE11 100%);
  }



  .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-copy {
    position: absolute !important;
    top: 7.16%;
    left: 14.55%;
    display: block !important;
    width: 70.9% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    text-align: left;
  }



  .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-copy-title {
    margin: 0 0 10px !important;
    color: #ffffff !important;
    font-family: var(--font-serif);
    font-size: clamp(1.375rem, 6.8vw, 1.875rem) !important;
    font-style: italic;
    line-height: 1.18 !important;
    white-space: normal !important;
  }



  .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-copy-desc {
    width: 100% !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(0.85rem, 4.09vw, 1.125rem) !important;
    line-height: 1.22 !important;
  }



  .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-photo {
    position: absolute !important;
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    box-shadow: 0 5px 12px rgba(15, 23, 42, 0.2);
  }



  .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-photo img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }



  .elementor-41 .section-uploads .recommended-mobile-slide--holographic .recommended-mobile-photo--one {
    top: 44.63%;
    left: 19.32%;
    width: 28.41% !important;
    aspect-ratio: 1;
  }



  .elementor-41 .section-uploads .recommended-mobile-slide--holographic .recommended-mobile-photo--two {
    top: 37.05%;
    left: 54.55%;
    width: 26.36% !important;
    aspect-ratio: 116 / 198;
  }



  .elementor-41 .section-uploads .recommended-mobile-slide--interactive .recommended-mobile-photo--one,
  .elementor-41 .section-uploads .recommended-mobile-slide--immersive .recommended-mobile-photo--one,
  .elementor-41 .section-uploads .recommended-mobile-slide--tangible .recommended-mobile-photo--one {
    top: 37.05%;
    left: 20.23%;
    width: 27.27% !important;
    aspect-ratio: 120 / 198;
  }



  .elementor-41 .section-uploads .recommended-mobile-slide--interactive .recommended-mobile-photo--two {
    top: 37.05%;
    left: 53.41%;
    width: 25.23% !important;
    aspect-ratio: 111 / 198;
  }



  .elementor-41 .section-uploads .recommended-mobile-slide--immersive .recommended-mobile-photo--one,
  .elementor-41 .section-uploads .recommended-mobile-slide--immersive .recommended-mobile-photo--two {
    top: 37.05%;
    width: 30% !important;
    aspect-ratio: 132 / 198;
  }



  .elementor-41 .section-uploads .recommended-mobile-slide--immersive .recommended-mobile-photo--two {
    left: 53.41%;
  }



  .elementor-41 .section-uploads .recommended-mobile-slide--tangible .recommended-mobile-photo--one {
    width: 29.32% !important;
    aspect-ratio: 129 / 198;
  }



  .elementor-41 .section-uploads .recommended-mobile-slide--tangible .recommended-mobile-photo--two {
    top: 52.42%;
    left: 52.95%;
    width: 28.41% !important;
    aspect-ratio: 1;
  }



  .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-badge {
    position: absolute !important;
    inset: auto 0 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 0 !important;
    height: 22.73% !important;
    padding: 0 !important;
    border: 0;
    border-radius: 0 0 8px 8px;
    background: linear-gradient(90deg, rgba(242, 106, 170, 0.88), rgba(241, 174, 17, 0.88));
    box-shadow: none;
  }



  .elementor-41 .section-uploads .recommended-mobile-slide--holographic .recommended-mobile-photo--one .recommended-mobile-badge,
  .elementor-41 .section-uploads .recommended-mobile-slide--tangible .recommended-mobile-photo--two .recommended-mobile-badge {
    height: 25.6% !important;
  }



  .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-badge-label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 83%;
    height: 80%;
    margin: 0;
    padding: 0 3px;
    border: 1px solid rgba(255, 255, 255, 0.92);
    border-radius: 4px;
    box-sizing: border-box;
  }



  .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-badge-label {
    color: #ffffff;
    font-size: clamp(0.5rem, 2.27vw, 0.625rem) !important;
    font-weight: var(--font-semibold);
    line-height: 1.1;
  }



  .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-cta {
    position: absolute !important;
    z-index: 1;
    bottom: 6.95%;
    left: 28.41%;
    display: flex !important;
    width: 43.18% !important;
    height: 8.42%;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    align-items: center;
    justify-content: center;
    text-decoration: none;
  }



  .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-cta {
    min-height: 0;
    padding: 0 10px;
    box-sizing: border-box;
    border-radius: 6px;
    background: #ffffff !important;
    color: #ed6f88 !important;
    font-size: clamp(0.625rem, 3.64vw, 1rem) !important;
    font-weight: var(--font-semibold);
    line-height: 1;
    box-shadow: 0 3px 5px rgba(80, 37, 50, 0.25);
  }



  /* The reference has a compact, side-by-side editorial composition: one
     portrait on the left, a three-line title on the right, then the body
     copy beneath both. */
  .elementor-41 .section-bespoke {
    padding: 0;
    overflow: hidden;
  }



  .elementor-41 .section-bespoke .container,
  .elementor-41 .section-bespoke .elementor-element-1ace18 {
    padding: 0 !important;
    margin-top: 0 !important;
  }



  .elementor-41 .section-bespoke .bespoke-split {
    position: relative !important;
    display: block !important;
    width: 100vw !important;
    max-width: none !important;
    height: 103.41vw;
    min-height: 0 !important;
    margin: 0 0 0 calc(50% - 50vw) !important;
  }



  .elementor-41 .section-bespoke .bespoke-media {
    position: absolute !important;
    top: 9.77vw;
    left: 10.23vw;
    width: 36.36vw !important;
    height: 51.82vw;
    min-height: 0 !important;
    margin: 0 !important;
  }



  .elementor-41 .section-bespoke .bespoke-media-back {
    display: none !important;
  }



  .elementor-41 .section-bespoke .bespoke-media-front {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    border-radius: 8px;
    overflow: hidden !important;
  }



  .elementor-41 .section-bespoke .bespoke-media-front img,
  .elementor-41 .section-bespoke .elementor-element-6630cb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transform: none !important;
  }



  .elementor-41 .section-bespoke .bespoke-content {
    display: contents !important;
  }



  .elementor-41 .section-bespoke .elementor-element-c91bcd {
    position: absolute !important;
    top: 13.18vw;
    left: 51.59vw;
    width: 43.2vw !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left;
  }



  .elementor-41 .section-bespoke .section-title--bespoke {
    margin: 0 !important;
    color: transparent !important;
    background: linear-gradient(90deg, #F26AAA 0%, #F1AE11 100%);
    -webkit-background-clip: text;
    background-clip: text;
    font-size: clamp(1.375rem, 6.8vw, 1.875rem) !important;
    line-height: 1.2 !important;
    text-align: left;
  }



  .elementor-41 .section-bespoke .section-title--bespoke .section-title-line {
    display: block;
  }



  .elementor-41 .section-bespoke .section-desc--bespoke {
    position: absolute !important;
    top: 68.18vw;
    left: 9.55vw;
    width: 52.27vw !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left;
  }



  .elementor-41 .section-bespoke .section-desc--bespoke .elementor-heading-title {
    max-width: none;
    margin: 0;
    color: #403E3E;
    font-size: clamp(0.85rem, 4.09vw, 1.125rem);
    line-height: 1.22;
  }



  /* Testimonials retain the deliberate peek of neighbouring content without
     allowing the full-width desktop breakout to create horizontal overflow. */
  .elementor-41 .section-offer {
    padding: 56px 0;
    overflow: hidden;
  }



  .elementor-41 .section-offer .container {
    padding-left: var(--mobile-page-gutter);
    padding-right: var(--mobile-page-gutter);
  }



  .elementor-41 .section-offer .offer-split {
    display: grid !important;
    grid-template-columns: 1fr;
    width: 100% !important;
    max-width: 100% !important;
    left: auto;
    margin: 0 !important;
    overflow: visible;
  }



  .elementor-41 .section-offer .offer-visual {
    min-height: 248px;
    margin: 0 auto 20px;
  }



  .elementor-41 .section-offer .offer-tile {
    --offer-tile-size: 128px;
  }



  .elementor-41 .section-offer .section-title--offer {
    margin: 0 0 22px;
    font-size: 1.5rem;
    line-height: 1.18;
    text-align: center;
  }



  .elementor-41 .section-offer .offer-card {
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 5px 16px rgba(15, 23, 42, 0.08);
  }



  .elementor-41 .section-offer .offer-quote {
    font-size: 0.925rem;
    line-height: 1.42;
  }



  .elementor-41 .section-offer .offer-prev,
  .elementor-41 .section-offer .offer-next {
    width: 38px;
    height: 38px;
  }



  .elementor-41 .section-brands {
    padding: 52px 0 54px;
  }



  .elementor-41 .section-title--brands {
    max-width: 350px;
    margin: 0 auto 30px;
    font-size: 1.5rem;
    line-height: 1.2;
  }



  .elementor-41 .brands-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px 12px !important;
    align-items: center;
  }



  .elementor-41 .brands-grid .elementor-widget-image {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }



  .elementor-41 .brands-grid .elementor-widget-image img {
    width: auto;
    max-width: 100%;
    max-height: 40px;
    object-fit: contain;
    filter: none;
    opacity: 1;
  }



  .elementor-41 .section-social {
    padding: 0 0 50px;
  }



  .elementor-41 .section-social .container {
    padding-top: 46px;
  }



  .elementor-41 .section-title--social {
    margin-bottom: 14px;
    font-size: 1.5rem;
    line-height: 1.2;
  }



  .elementor-41 .section-desc--social {
    max-width: 340px !important;
    margin-bottom: 24px;
    font-size: 0.9rem;
    line-height: 1.42;
  }



  .elementor-41 .section-social .social-handle {
    max-width: 350px;
    margin: 0 auto 28px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }



  .elementor-41 .section-social .social-handle-name {
    font-size: 0.85rem;
  }



  .elementor-41 .section-social .social-handle-btn {
    min-height: 34px;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 0.8rem;
  }



  .elementor-41 .section-social .social-feed {
    gap: 12px;
  }



  .elementor-41 .section-social .social-feed .social-feed-item {
    aspect-ratio: 1;
  }



  .elementor-41 .section-contact {
    padding: 58px 0;
  }



  .elementor-41 .section-contact .contact-layout {
    gap: 34px;
  }



  .elementor-41 .section-contact .contact-info-title {
    margin-bottom: 16px;
    font-size: 1.5rem;
    line-height: 1.18;
  }



  .elementor-41 .section-contact .contact-info-desc {
    max-width: 330px;
    margin-left: auto;
    margin-right: auto;
    font-size: 0.95rem;
    line-height: 1.42;
  }



  .elementor-41 .section-contact .contact-form-card {
    padding: 20px 14px;
    border-radius: 8px;
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.07);
  }
}



/* Elementor treats 768–1024px as tablet even when the page is presented as
   a mobile canvas. Keep the bespoke composition consistent through that
   range, with .elementor-41 .elementor-element.elementor-element-dfd8f93s strong enough to override its generated containers. */
@media (max-width: 1024px) {


  /* The recommended-services carousel above has positioned artwork. Reserve
     real document-flow space below it so the following bespoke section cannot
     sit underneath the carousel artwork. */
  :where(html:not(.hg-page-zoom)) .elementor-41 .elementor-element.elementor-element-e03fd3b.section-uploads {
    position: relative !important;
    z-index: 1;
    margin-bottom: 0 !important;
    padding-bottom: 96px !important;
  }



  :where(html:not(.hg-page-zoom)) .elementor-41 .elementor-element.elementor-element-710727.section-bespoke {
    position: relative !important;
    z-index: 2;
    padding: 0 !important;
    overflow: hidden;
  }



  :where(html:not(.hg-page-zoom)) .elementor-41 .elementor-element.elementor-element-1ace18.e-con-full.container.e-con.e-parent {
    padding: 0 !important;
    margin: 0 !important;
  }



  :where(html:not(.hg-page-zoom)) .elementor-41 .elementor-element.elementor-element-5e18bd.bespoke-split {
    position: relative !important;
    display: block !important;
    width: var(--hg-page-w, 100vw) !important;
    max-width: none !important;
    height: calc(var(--hg-page-w, 100vw) * 103.41 / 100) !important;
    min-height: 0 !important;
    left: auto !important;
    margin: 0 0 0 calc(50% - calc(var(--hg-page-w, 100vw) / 2)) !important;
  }



  :where(html:not(.hg-page-zoom)) .elementor-41 .section-bespoke .elementor-element-032761.bespoke-media {
    position: absolute !important;
    top: calc(var(--hg-page-w, 100vw) * 9.77 / 100) !important;
    left: calc(var(--hg-page-w, 100vw) * 10.23 / 100) !important;
    width: calc(var(--hg-page-w, 100vw) * 36.36 / 100) !important;
    height: calc(var(--hg-page-w, 100vw) * 51.82 / 100) !important;
    min-height: 0 !important;
    margin: 0 !important;
  }



  :where(html:not(.hg-page-zoom)) .elementor-41 .section-bespoke .elementor-element-032761.bespoke-media {
    overflow: visible !important;
  }



  :where(html:not(.hg-page-zoom)) .elementor-41 .elementor-element.elementor-element-b200ae.bespoke-media-back {
    position: absolute !important;
    top: 58.33% !important;
    left: 134.38% !important;
    display: block !important;
    width: 81.25% !important;
    height: 86.84% !important;
    padding: 0 !important;
    border-radius: 8px;
    overflow: hidden !important;
    z-index: 1;
  }



  :where(html:not(.hg-page-zoom)) .elementor-41 .elementor-element.elementor-element-3da0c5.bespoke-media-front {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 8px;
    overflow: hidden !important;
    z-index: 2;
  }



  :where(html:not(.hg-page-zoom)) .elementor-41 .elementor-element.elementor-element-3da0c5.bespoke-media-front img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }



  :where(html:not(.hg-page-zoom)) .elementor-41 .section-bespoke .elementor-element-a25ef1.bespoke-content {
    display: contents !important;
  }



  :where(html:not(.hg-page-zoom)) .elementor-41 .section-bespoke .elementor-element-c91bcd {
    position: absolute !important;
    top: calc(var(--hg-page-w, 100vw) * 13.18 / 100) !important;
    left: calc(var(--hg-page-w, 100vw) * 51.59 / 100) !important;
    width: calc(var(--hg-page-w, 100vw) * 43.2 / 100) !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }



  :where(html:not(.hg-page-zoom)) .elementor-41 .section-bespoke .section-title--bespoke {
    margin: 0 !important;
    color: transparent !important;
    background: linear-gradient(90deg, #F26AAA 0%, #F1AE11 100%);
    -webkit-background-clip: text;
    background-clip: text;
    font-size: clamp(1.18rem, calc(var(--hg-page-w, 100vw) * 5.68 / 100), 1.5625rem) !important;
    line-height: 1.2 !important;
    text-align: left !important;
  }



  :where(html:not(.hg-page-zoom)) .elementor-41 .section-bespoke .section-title--bespoke .section-title-line {
    display: block !important;
  }



  :where(html:not(.hg-page-zoom)) .elementor-41 .section-bespoke .section-desc--bespoke {
    position: absolute !important;
    top: calc(var(--hg-page-w, 100vw) * 68.18 / 100) !important;
    left: calc(var(--hg-page-w, 100vw) * 9.55 / 100) !important;
    width: calc(var(--hg-page-w, 100vw) * 52.27 / 100) !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }



  :where(html:not(.hg-page-zoom)) .elementor-41 .section-bespoke .section-desc--bespoke .elementor-heading-title {
    max-width: none !important;
    margin: 0 !important;
    color: #403E3E !important;
    font-size: clamp(0.85rem, calc(var(--hg-page-w, 100vw) * 4.09 / 100), 1.125rem) !important;
    line-height: 1.22 !important;
  }
}



@media (max-width: 767px) {


  /* Mobile reference: an editorial tile collage at the upper right, a
     compact two-line heading, then a horizontally swipeable testimonial. */
  .elementor-41 .elementor-element.elementor-element-2df57b4.section-offer {
    padding: 0 !important;
    overflow: hidden !important;
  }



  .elementor-41 .elementor-element.elementor-element-8a427f7.container {
    padding: 0 !important;
    margin: 0 !important;
  }



  .elementor-41 .elementor-element.elementor-element-07c2ae4.offer-split {
    position: relative !important;
    display: block !important;
    width: 100vw !important;
    max-width: none !important;
    height: 150.91vw !important;
    min-height: 0 !important;
    left: auto !important;
    margin: 0 0 0 calc(50% - 50vw) !important;
    overflow: visible !important;
    transform: none !important;
    translate: none !important;
    isolation: isolate;
  }



  .elementor-41 .section-offer .elementor-element-83a43f3.offer-visual {
    position: absolute !important;
    top: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    left: 5vw !important;
    display: block !important;
    width: 100vw !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    z-index: 6 !important;
    pointer-events: none !important;
  }



  .elementor-41 .section-offer .offer-tile {
    position: absolute !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 5px 12px rgba(15, 23, 42, 0.16);
  }



  .elementor-41 .section-offer .offer-tile--1 {
    top: 4.2vw !important;
    left: 45.3vw !important;
    width: 25.9vw !important;
    aspect-ratio: 1;
    transform: rotate(-10deg) !important;
    z-index: 1;
  }



  .elementor-41 .section-offer .offer-tile--2 {
    top: 19vw !important;
    left: 68.7vw !important;
    width: 26.8vw !important;
    aspect-ratio: 1;
    transform: rotate(12deg) !important;
    z-index: 4;
  }



  .elementor-41 .section-offer .offer-tile--3 {
    top: 46.6vw !important;
    left: 61.1vw !important;
    width: 26.4vw !important;
    aspect-ratio: 1;
    transform: rotate(-28deg) !important;
    z-index: 3;
  }



  .elementor-41 .section-offer .offer-tile>.elementor-widget-image,
  .elementor-41 .section-offer .offer-tile>.elementor-widget-image .elementor-widget-container,
  .elementor-41 .section-offer .offer-tile>.elementor-widget-image .elementor-image,
  .elementor-41 .section-offer .offer-tile>.elementor-widget-image a {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }



  .elementor-41 .section-offer .offer-tile img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }



  .elementor-41 .section-offer .elementor-element-319ac5d.offer-content-wrapper {
    display: contents !important;
    position: static !important;
    transform: none !important;
    translate: none !important;
  }



  .elementor-41 .section-offer .elementor-element-965db10 {
    position: absolute !important;
    top: 48vw !important;
    right: auto !important;
    left: 13.18vw !important;
    width: 42% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    clip-path: none !important;
    text-align: left !important;
    z-index: 4;
    transform: none !important;
    translate: none !important;
  }



  .elementor-41 .section-offer .section-title--offer {
    margin: 0 !important;
    color: transparent !important;
    background: linear-gradient(90deg, #F1AE11 0%, #F26AAA 100%);
    -webkit-background-clip: text;
    background-clip: text;
    font-size: clamp(1.375rem, 6.8vw, 1.875rem) !important;
    line-height: 1.2 !important;
    text-align: left !important;
  }



  .elementor-41 .section-offer .section-title--offer .section-title-line {
    display: inline !important;
  }



  .elementor-41 .section-offer .elementor-element-e45d361.offer-content {
    position: absolute !important;
    top: 67.27vw !important;
    right: auto !important;
    left: 0 !important;
    display: block !important;
    width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    z-index: 4;
    transform: none !important;
    translate: none !important;
  }



  .elementor-41 .section-offer .offer-prev,
  .elementor-41 .section-offer .offer-next,
  .elementor-41 .section-offer .elementor-element-9902656 {
    display: none !important;
  }



  .elementor-41 .section-offer .elementor-element-cc7836f.offer-cards {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 0 9.32vw !important;
    gap: 5vw !important;
    box-sizing: border-box !important;
    position: relative !important;
    right: auto !important;
    left: 0 !important;
    transform: none !important;
    translate: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 9.32vw;
    scroll-behavior: auto !important;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    touch-action: pan-x;
  }



  .elementor-41 .section-offer .offer-cards::-webkit-scrollbar {
    display: none;
  }



  .elementor-41 .section-offer .offer-card {
    display: block !important;
    flex: 0 0 74.77vw !important;
    width: 74.77vw !important;
    min-height: 62.95vw !important;
    margin: 0 !important;
    padding: 6.36vw 6.14vw !important;
    border: 1px solid #E1E4ED !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    box-sizing: border-box;
  }



  .elementor-41 .section-offer .offer-card .elementor-testimonial-wrapper::before {
    content: "★★★★★";
    display: block;
    margin-bottom: 5.45vw;
    color: #F1AE11;
    font-size: clamp(0.875rem, 4.09vw, 1.125rem);
    letter-spacing: 0.34vw;
    line-height: 1;
  }



  .elementor-41 .section-offer .offer-card .elementor-testimonial-content {
    display: -webkit-box;
    overflow: hidden;
    color: #403E3E !important;
    font-size: clamp(0.7rem, 3.18vw, 0.875rem);
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    line-clamp: 5;
  }



  .elementor-41 .section-offer .offer-card .elementor-testimonial-meta {
    margin-top: 6.14vw;
  }



  .elementor-41 .section-offer .offer-card .elementor-testimonial-name {
    color: #403E3E !important;
    font-size: clamp(0.75rem, 3.41vw, 0.9375rem);
    font-weight: var(--font-semibold);
  }



  .elementor-41 .section-offer .offer-card .elementor-testimonial-job {
    color: #595959 !important;
    font-size: clamp(0.7rem, 3.18vw, 0.875rem);
    font-weight: var(--font-semibold);
  }
}



/* BULLETPROOF: Lock bespoke-media container aspect ratio so images never crop dynamically */
/* BULLETPROOF: Lock bespoke-media container aspect ratio so images never crop dynamically */
@media (min-width: 768px) /* hg-zoom A12: was 1025px */ {


  /* Force children of bespoke-split to respect grid boundaries and prevent e-con-full margin blowouts */
  html body .elementor-41 .bespoke-split .elementor-element-032761.bespoke-media,
  html body .elementor-41 .bespoke-split .elementor-element-a25ef1.bespoke-content {
    width: 100% !important;
    margin: 0 !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }



  /* Keep the desktop copy from sitting against the right edge of the page. */
  html body .elementor-41 .bespoke-split .elementor-element-a25ef1.bespoke-content {
    box-sizing: border-box !important;
    padding-right: clamp(32px, calc(var(--hg-page-w, 100vw) * 4 / 100), 72px) !important;
    align-items: flex-end !important;
  }



  /* Elementor's widget sizing can ignore the container's visual gutter. Keep
     both text blocks explicitly inside that gutter. */
  html body .elementor-41 .bespoke-split .elementor-element-a25ef1.bespoke-content > .elementor-widget {
    margin-left: auto !important;
    margin-right: 0 !important;
    max-width: 100% !important;
  }



  html body .elementor-41 .section-bespoke .elementor-element-032761.bespoke-media {
    margin-bottom: 0 !important;
    position: relative !important;
  }



  html body .elementor-41 .elementor-element.elementor-element-3da0c5.bespoke-media-front {
    position: absolute !important;
    top: 240px !important; /* Fixed pixel value to prevent vertical shifting */
    bottom: auto !important;
    left: 72% !important; /* Anchor exactly to the right edge of the back image (which is 72% wide) */
    right: auto !important;
    margin: 0 !important;
    transform: translateX(-50%) !important; /* Center it precisely on that edge */
    width: 30% !important;
    max-width: 300px !important;
  }



  /* Aggressively kill the 500px gap on Desktop by pulling the next section up */
  html body .elementor-41 .elementor-element.elementor-element-710727.section-bespoke {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    z-index: 10 !important;
    /* Z-index below section-offer */
  }



  html body .elementor-41 .elementor-element.elementor-element-2df57b4.section-offer {
    padding-top: 0 !important;
    margin-top: -120px !important;
    position: relative !important;
    z-index: 20 !important;
    /* Negative margin to bridge the gap without moving the container above */
  }
}



/* BULLETPROOF: Lock bespoke-media-front to photo booth on tablet */
@media (min-width: 768px) and (max-width: 1024px) {

  html:where(:not(.hg-page-zoom)) body .elementor-41 .elementor-element.elementor-element-3da0c5.bespoke-media-front {
    position: absolute !important;
    top: auto !important;
    bottom: -45.17% !important;
    left: 187.13% !important;
    right: auto !important;
    margin: 0 !important;
    transform: translateY(-100%) !important;
    width: 32.5% !important;
    max-width: none !important;
    height: auto !important;
    inset: auto !important;
  }



  :where(html:not(.hg-page-zoom)) .elementor-41 .elementor-element.elementor-element-5e18bd.bespoke-split {
    width: 100% !important;
    max-width: 100% !important;
    position: relative;
    left: auto;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
  }



  /* Aggressively kill the empty space on Tablet */
  html:where(:not(.hg-page-zoom)) body .elementor-41 .elementor-element.elementor-element-5e18bd.bespoke-split {
    height: calc(var(--hg-page-w, 100vw) * 70 / 100) !important;
    /* reduced heavily so images overlap nicely into next section */
    margin-bottom: 0 !important;
  }



  html:where(:not(.hg-page-zoom)) body .elementor-41 .elementor-element.elementor-element-710727.section-bespoke {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    z-index: 10 !important;
    /* Z-index below section-offer */
  }



  html:where(:not(.hg-page-zoom)) body .elementor-41 .elementor-element.elementor-element-2df57b4.section-offer {
    padding-top: 0 !important;
    margin-top: 0 !important;
    position: relative !important;
    z-index: 20 !important;
  }
}
/* Home hero desktop >=900 — conform Main Landing Page (1440 native): --u=100vw/1440 */
@media (min-width: 768px) /* hg-zoom A12: was 900px */ {
  .elementor-41 .elementor-element.elementor-element-dfd8f93 { --u: calc(var(--hg-page-w, 100vw) / 1440); }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93.e-con.e-con.e-con { margin-top: 0 !important; padding: calc(109 * var(--u)) 0 0 0 !important; height: calc(1099 * var(--u)) !important; min-height: 0 !important; overflow: visible !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="d4f30d8"] { gap: 0 !important; row-gap: 0 !important; padding: 0 !important; align-items: stretch !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="5a7cb0c"].elementor-widget { align-self: center !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="f19484f"] .elementor-heading-title { font-size: calc(18 * var(--u)) !important; line-height: calc(25 * var(--u)) !important; font-weight: 400 !important; color: #000 !important; margin: 0 !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="f19484f"].elementor-widget { margin: 0 !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="fa45e41"] h1 { font-size: calc(48 * var(--u)) !important; line-height: calc(63 * var(--u)) !important; margin: calc(16 * var(--u)) 0 0 0 !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="fa45e41"] h1 .hero-title-sans, html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="fa45e41"] h1 .hero-title-serif { font-weight: 500 !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="fa45e41"] h1 span, html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="fa45e41"] h1 .hero-title-line { font-size: calc(48 * var(--u)) !important; line-height: calc(63 * var(--u)) !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="5fe8796"].elementor-widget { margin: calc(12.5 * var(--u)) 0 0 0 !important; width: calc(520 * var(--u)) !important; max-width: none !important; align-self: center !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="5fe8796"] .elementor-heading-title { text-align: center !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="5fe8796"] .elementor-heading-title { font-size: calc(22 * var(--u)) !important; line-height: calc(29 * var(--u)) !important; color: #403E3E !important; width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; font-weight: 400 !important; letter-spacing: calc(0.5 * var(--u)) !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="5a7cb0c"].elementor-widget { margin: calc(22.5 * var(--u)) 0 0 0 !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="5a7cb0c"] .elementor-button { font-size: calc(18 * var(--u)) !important; line-height: calc(18 * var(--u)) !important; font-weight: 500 !important; padding: calc(10.5 * var(--u)) calc(24 * var(--u)) !important; height: calc(39 * var(--u)) !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="ae72271"].hero-gallery { height: calc(592 * var(--u)) !important; margin-top: calc(57 * var(--u)) !important; clip-path: polygon(0.00% 0.00%, 3.13% 0.60%, 6.25% 1.15%, 9.38% 1.67%, 12.50% 2.15%, 15.63% 2.59%, 18.75% 2.99%, 21.88% 3.35%, 25.00% 3.68%, 28.13% 3.97%, 31.25% 4.21%, 34.38% 4.42%, 37.50% 4.59%, 40.63% 4.73%, 43.75% 4.82%, 46.88% 4.88%, 50.00% 4.90%, 53.13% 4.88%, 56.25% 4.82%, 59.38% 4.73%, 62.50% 4.59%, 65.63% 4.42%, 68.75% 4.21%, 71.88% 3.97%, 75.00% 3.68%, 78.13% 3.35%, 81.25% 2.99%, 84.38% 2.59%, 87.50% 2.15%, 90.63% 1.67%, 93.75% 1.15%, 96.88% 0.60%, 100.00% 0.00%, 100% 100%, 0% 100%) !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="b5065c9"].hero-gallery-track { height: calc(592 * var(--u)) !important; min-height: 0 !important; gap: calc(36 * var(--u)) !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .hero-gallery-item { min-width: 0 !important; height: calc(592 * var(--u)) !important; min-height: 0 !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .hero-gallery-item video, html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .hero-gallery-item img, html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .hero-gallery-item .elementor-widget-video, html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .hero-gallery-item .elementor-wrapper, html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .hero-gallery-item .elementor-video { height: 100% !important; min-height: 0 !important; }
}
/* Home hero mobile <=767 — conform Main Landing Mobile (440 native): px * --hg-vw-scale. */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-dfd8f93 { --s: var(--hg-vw-scale, 1); }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93.e-con.e-con.e-con { padding: calc(44.5px * var(--s)) 0 0 0 !important; height: calc(911px * var(--s)) !important; min-height: 0 !important; overflow: hidden !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93.e-con.e-con.e-con [data-id="f19484f"].elementor-widget .elementor-heading-title.elementor-heading-title { width: 100% !important; max-width: none !important; margin: 0 !important; text-align: center !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="d4f30d8"] { gap: 0 !important; padding: 0 !important; align-items: stretch !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="f19484f"] .elementor-heading-title { display: block !important; width: 100% !important; font-size: 18px !important; line-height: 22px !important; font-weight: 400 !important; color: #000 !important; margin: 0 !important; text-align: center !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="f19484f"].elementor-widget { margin: 0 !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="fa45e41"] h1 { font-size: 25px !important; line-height: 30px !important; margin: 14.2px 0 0 0 !important; font-weight: 500 !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="fa45e41"] h1 span { font-size: 25px !important; line-height: 30px !important; font-weight: 500 !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="5fe8796"].elementor-widget { margin: 11.8px auto 0 auto !important; width: 330px !important; max-width: 330px !important; align-self: center !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="5fe8796"] .elementor-heading-title { font-size: 18px !important; line-height: 22px !important; color: #403E3E !important; width: 100% !important; max-width: none !important; margin: 0 !important; text-align: center !important; font-weight: 400 !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="5a7cb0c"].elementor-widget { margin: 25.5px 0 0 0 !important; align-self: center !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="5a7cb0c"] .elementor-button { font-size: 16px !important; line-height: 16px !important; font-weight: 500 !important; padding: 11.5px 24px !important; height: 39px !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="ae72271"].hero-gallery { height: calc(588px * var(--s)) !important; margin: calc(-4px * var(--s)) 0 0 0 !important; clip-path: polygon(0.00% 2.00%, 6.25% 3.71%, 12.50% 5.19%, 18.75% 6.45%, 25.00% 7.47%, 31.25% 8.27%, 37.50% 8.84%, 43.75% 9.19%, 50.00% 9.30%, 56.25% 9.19%, 62.50% 8.84%, 68.75% 8.27%, 75.00% 7.47%, 81.25% 6.45%, 87.50% 5.19%, 93.75% 3.71%, 100.00% 2.00%, 100% 100%, 0% 100%) !important; left: 0 !important; width: 100% !important; max-width: none !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 [data-id="b5065c9"].hero-gallery-track { height: calc(592px * var(--s)) !important; min-height: 0 !important; gap: 0 !important; margin-left: calc(-76px * var(--s)) !important; width: calc(100% + 76px * var(--s)) !important; max-width: none !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .hero-gallery-item { min-width: 0 !important; width: calc(592px * var(--s)) !important; height: calc(592px * var(--s)) !important; flex: none !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .hero-gallery-item video, html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .hero-gallery-item img, html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .hero-gallery-item .elementor-widget-video, html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .hero-gallery-item .elementor-wrapper, html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .hero-gallery-item .elementor-video { width: 100% !important; height: 100% !important; object-fit: cover !important; min-height: 0 !important; }
}

html body .elementor-41 .elementor-element.elementor-element-dfd8f93 br.hm-m { display: none !important; }
@media (max-width: 767px) { html body .elementor-41 .elementor-element.elementor-element-dfd8f93 br.hm-m { display: inline !important; } }
/* Revisi-2 FigJam (2026-09-29): hero headline — kata sans Inter Medium (serif italic tetap Playfair), 58/62.4 desktop, 25/30 mobile; tombol 146x40 desktop. */
@media (min-width: 768px) {
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .elementor-element[data-id="fa45e41"] h1, html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .elementor-element[data-id="fa45e41"] h1 span { font-size: calc(58 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important; line-height: calc(62.4 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important; }
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .elementor-element[data-id="5a7cb0c"] .elementor-button { width: calc(146 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important; height: calc(40 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important; padding: 0 !important; font-size: calc(18 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important; line-height: 1 !important; white-space: nowrap !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; }
}
html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .elementor-element[data-id="fa45e41"] h1 .hero-title-sans { font-family: Inter, sans-serif !important; font-weight: 500 !important; }
@media (max-width: 767px) {
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .elementor-element[data-id="fa45e41"] h1, html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .elementor-element[data-id="fa45e41"] h1 span { font-size: calc(25px * var(--hg-vw-scale, 1)) !important; line-height: calc(30px * var(--hg-vw-scale, 1)) !important; }
}
/* Revisi-2: letter-spacing kompensasi (dulu mengejar lebar glyph mockup dengan font fallback Segoe UI/Arial) di-nol-kan — sejak Inter/Playfair di-self-host (commit fonts), lebar glyph sudah sama dengan Figma. */
html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .elementor-element[data-id="5fe8796"] .elementor-heading-title { letter-spacing: 0 !important; }
/* Hotfix revisi-2 (mekanisme #25): ukuran di dalam widget text-editor ber-zoom harus px mentah — calc(*--hg-vw-scale) membuat judul hero 13px di 320 (seharusnya 18px). */
@media (max-width: 767px) {
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .elementor-element[data-id="fa45e41"] h1, html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .elementor-element[data-id="fa45e41"] h1 span { font-size: 25px !important; line-height: 30px !important; }
}
/* hg:P4:revisi4-hero-koreksi-48 (revisi-2 salin salah, seharusnya 48 bukan 58 - lihat REVISI-2-FEEDBACK.md koreksi 2026-09-30) */
@media (min-width: 768px) {
  html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .elementor-element[data-id="fa45e41"] h1, html body .elementor-41 .elementor-element.elementor-element-dfd8f93 .elementor-element[data-id="fa45e41"] h1 span { font-size: calc(48 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important; line-height: calc(62.4 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important; }
}
/* revisi-13: mobile S — judul lebih turun (relatif ke foto 1: 320→90px, 360→101px seperti mockup × skala) */

/* revisi-14: judul 'Real stories' mobile S — top konstan 131px (di dalam zoom skala halaman) menjaga jarak ke foto = mockup × skala di 320/360/390/440 */
@media (max-width: 440px) { html body .elementor-41 .section-offer { --hg-offer-title-top: 131px; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0ea9395 */.elementor-41 .elementor-element.elementor-element-0ea9395 { min-height: 633px !important; padding: 32px 0 31px 0 !important; }
/* Home S2 features (gray) — desktop >=900 conform Main Landing Page (1440 native). --u = 100vw/1440 */
@media (min-width: 768px) /* hg-zoom A12: was 900px */ {
  .elementor-41 .elementor-element.elementor-element-0ea9395 { --u: calc(var(--hg-page-w, 100vw) / 1440); }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395.e-con.e-con.e-con { display: block !important; position: relative !important; padding: 0 !important; height: calc(735 * var(--u)) !important; min-height: 0 !important; overflow: visible !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 .container, html body .elementor-41 .elementor-element.elementor-element-0ea9395 [data-id="77620f0"], html body .elementor-41 .elementor-element.elementor-element-0ea9395 [data-id="051bf98"], html body .elementor-41 .elementor-element.elementor-element-0ea9395 [data-id="7ea9b60"], html body .elementor-41 .elementor-element.elementor-element-0ea9395 [data-id="a66bd17"] { display: block !important; position: static !important; width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; height: 0 !important; min-height: 0 !important; gap: 0 !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 [data-id="cafd3ca"] { position: absolute !important; left: calc(197 * var(--u)) !important; top: calc(118.1 * var(--u)) !important; width: calc(520 * var(--u)) !important; margin: 0 !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 [data-id="cafd3ca"] h2 { font-size: calc(45 * var(--u)) !important; line-height: calc(55 * var(--u)) !important; font-weight: 500 !important; margin: 0 !important; letter-spacing: 0 !important; text-align: left !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 [data-id="cafd3ca"] h2 .section-title-line { display: block !important; font-size: calc(45 * var(--u)) !important; line-height: calc(55 * var(--u)) !important; font-weight: 500 !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 [data-id="cafd3ca"] h2 em { font-size: calc(45 * var(--u)) !important; font-weight: 500 !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 [data-id="ad0c6ff"] { position: absolute !important; left: calc(197 * var(--u)) !important; top: calc(398 * var(--u)) !important; width: calc(520 * var(--u)) !important; margin: 0 !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 [data-id="ad0c6ff"] .elementor-heading-title { font-size: calc(22 * var(--u)) !important; line-height: calc(28 * var(--u)) !important; color: #403E3E !important; max-width: none !important; margin: 0 !important; font-weight: 400 !important; letter-spacing: calc(0.4 * var(--u)) !important; text-align: left !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 .thegrail-feature-box.elementor-widget { position: absolute !important; left: calc(783 * var(--u)) !important; width: calc(520 * var(--u)) !important; margin: 0 !important; padding: 0 !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 [data-id="2c375d6"] { top: calc(148 * var(--u)) !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 [data-id="abe55ba"] { top: calc(299.9 * var(--u)) !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 [data-id="431fe4f"] { top: calc(482.7 * var(--u)) !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 .thegrail-feature-box .elementor-icon-box-wrapper { display: flex !important; flex-direction: row !important; align-items: flex-start !important; gap: 0 !important; text-align: left !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 .thegrail-feature-box .elementor-icon-box-icon { width: calc(48 * var(--u)) !important; height: calc(48 * var(--u)) !important; margin: 0 calc(42 * var(--u)) 0 0 !important; flex: none !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 [data-id="2c375d6"] .elementor-icon-box-icon { margin-top: calc(4 * var(--u)) !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 [data-id="abe55ba"] .elementor-icon-box-icon { margin-top: calc(0.3 * var(--u)) !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 [data-id="431fe4f"] .elementor-icon-box-icon { margin-top: calc(13.3 * var(--u)) !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 .thegrail-feature-box .elementor-icon-box-content { width: calc(375 * var(--u)) !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 .thegrail-feature-box .elementor-icon-box-title { font-size: calc(20 * var(--u)) !important; line-height: calc(24 * var(--u)) !important; font-weight: 500 !important; color: #000 !important; margin: 0 0 calc(11 * var(--u)) 0 !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 [data-id="2c375d6"] .elementor-icon-box-title { font-size: calc(25 * var(--u)) !important; line-height: calc(30 * var(--u)) !important; margin-bottom: calc(5.7 * var(--u)) !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 .thegrail-feature-box .elementor-icon-box-description { font-size: calc(18 * var(--u)) !important; line-height: calc(25.6 * var(--u)) !important; color: #403E3E !important; margin: 0 !important; max-width: calc(375 * var(--u)) !important; letter-spacing: calc(0.3 * var(--u)) !important; }
}
@media (max-width: 899px) { html:where(:not(.hg-page-zoom)) body .elementor-41 .elementor-element.elementor-element-0ea9395 br.hm-d { display: none !important; } }


/* Home S2 mobile <=767 — conform Main Landing Mobile (440 native) */
@media (max-width: 767px) {
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 .thegrail-feature-box .elementor-icon-box-icon .elementor-icon, html body .elementor-41 .elementor-element.elementor-element-0ea9395 .thegrail-feature-box .elementor-icon-box-icon { border-radius: 8px !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 .thegrail-feature-box .elementor-icon-box-title { font-size: 16px !important; line-height: 20px !important; font-weight: 500 !important; color: #000 !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 .thegrail-feature-box .elementor-icon-box-description { font-size: 18px !important; line-height: 22px !important; color: #403E3E !important; letter-spacing: 0.2px !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 [data-id="a66bd17"] { margin-top: -16px !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 [data-id="ad0c6ff"] .elementor-heading-title { font-size: 18px !important; line-height: 22px !important; color: #403E3E !important; letter-spacing: 0.2px !important; }
}
/* Revisi-2 FigJam: judul 'Get snapping' Inter Regular 45/55 (mobile Inter Medium 25/30); judul icon-box 25px / lh 21.78. */
@media (min-width: 768px) {
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 .elementor-element[data-id="cafd3ca"] h2 .section-title-line { font-weight: 400 !important; }
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 .thegrail-feature-box.elementor-element .elementor-icon-box-title, html body .elementor-41 .elementor-element.elementor-element-0ea9395 .thegrail-feature-box.elementor-element .elementor-icon-box-title span { font-size: calc(25 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important; line-height: calc(21.78 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important; }
}
@media (max-width: 767px) {
  html body .elementor-41 .elementor-element.elementor-element-0ea9395 .elementor-element[data-id="cafd3ca"] h2 .section-title-line { font-weight: 500 !important; }
}
/* Revisi-2: letter-spacing kompensasi (dulu mengejar lebar glyph mockup dengan font fallback Segoe UI/Arial) di-nol-kan — sejak Inter/Playfair di-self-host (commit fonts), lebar glyph sudah sama dengan Figma. */
html body .elementor-41 .elementor-element.elementor-element-0ea9395 .thegrail-feature-box.elementor-element .elementor-icon-box-description, html body .elementor-41 .elementor-element.elementor-element-0ea9395 .elementor-element[data-id="ad0c6ff"] .elementor-heading-title { letter-spacing: 0 !important; }/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-d28d306 */.elementor-41 .elementor-element.elementor-element-d28d306 img { content: url('../../../themes/holograil/assets/uploads/ui_svg/extracted_81c5bbeb.webp'); }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1cecf51 *//* hg:home-tangible-fix: max-width:100% pada kartu absolut dalam kolom berlebar 0 menciutkannya jadi 63px di desktop; hanya mobile (alur linear). */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-1cecf51 { max-width: 100% !important; overflow: hidden !important; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e03fd3b */@media (min-width: 768px)
/* hg-zoom A12: was 900px */
    {
    html body .elementor-41 .elementor-element.elementor-element-e03fd3b.e-con.e-con.e-con {
        padding-bottom: 16px !important;
    }
}

@media (max-width: 767px) {
    html body .elementor-41 .elementor-element.elementor-element-e03fd3b.e-con.e-con.e-con {
        padding-bottom: 50px !important;
    }
}

@media (max-width: 767px) {

    html body .elementor-41 .elementor-element.elementor-element-e03fd3b .recommended-mobile-slide .recommended-mobile-photo video,
    html body .elementor-41 .elementor-element.elementor-element-e03fd3b .recommended-mobile-slide .recommended-mobile-photo .elementor-video,
    html body .elementor-41 .elementor-element.elementor-element-e03fd3b .recommended-mobile-slide .recommended-mobile-photo .elementor-widget-video,
    html body .elementor-41 .elementor-element.elementor-element-e03fd3b .recommended-mobile-slide .recommended-mobile-photo .elementor-wrapper {
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        object-fit: cover !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* Revisi-2 FigJam: 'Our recommended' Inter Regular 45/55 desktop, Inter Medium 24/30 gradien 2 baris mobile; deskripsi 18/24 (mobile 18/22) #403E3E; kartu: jarak judul->deskripsi +20px (Figma ~38px, live 18px @1440); mobile: tag layanan tanpa latar/bayangan Figma, teks tengah; teks tombol VIEW ALL SERVICES gradien. */
@media (min-width: 768px) {
    html body .elementor-41 .elementor-element.elementor-element-e03fd3b .elementor-element[data-id="c7e9232"] h2 .section-title-line {
        font-weight: 400 !important;
    }

    html body .elementor-41 .elementor-element.elementor-element-e03fd3b .elementor-element[data-id="c83510a"] .elementor-heading-title {
        font-size: calc(18 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important;
        line-height: calc(24 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important;
        color: #403E3E !important;
    }

    html body .elementor-41 .elementor-element.elementor-element-e03fd3b .elementor-element[data-id="c83510a"] {
        width: calc(433 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important;
        max-width: calc(433 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important;
        flex: 0 0 auto !important;
    }

    html body .elementor-41 .elementor-element.elementor-element-e03fd3b .recommended-card-text .recommended-card-desc.recommended-card-desc {
        margin-top: calc(20 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important;
    }
}

@media (max-width: 767px) {
    html body .elementor-41 .elementor-element.elementor-element-e03fd3b .elementor-element[data-id="c7e9232"] h2 {
        font-size: calc(24px * var(--hg-vw-scale, 1)) !important;
        line-height: calc(30px * var(--hg-vw-scale, 1)) !important;
        font-weight: 500 !important;
        max-width: calc(300px * var(--hg-vw-scale, 1)) !important;
        margin-inline: auto !important;
        background: linear-gradient(90deg, #F1AE11 0%, #F26AAA 100%) !important;
        -webkit-background-clip: text !important;
        background-clip: text !important;
        -webkit-text-fill-color: transparent !important;
        color: transparent !important;
    }

    html body .elementor-41 .elementor-element.elementor-element-e03fd3b .elementor-element[data-id="c7e9232"] h2 .section-title-line {
        display: inline !important;
        font-size: inherit !important;
        line-height: inherit !important;
        font-weight: inherit !important;
        color: transparent !important;
        -webkit-text-fill-color: transparent !important;
        background: none !important;
    }

    html body .elementor-41 .elementor-element.elementor-element-e03fd3b .elementor-element[data-id="c83510a"] .elementor-heading-title {
        font-size: calc(18px * var(--hg-vw-scale, 1)) !important;
        line-height: calc(22px * var(--hg-vw-scale, 1)) !important;
        color: #403E3E !important;
    }

    html body .elementor-41 .elementor-element.elementor-element-e03fd3b .recommended-mobile-slide .recommended-mobile-photo {
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25) !important;
    }

    html body .elementor-41 .elementor-element.elementor-element-e03fd3b .recommended-mobile-slide .recommended-mobile-badge {
        background: transparent !important;
    }

    html body .elementor-41 .elementor-element.elementor-element-e03fd3b .recommended-mobile-slide .recommended-mobile-badge-label {
        text-align: center !important;
        font-size: calc(14px * var(--hg-vw-scale, 1)) !important;
        line-height: 1.1 !important;
    }

    html body .elementor-41 .elementor-element.elementor-element-e03fd3b .recommended-mobile-slide .recommended-mobile-cta {
        background-image: linear-gradient(90deg, #F1AE11 22%, #F26AAA 78%), linear-gradient(#ffffff, #ffffff) !important;
        -webkit-background-clip: text, padding-box !important;
        background-clip: text, padding-box !important;
        -webkit-text-fill-color: transparent !important;
        color: transparent !important;
    }
}

/* Hotfix revisi-2 (mekanisme #25): px mentah di widget ber-zoom. */
@media (max-width: 767px) {
    html body .elementor-41 .elementor-element.elementor-element-e03fd3b .elementor-element[data-id="c7e9232"] h2 {
        font-size: 24px !important;
        line-height: 30px !important;
        max-width: 300px !important;
    }

    html body .elementor-41 .elementor-element.elementor-element-e03fd3b .elementor-element[data-id="c83510a"] .elementor-heading-title {
        font-size: 18px !important;
        line-height: 22px !important;
    }
}

/* hg:P2:uploads-top-mobile (revisi user 2026-10-05: ruang atas section terlalu besar di mobile) */
@media (max-width: 767px) {
    html body .elementor-41 .elementor-element.elementor-element-e03fd3b.e-con.e-con.e-con {
        padding-top: calc(16px * var(--hg-vw-scale, 1)) !important;
    }
}

/* hg:home-card-label-hover */
/* Label kartu layanan (Glambot, Sticker Photo Booth, ...): saat kartu di-hover, label jadi putih dengan bayangan. */
@media (hover: hover) and (min-width: 768px) {
    html body .elementor-element-e03fd3b .recommended-card-photo .recommended-card-badge .elementor-widget-heading {
        transition: background-color .25s ease, box-shadow .25s ease;
    }

    html body .elementor-element-e03fd3b .recommended-card-photo .recommended-card-badge .elementor-heading-title {
        transition: color .25s ease;
    }

    html body .elementor-element-e03fd3b .recommended-card-photo:hover .recommended-card-badge .elementor-widget-heading {
        background-color: #fff;
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
    }

    html body .elementor-element-e03fd3b .recommended-card-photo:hover .recommended-card-badge .elementor-heading-title {
        color: #403E3E;
    }
}

/* hg: "Recommended" mobile carousel: stacked artwork and looping slides. */
@media (max-width: 767px) {
    html body .elementor-41 .section-uploads .recommended-mobile-carousel {
        touch-action: pan-x pan-y !important;
        display: flex !important;
        flex-flow: row nowrap !important;
        align-items: stretch !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
    }

    html body .elementor-41 .section-uploads .recommended-mobile-carousel::-webkit-scrollbar {
        display: none;
    }

    html body .elementor-41 .section-uploads .recommended-mobile-carousel.is-loop-rebase {
        scroll-behavior: auto !important;
    }

    html body .elementor-41 .section-uploads .recommended-mobile-slide {
        position: relative !important;
        display: flex !important;
        flex: 0 0 100% !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: space-evenly !important;
        row-gap: calc(50px * var(--hg-vw-scale, 1)) !important;
        box-sizing: border-box !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        padding: calc(50px * var(--hg-vw-scale, 1)) 0 !important;
        overflow: hidden !important;
        scroll-snap-align: start !important;
        scroll-snap-stop: always !important;
        touch-action: pan-x pan-y !important;
    }

    html body .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-copy {
        position: relative !important;
        inset: auto !important;
        flex: 0 0 auto !important;
        width: 76% !important;
        margin: 0 auto !important;
        text-align: center !important;
    }

    html body .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-copy-title {
        margin-bottom: calc(7px * var(--hg-vw-scale, 1)) !important;
        font-size: calc(25px * var(--hg-vw-scale, 1)) !important;
        line-height: calc(30px * var(--hg-vw-scale, 1)) !important;
    }

    html body .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-copy-desc {
        font-size: calc(18px * var(--hg-vw-scale, 1)) !important;
        line-height: calc(22px * var(--hg-vw-scale, 1)) !important;
    }

    html body .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-photo-stack {
        display: contents !important;
    }

    html body .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-photo {
        position: relative !important;
        inset: auto !important;
        display: block !important;
        flex: 0 0 auto !important;
        width: min(64%, calc(280px * var(--hg-vw-scale, 1))) !important;
        max-width: calc(280px * var(--hg-vw-scale, 1)) !important;
        height: auto !important;
        box-sizing: border-box !important;
    }

    html body .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-photo--one,
    html body .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-photo--two {
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        aspect-ratio: 1 !important;
    }

    html body .elementor-41 .section-uploads .recommended-mobile-slide--holographic .recommended-mobile-photo--two {
        aspect-ratio: 116 / 198 !important;
    }

    html body .elementor-41 .section-uploads .recommended-mobile-slide--interactive .recommended-mobile-photo--one {
        aspect-ratio: 120 / 198 !important;
    }

    html body .elementor-41 .section-uploads .recommended-mobile-slide--interactive .recommended-mobile-photo--two {
        aspect-ratio: 111 / 198 !important;
    }

    html body .elementor-41 .section-uploads .recommended-mobile-slide--immersive .recommended-mobile-photo--one,
    html body .elementor-41 .section-uploads .recommended-mobile-slide--immersive .recommended-mobile-photo--two {
        aspect-ratio: 132 / 198 !important;
    }

    html body .elementor-41 .section-uploads .recommended-mobile-slide--tangible .recommended-mobile-photo--one {
        aspect-ratio: 129 / 198 !important;
    }

    html body .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-photo img,
    html body .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-photo video {
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-badge {
        position: absolute !important;
        inset: auto 0 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: calc(42px * var(--hg-vw-scale, 1)) !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
    }

    html body .elementor-41 .section-uploads .recommended-mobile-slide--holographic .recommended-mobile-photo--one .recommended-mobile-badge,
    html body .elementor-41 .section-uploads .recommended-mobile-slide--tangible .recommended-mobile-photo--two .recommended-mobile-badge {
        height: calc(42px * var(--hg-vw-scale, 1)) !important;
    }

    html body .elementor-41 .elementor-element.elementor-element-e03fd3b .recommended-mobile-slide .recommended-mobile-badge-label {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 90% !important;
        height: calc(32px * var(--hg-vw-scale, 1)) !important;
        margin: 0 !important;
        padding: 0 calc(5px * var(--hg-vw-scale, 1)) !important;
        box-sizing: border-box !important;
        font-size: calc(14px * var(--hg-vw-scale, 1)) !important;
        line-height: 1.1 !important;
        transform: translateY(calc(-4px * var(--hg-vw-scale, 1))) !important;
    }

    html body .elementor-41 .section-uploads .recommended-mobile-slide .recommended-mobile-cta {
        position: relative !important;
        inset: auto !important;
        display: flex !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        width: calc(190px * var(--hg-vw-scale, 1)) !important;
        max-width: 78% !important;
        height: calc(40px * var(--hg-vw-scale, 1)) !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
        font-size: calc(16px * var(--hg-vw-scale, 1)) !important;
        font-weight: 500 !important;
        line-height: calc(40px * var(--hg-vw-scale, 1)) !important;
        text-align: center !important;
        border-radius: 6px !important;
        background-image: linear-gradient(90deg, #F1AE11 22%, #F26AAA 78%), linear-gradient(#ffffff, #ffffff) !important;
        -webkit-background-clip: text, padding-box !important;
        background-clip: text, padding-box !important;
        -webkit-text-fill-color: transparent !important;
        color: transparent !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-710727 *//* Desktop: skala proporsional dari 768px ke atas. --u = 1 unit mockup 1440 (px mockup = calc(N * var(--u))). */
@media (min-width: 768px) {
  .elementor-41 .elementor-element.elementor-element-710727 { --u: calc(var(--hg-page-w, 100vw) / 1440); }
  .elementor-41 .elementor-element.elementor-element-710727.e-con.e-con { position: relative; padding: 0 !important; overflow: visible; min-height: calc(1050 * var(--u)) !important; }
  .elementor-41 .elementor-element.elementor-element-710727 .container.e-con.e-con, .elementor-41 .elementor-element.elementor-element-710727 .bespoke-split.e-con.e-con, .elementor-41 .elementor-element.elementor-element-710727 .bespoke-media.e-con.e-con { display: contents !important; }
  .elementor-41 .elementor-element.elementor-element-710727 .bespoke-media-back.e-con.e-con.e-con {
    position: absolute !important; left: calc(-6 * var(--u)) !important; top: calc(-11 * var(--u)) !important;
    width: calc(815 * var(--u)) !important; height: calc(923 * var(--u)) !important;
    padding: 0 !important; margin: 0 !important; border-radius: 0 !important; overflow: hidden !important; clip-path: inset(0) !important;
  }
  .elementor-41 .elementor-element.elementor-element-710727 .bespoke-media-back img, .elementor-41 .elementor-element.elementor-element-710727 .bespoke-media-back video, .elementor-41 .elementor-element.elementor-element-710727 .bespoke-media-back .elementor-widget-image { width: 100% !important; height: 100% !important; max-width: none !important; }
  html body .elementor-41 .elementor-element.elementor-element-710727 .bespoke-media-back .elementor-widget-image { height: auto !important; width: 100% !important; overflow: visible !important; }
  html body .elementor-41 .elementor-element.elementor-element-710727 .bespoke-media-back img[src*="extracted_901292ff"] { width: 100% !important; height: auto !important; max-width: none !important; object-fit: fill !important; transform: none !important; -webkit-transform: none !important; position: static !important; margin-top: calc(-125 * var(--u)) !important; display: block !important; }
  .elementor-41 .elementor-element.elementor-element-710727 .bespoke-media-front.e-con.e-con.e-con.e-con {
    position: absolute !important; left: calc(557 * var(--u)) !important; right: auto !important; bottom: auto !important; top: calc(289 * var(--u)) !important;
    width: calc(363 * var(--u)) !important; max-width: none !important; height: calc(516 * var(--u)) !important; padding: 0 !important; margin: 0 !important; overflow: hidden !important;
  }
  html body .elementor-41 .elementor-element.elementor-element-710727 .bespoke-media-front.e-con.e-con.e-con.e-con { transform: none !important; -webkit-transform: none !important; }
  .elementor-41 .elementor-element.elementor-element-710727 .bespoke-media-front img, .elementor-41 .elementor-element.elementor-element-710727 .bespoke-media-front .elementor-widget-image { width: 100% !important; height: 100% !important; object-fit: cover !important; }
  .elementor-41 .elementor-element.elementor-element-710727 .bespoke-content.e-con.e-con.e-con {
    position: absolute !important; right: calc(108 * var(--u)) !important; left: auto !important; top: calc(156 * var(--u)) !important; z-index: 3 !important;
    width: calc(340 * var(--u)) !important; max-width: calc(340 * var(--u)) !important; padding: 0 !important; margin: 0 !important; text-align: right !important; align-items: flex-end !important;
  }
  html body .elementor-41 .elementor-element.elementor-element-710727 .bespoke-content.e-con.e-con.e-con { display: flex !important; flex-direction: column !important; }
  html body .elementor-41 .elementor-element.elementor-element-710727 .elementor-element-c91bcd.elementor-element-c91bcd, html body .elementor-41 .elementor-element.elementor-element-710727 .section-desc--bespoke.section-desc--bespoke { position: relative !important; left: auto !important; top: auto !important; width: calc(340 * var(--u)) !important; max-width: calc(340 * var(--u)) !important; text-align: right !important; }
  .elementor-41 .elementor-element.elementor-element-710727 .section-title--bespoke {
    margin: 0 !important; font-family: Inter, sans-serif !important; font-size: calc(45 * var(--u)) !important; line-height: calc(55 * var(--u)) !important; font-weight: 400 !important; letter-spacing: calc(1.3 * var(--u)) !important; text-align: right !important;
    background: linear-gradient(135deg, #F1AE11 calc(-40 * var(--u)), #F26AAA calc(207 * var(--u))) !important; -webkit-background-clip: text !important; background-clip: text !important; -webkit-text-fill-color: transparent !important; color: transparent !important;
  }
  .elementor-41 .elementor-element.elementor-element-710727 .section-title--bespoke em { font-family: 'Playfair Display', serif !important; font-style: italic !important; font-weight: 400 !important; font-size: calc(45 * var(--u)) !important; letter-spacing: calc(0.9 * var(--u)) !important; background: none !important; -webkit-text-fill-color: transparent !important; color: transparent !important; }
  .elementor-41 .elementor-element.elementor-element-710727 .section-desc--bespoke { margin: 0 calc(18 * var(--u)) 0 0 !important; }
  .elementor-41 .elementor-element.elementor-element-710727 .section-desc--bespoke .elementor-heading-title { font-family: Inter, sans-serif !important; font-size: calc(22 * var(--u)) !important; line-height: calc(30 * var(--u)) !important; font-weight: 400 !important; color: #403E3E !important; max-width: calc(320 * var(--u)) !important; letter-spacing: calc(0.8 * var(--u)) !important; margin: 0 0 0 auto !important; text-align: right !important; }
}
/* Mobile: 440 (skala 1) sampai 320 (skala 0,727) — px mockup dikali --hg-vw-scale. */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-710727.e-con.e-con { min-height: calc(455px * var(--hg-vw-scale, 1) + 113.6px * (1 - var(--hg-vw-scale, 1))) !important; }
  html body .elementor-41 .elementor-element.elementor-element-710727 .bespoke-media-back.e-con.e-con.e-con {
    left: calc(187px * var(--hg-vw-scale, 1)) !important; top: calc(120px * var(--hg-vw-scale, 1)) !important;
    width: calc(207px * var(--hg-vw-scale, 1)) !important; height: calc(235px * var(--hg-vw-scale, 1)) !important; overflow: hidden !important; clip-path: inset(0) !important;
  }
  html body .elementor-41 .elementor-element.elementor-element-710727 .bespoke-media-back .elementor-widget-image { width: 100% !important; height: auto !important; overflow: visible !important; }
  html body .elementor-41 .elementor-element.elementor-element-710727 .bespoke-media-back img[src*="extracted_901292ff"] { width: 100% !important; height: auto !important; max-width: none !important; object-fit: fill !important; transform: none !important; -webkit-transform: none !important; margin-top: calc(207px * -0.153 * var(--hg-vw-scale, 1)) !important; display: block !important; }
  html body .elementor-41 .elementor-element.elementor-element-710727 .section-title--bespoke { font-weight: 400 !important; background: linear-gradient(122deg, #F1AE11 -8px, #F26AAA 144px) !important; -webkit-background-clip: text !important; background-clip: text !important; -webkit-text-fill-color: transparent !important; color: transparent !important; }
  html body .elementor-41 .elementor-element.elementor-element-710727 .section-title--bespoke em { font-weight: 400 !important; background: none !important; -webkit-text-fill-color: transparent !important; color: transparent !important; }
  html body .elementor-41 .elementor-element.elementor-element-710727 .section-desc--bespoke { position: absolute !important; z-index: 3 !important; }
  html body .elementor-41 .elementor-element.elementor-element-710727 .section-desc--bespoke .elementor-heading-title { max-width: 200px !important; letter-spacing: 0.65px !important; }
}
/* <440px: widget teks ber-zoom + posisi vw → bagi skala (mekanisme #25). */
@media (max-width: 439px) {
  html body .elementor-41 .elementor-element.elementor-element-710727 .elementor-element-c91bcd.elementor-element-c91bcd { left: calc(51.59vw / var(--hg-vw-scale, 1)) !important; top: calc(13.18vw / var(--hg-vw-scale, 1)) !important; width: calc(43.2vw / var(--hg-vw-scale, 1)) !important; }
  html body .elementor-41 .elementor-element.elementor-element-710727 .section-desc--bespoke.section-desc--bespoke { left: calc(9.55vw / var(--hg-vw-scale, 1)) !important; top: calc(68.18vw / var(--hg-vw-scale, 1)) !important; width: calc(52.27vw / var(--hg-vw-scale, 1)) !important; }
}
/* Revisi-2: letter-spacing kompensasi (dulu mengejar lebar glyph mockup dengan font fallback Segoe UI/Arial) di-nol-kan — sejak Inter/Playfair di-self-host (commit fonts), lebar glyph sudah sama dengan Figma. */
html body .elementor-41 .elementor-element.elementor-element-710727 .section-title--bespoke.section-title--bespoke, html body .elementor-41 .elementor-element.elementor-element-710727 .section-title--bespoke.section-title--bespoke em, html body .elementor-41 .elementor-element.elementor-element-710727 .section-desc--bespoke.section-desc--bespoke .elementor-heading-title { letter-spacing: 0 !important; }
/* hg:P1:bespoke-front-video GIF->mp4 (Figma fab9bdde3201, node 4143:18657): padanan aturan img */
.elementor-41 .elementor-element.elementor-element-710727 .bespoke-media-front .elementor-widget-video, .elementor-41 .elementor-element.elementor-element-710727 .bespoke-media-front .elementor-wrapper.e-hosted-video { width:100% !important; height:100% !important; }
.elementor-41 .elementor-element.elementor-element-710727 .bespoke-media-front video.elementor-video { width:100% !important; height:100% !important; object-fit:cover !important; display:block; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-965db10 *//* hg:P4:offer-judul-mobile — mockup mobile: baris 1 "Real stories", baris 2 "from our clients" (2 baris, bukan 3). */
@media (max-width: 767px) {
  html body .elementor-41 .elementor-element-965db10.elementor-element { width: calc(250px * var(--hg-vw-scale, 1)) !important; max-width: none !important; }
  html body .elementor-41 .elementor-element-965db10 .hg-v-m .section-title-line { white-space: nowrap !important; display: block; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cc7836f *//* hg:P2:revisi4-46_506-testimonial-center */
.elementor-41 .elementor-element.elementor-element-cc7836f .offer-card { display: flex; flex-direction: column; justify-content: center; }
/* hg:P5:revisi4-46_567-offer-nav-size */
.elementor-41 .elementor-element.elementor-element-cc7836f .offer-prev,
.elementor-41 .elementor-element.elementor-element-cc7836f .offer-next { width: 47px; height: 59px; }
.elementor-41 .elementor-element.elementor-element-cc7836f .offer-prev .elementor-icon svg,
.elementor-41 .elementor-element.elementor-element-cc7836f .offer-next .elementor-icon svg { width: 14px; height: 14px; }
/* hg:P2:revisi4-46_506-fix-inactive-hidden */
.elementor-41 .elementor-element.elementor-element-cc7836f .offer-card:not(.offer-card--active) { display: none; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e45d361 *//* hg:P5:revisi4-46_567-offer-nav-size-FIX (1bfa0d9/fe23b3f adalah sibling e45d361, bukan child cc7836f - rule lama di cc7836f tidak pernah match) */
.elementor-41 .elementor-element.elementor-element-e45d361 .offer-prev,
.elementor-41 .elementor-element.elementor-element-e45d361 .offer-next { width: 47px; height: 59px; }
.elementor-41 .elementor-element.elementor-element-e45d361 .offer-prev .elementor-icon svg,
.elementor-41 .elementor-element.elementor-element-e45d361 .offer-next .elementor-icon svg { width: 14px; height: 14px; }
.elementor-41 .elementor-element.elementor-element-e45d361 .offer-prev .elementor-icon,
.elementor-41 .elementor-element.elementor-element-e45d361 .offer-next .elementor-icon { width: 14px; height: 14px; }
/* hg:P2:revisi-next-lebih-jauh-dari-card (pengecualian dari mockup, permintaan user) */
.elementor-41 .elementor-element.elementor-element-e45d361 .offer-next { margin-left: 24px; }
/* hg:P2:revisi-next-lebih-jauh-dari-card-v2 (v1 margin-left:24 tidak efektif - card fixed 579px overflow container flex:1 yang hanya 534px, gap visual ke next cuma 1px) */
.elementor-41 .elementor-element.elementor-element-e45d361 .offer-next { margin-left: 93px !important; }
/* hg:P2:revisi-next-lebih-jauh-dari-card-v3 (akar masalah: .offer-cards flex:1 menyerap margin next 1:1, next tidak pernah bergerak - ganti flex:1 jadi flex:0 0 auto supaya kartu tidak overflow & margin efektif) */
.elementor-41 .elementor-element.elementor-element-e45d361 .offer-cards { flex: 0 0 auto !important; }
.elementor-41 .elementor-element.elementor-element-e45d361 .offer-next { margin-left: 40px !important; }
/* hg:P2:revisi-next-lebih-jauh-dari-card-v5 (final: flex:1 dikembalikan; margin-left tidak berefek krn diserap sibling flex:1 secara matematis 1:1 -- next.left konstan berapa pun marginnya. transform:translateX tidak berinteraksi dgn flex sizing, jadi efektif) */
.elementor-41 .elementor-element.elementor-element-e45d361 .offer-cards { flex: 1 !important; }
.elementor-41 .elementor-element.elementor-element-e45d361 .offer-next { transform: translateX(69px); }
/* hg:P2:offer-nav-simetris — desktop/tablet (>=768). Pengecualian dari mockup (permintaan user 2026-10-03): panah kiri & kanan harus seimbang terhadap kartu tengah. Akar masalah: kartu fixed 579*u (adapter) lebih lebar dari .offer-cards (flex:1, ±534px di 1440) sehingga kartu meluap ke kanan, lalu next digeser dengan translateX(69px) — kiri rapat, kanan renggang. Perbaikan: kartu mengikuti lebar .offer-cards, tanpa margin/translate; gap kiri = gap kanan. Mobile (<768) tidak disentuh (diatur main.js). Balikkan: hapus blok ini. */
@media (min-width: 768px) {
  .elementor-41 .elementor-element.elementor-element-e45d361 { justify-content: center; align-items: center; }
  .elementor-41 .elementor-element.elementor-element-e45d361 .offer-prev,
  .elementor-41 .elementor-element.elementor-element-e45d361 .offer-next { flex: 0 0 auto !important; margin: 0 !important; transform: none !important; }
  .elementor-41 .elementor-element.elementor-element-e45d361 .offer-cards { flex: 1 1 0 !important; min-width: 0 !important; }
  .elementor-41 .elementor-element.elementor-element-e45d361 .offer-cards .elementor-element.offer-card { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-07c2ae4 *//* hg:P5:offer-galeri-bayangan (revisi user 2026-10-05): bayangan tile galeri terpotong overflow:hidden di bawah → beri ruang bawah. */
@media (min-width: 768px) {
  html body .elementor-41 .elementor-element.elementor-element-07c2ae4.e-con.e-con { padding-bottom: 56px !important; }
}
@media (max-width: 767px) {
  html body .elementor-41 .elementor-element.elementor-element-07c2ae4.e-con.e-con { overflow: clip !important; overflow-clip-margin: 48px !important; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2df57b4 */@media (min-width: 768px) /* hg-zoom A12: was 1024px */ { .elementor-41 .elementor-element.elementor-element-2df57b4 { min-height: 672px !important; max-height: 672px !important; overflow: hidden !important; } }
@media (max-width: 767px) {
  html body .elementor-41 .elementor-element.elementor-element-2df57b4.e-con.e-con.e-con { margin-top: -58px !important; }
}

@media (max-width: 767px) {
  html body .elementor-41 .elementor-element.elementor-element-2df57b4.e-con.e-con.e-con { overflow: visible !important; }
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="6cd6b6a"], html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="bdd3a60"], html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="8935419"] { padding: 0 !important; overflow: hidden !important; }
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="6cd6b6a"] img, html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="bdd3a60"] img, html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="8935419"] img, html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="6cd6b6a"] .elementor-widget-container, html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="bdd3a60"] .elementor-widget-container, html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="8935419"] .elementor-widget-container, html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="d1fbd61"], html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="996ab59"], html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="f314e10"] { width: 100% !important; height: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; object-fit: cover !important; display: block !important; }
}

@media (max-width: 767px) {
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="6cd6b6a"] img, html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="bdd3a60"] img, html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="8935419"] img { object-position: top !important; }
}
@media (min-width: 768px) {
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="6cd6b6a"] img, html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="bdd3a60"] img, html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="8935419"] img { object-position: top !important; }
}

@media (max-width: 767px) {
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="bdd3a60"] { border: calc(3px * var(--hg-vw-scale, 1)) solid #fff !important; box-shadow: 0 4px 10px rgba(15,23,42,0.18) !important; }
}

/* Tile3 (8935419): aset 3.webp punya pita hitam bergerigi (tepi sobek) di y0-28 sebagai
   dekorasi strip. Crop `top` ikut menampilkan pita itu -> terbaca "gambar terpotong di atas".
   Mockup meng-crop di tengah strip: ekor frame sebelumnya + bingkai warna + foto utama penuh.
   y_start 389 dari 1168 px area geser = 33.3%. Radius tetap 8px seperti tile lain (mockup rounded). */
html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="8935419"] img { object-position: 50% 33.3% !important; }

/* Mobile: section ini ditarik naik 36px (margin-top negatif) sehingga tumpang-tindih dengan bespoke (710727: bg putih, position relative, z-index 2). Tanpa z-index, bespoke menutupi 34px atas tile1 (6cd6b6a) -> terlihat terpotong datar. Naikkan di atas bespoke. */
@media (max-width: 767px) {
  html body .elementor-41 .elementor-element.elementor-element-2df57b4.e-con.e-con.e-con { position: relative !important; z-index: 3 !important; }
}
/* Revisi-2 FigJam: 'Real stories from / our clients' 45/55 gradien per baris (mobile 25/30, 'Real stories / from our clients'); bayangan 3 kartu foto (6cd6b6a/bdd3a60/8935419; img di-clip overflow) (Figma: 0 20 10 16 #D1D5DB + 0 4 4 0 #00000040); kartu testimoni 579x346 r8 border 1 padding 24, isi 18/28 hati hitam, nama 20 + jabatan 18 Inter SemiBold (mobile 15/14, isi 18/18); panah putih ikon abu. */
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.elementor-element-6cd6b6a, html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.elementor-element-bdd3a60, html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.elementor-element-8935419 { box-shadow: 0 20px 10px 16px rgba(209, 213, 219, 0.35), 0 4px 4px 0 rgba(0, 0, 0, 0.25) !important; }
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-card .elementor-testimonial-job { font-family: Inter, sans-serif !important; font-weight: 600 !important; }
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-card .elementor-testimonial-content img.emoji { filter: grayscale(1) brightness(0) !important; }
@media (min-width: 768px) {
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element[data-id="965db10"] h2 { max-width: calc(400 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important; margin-left: auto !important; font-size: calc(45 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important; line-height: calc(55 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important; }
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element[data-id="965db10"] h2 .section-title-line { display: inline !important; font-size: inherit !important; line-height: inherit !important; -webkit-box-decoration-break: clone; box-decoration-break: clone; background: linear-gradient(90deg, #F1AE11 0%, #F26AAA 100%) !important; -webkit-background-clip: text !important; background-clip: text !important; -webkit-text-fill-color: transparent !important; color: transparent !important; }
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-card { width: calc(579 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important; max-width: calc(579 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important; min-height: calc(346 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important; padding: calc(24 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important; border: 1px solid #E1E4ED !important; border-radius: 8px !important; box-sizing: border-box !important; }
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-card .elementor-testimonial-content { font-size: calc(18 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important; line-height: calc(28 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important; }
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-card .elementor-testimonial-name { font-size: calc(20 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important; }
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-card .elementor-testimonial-job { font-size: calc(18 * var(--u, calc(var(--hg-page-w, 100vw) / 1440))) !important; line-height: 1.3 !important; }
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-prev, html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-next { background: #ffffff !important; border: 1px solid #E1E4ED !important; color: #6D758F !important; }
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-prev .elementor-icon, html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-next .elementor-icon, html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-prev .elementor-icon::before, html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-next .elementor-icon::before { color: #6D758F !important; }
}
@media (max-width: 767px) {
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element[data-id="965db10"] h2 { max-width: calc(160px * var(--hg-vw-scale, 1)) !important; }
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element[data-id="965db10"] h2 .section-title-line { display: inline !important; -webkit-box-decoration-break: clone; box-decoration-break: clone; background: linear-gradient(90deg, #F1AE11 0%, #F26AAA 100%) !important; -webkit-background-clip: text !important; background-clip: text !important; -webkit-text-fill-color: transparent !important; color: transparent !important; }
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-card .elementor-testimonial-content { font-size: calc(18px * var(--hg-vw-scale, 1)) !important; line-height: calc(18px * var(--hg-vw-scale, 1)) !important; }
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-card .elementor-testimonial-name { font-size: calc(15px * var(--hg-vw-scale, 1)) !important; }
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-card .elementor-testimonial-job { font-size: calc(14px * var(--hg-vw-scale, 1)) !important; line-height: 1.3 !important; }
}
/* Hotfix revisi-2 (mekanisme #25): max-width judul 'Real stories' px mentah (widget text-editor ber-zoom). */
@media (max-width: 767px) {
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element[data-id="965db10"] h2 { max-width: 160px !important; }
}

/* Mobile tile2 (996ab59) memakai foto berbeda dari desktop: mockup mobile (Main Landing Mobile.png, tile ~x350-470 y3308-3433) menunjukkan foto "sunglasses selfie" bukan foto 2 wanita (2.webp frame0) yang dipakai desktop. Tidak ada aset asli untuk foto ini di HOLOGRAIL/media atau assets/offer; diekstrak dari mockup (derotasi ~13deg) mengikuti pola extracted_*.webp yang sudah ada di situs. Diganti hanya di mobile lewat background-image pada wrapper (img asli disembunyikan); setting widget/desktop tidak diubah. */
@media (max-width: 767px) {
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="996ab59"] img {
    opacity: 0 !important;
  }
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 [data-id="996ab59"] {
    background-image: url('../../../uploads/2026/09/offer-tile2-mobile-alt.webp') !important;
    background-size: cover !important;
    background-position: center !important;
  }
}
/* hg:P4:revisi4-mobile-testimonial-14-18 */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-2df57b4 .offer-card .elementor-testimonial-content { font-size: calc(14px * var(--hg-vw-scale, 1)) !important; line-height: calc(18px * var(--hg-vw-scale, 1)) !important; }
}
/* hg:P4:revisi4-mobile-testimonial-14-18-v2 */
@media (max-width: 767px) {
  html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-card .elementor-testimonial-content { font-size: calc(14px * var(--hg-vw-scale, 1)) !important; line-height: calc(18px * var(--hg-vw-scale, 1)) !important; }
}
/* hg:P5:revisi4-koordinator-arrow-real-svg-colors */
.elementor-41 .elementor-element.elementor-element-2df57b4 .offer-prev .elementor-icon::before,
.elementor-41 .elementor-element.elementor-element-2df57b4 .offer-next .elementor-icon::before { content: none !important; display: none !important; }
.elementor-41 .elementor-element.elementor-element-2df57b4 .offer-prev .elementor-icon svg,
.elementor-41 .elementor-element.elementor-element-2df57b4 .offer-next .elementor-icon svg { display: inline-block !important; }
.elementor-41 .elementor-element.elementor-element-2df57b4 .offer-prev,
.elementor-41 .elementor-element.elementor-element-2df57b4 .offer-prev:hover,
.elementor-41 .elementor-element.elementor-element-2df57b4 .offer-prev:focus-visible { background: #F8FAFF !important; border: 1px solid #E1E4ED !important; color: #6D758F !important; }
.elementor-41 .elementor-element.elementor-element-2df57b4 .offer-next,
.elementor-41 .elementor-element.elementor-element-2df57b4 .offer-next:hover,
.elementor-41 .elementor-element.elementor-element-2df57b4 .offer-next:focus-visible { background: #285689 !important; border: none !important; color: #ffffff !important; }
.elementor-41 .elementor-element.elementor-element-2df57b4 .offer-prev .elementor-icon,
.elementor-41 .elementor-element.elementor-element-2df57b4 .offer-prev:hover .elementor-icon,
.elementor-41 .elementor-element.elementor-element-2df57b4 .offer-prev:focus-visible .elementor-icon,
.elementor-41 .elementor-element.elementor-element-2df57b4 .offer-next .elementor-icon,
.elementor-41 .elementor-element.elementor-element-2df57b4 .offer-next:hover .elementor-icon,
.elementor-41 .elementor-element.elementor-element-2df57b4 .offer-next:focus-visible .elementor-icon { color: inherit !important; }
/* hg:P5:revisi4-koordinator-arrow-colors-v2-specificity */
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .offer-prev,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .offer-prev:hover,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .offer-prev:focus-visible { background: #F8FAFF !important; border: 1px solid #E1E4ED !important; color: #6D758F !important; }
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .offer-next,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .offer-next:hover,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .offer-next:focus-visible { background: #285689 !important; border: none !important; color: #ffffff !important; }
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .offer-prev .elementor-icon,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .offer-prev:hover .elementor-icon,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .offer-prev:focus-visible .elementor-icon,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .offer-next .elementor-icon,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .offer-next:hover .elementor-icon,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .offer-next:focus-visible .elementor-icon { color: inherit !important; }
/* hg:P5:revisi4-koordinator-arrow-colors-v3-specificity */
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-prev,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-prev:hover,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-prev:focus-visible { background: #F8FAFF !important; border: 1px solid #E1E4ED !important; color: #6D758F !important; }
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-next,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-next:hover,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-next:focus-visible { background: #285689 !important; border: none !important; color: #ffffff !important; }
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-prev .elementor-icon,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-prev:hover .elementor-icon,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-prev:focus-visible .elementor-icon,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-next .elementor-icon,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-next:hover .elementor-icon,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-next:focus-visible .elementor-icon { color: inherit !important; }
/* hg:P4:revisi4-koordinator-mobile-no-clamp (kartu tanpa terpotong, mockup 7 baris) */
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-2df57b4 .offer-card .elementor-testimonial-content { -webkit-line-clamp: unset !important; line-clamp: unset !important; display: block !important; overflow: visible !important; }
}
/* hg:P5:revisi-tombol-seimbang-hover-biru (koreksi keputusan sebelumnya: kedua tombol default abu-abu/putih seperti prev, biru seperti next HANYA saat hover/focus) */
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-prev,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-next { background: #F8FAFF !important; border: 1px solid #E1E4ED !important; color: #6D758F !important; }
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-prev:hover,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-prev:focus-visible,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-next:hover,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-next:focus-visible { background: #285689 !important; border: none !important; color: #ffffff !important; }
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-prev .elementor-icon,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-next .elementor-icon,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-prev:hover .elementor-icon,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-prev:focus-visible .elementor-icon,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-next:hover .elementor-icon,
html body .elementor-41 .elementor-element.elementor-element-2df57b4 .elementor-element.offer-next:focus-visible .elementor-icon { color: inherit !important; }
/* hg:P6:overflow-offer-visual — dfd8f93 (max-width 767): .offer-visual absolute left 5vw + width 100vw → tepi kanan 105vw (+22px @440, +16 @320).
   Tile diposisikan vw dari tepi kiri kontainer → lebar 95vw tidak menggeser tile. Mockup Main Landing Mobile memotong foto di tepi kanan
   (path tile sampai x 450.8 pada frame 440) → klip di 07c2ae4 (100vw mulai x0) = tepi layar; overflow-y tetap visible (bayangan). */
@media (max-width: 767px) {
  html body .elementor-41 .section-offer .elementor-element.elementor-element-83a43f3.offer-visual { width: 95vw !important; }
  html body .elementor-41 .elementor-element.elementor-element-07c2ae4.offer-split { overflow-x: clip !important; overflow-y: visible !important; }
}
/* revisi-13: mobile S — jarak paragraf→galeri ikut skala mockup (320: 35px, 360: 39px) */
@media (max-width: 340px) { html body .elementor-41 .elementor-element.elementor-element-2df57b4.e-con.e-con.e-con { margin-top: -95px !important; } }
@media (min-width: 341px) and (max-width: 400px) { html body .elementor-41 .elementor-element.elementor-element-2df57b4.e-con.e-con.e-con { margin-top: -68px !important; } }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-87b0ee7 *//* Brands: slot logo dari bbox mockup. Desktop (>=768): --u = 100vw/1440. Mobile: frame marquee 440 (px * --hg-vw-scale). */
@keyframes hg-brands-drift { from { transform: translateX(calc(265px * var(--hg-vw-scale, 1))); } to { transform: translateX(calc(-285px * var(--hg-vw-scale, 1))); } }
@media (min-width: 768px) {
  .elementor-41 .elementor-element.elementor-element-87b0ee7 { --u: calc(var(--hg-page-w, 100vw) / 1440); }
  .elementor-41 .elementor-element.elementor-element-87b0ee7.e-con.e-con { position: relative; padding: 0 !important; min-height: calc(599 * var(--u)) !important; overflow: visible; }
  .elementor-41 .elementor-element.elementor-element-87b0ee7 .container.e-con.e-con, .elementor-41 .elementor-element.elementor-element-87b0ee7 .brands-grid.e-con.e-con { display: contents !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-47818b1 { position: absolute !important; left: 0 !important; right: 0 !important; top: calc(113 * var(--u)) !important; width: 100% !important; max-width: none !important; margin: 0 !important; text-align: center !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .section-title--brands { width: 100% !important; max-width: none !important; margin: 0 auto !important; font-family: Inter, sans-serif !important; font-size: calc(45 * var(--u)) !important; line-height: calc(50 * var(--u)) !important; font-weight: 400 !important; letter-spacing: calc(1.4 * var(--u)) !important; text-align: center !important; background: linear-gradient(150.4deg, #F1AE11 calc(176 * var(--u)), #F26AAA calc(522 * var(--u))) !important; -webkit-background-clip: text !important; background-clip: text !important; -webkit-text-fill-color: transparent !important; color: transparent !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .section-title--brands em { font-family: 'Playfair Display', serif !important; font-style: italic !important; font-weight: 400 !important; font-size: calc(45 * var(--u)) !important; letter-spacing: calc(1.4 * var(--u)) !important; background: none !important; -webkit-text-fill-color: transparent !important; color: transparent !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-7134814.elementor-element-7134814 { position: absolute !important; left: calc(634 * var(--u)) !important; top: calc(285 * var(--u)) !important; width: calc(69 * var(--u)) !important; height: calc(69 * var(--u)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; transform: none !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-d8e7d22.elementor-element-d8e7d22 { position: absolute !important; left: calc(159 * var(--u)) !important; top: calc(306 * var(--u)) !important; width: calc(280 * var(--u)) !important; height: calc(27 * var(--u)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; transform: none !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-e8bdd45.elementor-element-e8bdd45 { position: absolute !important; left: calc(485 * var(--u)) !important; top: calc(304 * var(--u)) !important; width: calc(103 * var(--u)) !important; height: calc(31 * var(--u)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; transform: none !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-d1cf5f0.elementor-element-d1cf5f0 { position: absolute !important; left: calc(748 * var(--u)) !important; top: calc(280.27 * var(--u)) !important; width: calc(132.99 * var(--u)) !important; height: calc(78.19 * var(--u)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; transform: none !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-af6adcb.elementor-element-af6adcb { position: absolute !important; left: calc(925.02 * var(--u)) !important; top: calc(256.58 * var(--u)) !important; width: calc(187.91 * var(--u)) !important; height: calc(109.33 * var(--u)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; transform: none !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-f78cd96.elementor-element-f78cd96 { position: absolute !important; left: calc(1157.86 * var(--u)) !important; top: calc(284.23 * var(--u)) !important; width: calc(105.99 * var(--u)) !important; height: calc(70.66 * var(--u)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; transform: none !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-143212b.elementor-element-143212b { position: absolute !important; left: calc(134.91 * var(--u)) !important; top: calc(381.9 * var(--u)) !important; width: calc(119.74 * var(--u)) !important; height: calc(79.83 * var(--u)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; transform: none !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-4a9c5f0.elementor-element-4a9c5f0 { position: absolute !important; left: calc(295.55 * var(--u)) !important; top: calc(363.94 * var(--u)) !important; width: calc(116.11 * var(--u)) !important; height: calc(116.11 * var(--u)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; transform: none !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-7b33f2d.elementor-element-7b33f2d { position: absolute !important; left: calc(451.67 * var(--u)) !important; top: calc(382 * var(--u)) !important; width: calc(141.12 * var(--u)) !important; height: calc(79.23 * var(--u)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; transform: none !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-e5e6a5c.elementor-element-e5e6a5c { position: absolute !important; left: calc(631.13 * var(--u)) !important; top: calc(373.74 * var(--u)) !important; width: calc(126.87 * var(--u)) !important; height: calc(94.96 * var(--u)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; transform: none !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-0acd884.elementor-element-0acd884 { position: absolute !important; left: calc(797.66 * var(--u)) !important; top: calc(399 * var(--u)) !important; width: calc(120.38 * var(--u)) !important; height: calc(46.98 * var(--u)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; transform: none !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-c53adfa.elementor-element-c53adfa { position: absolute !important; left: calc(959.33 * var(--u)) !important; top: calc(379.11 * var(--u)) !important; width: calc(153.18 * var(--u)) !important; height: calc(85.99 * var(--u)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; transform: none !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-64ca0bc.elementor-element-64ca0bc { position: absolute !important; left: calc(1154.34 * var(--u)) !important; top: calc(379.06 * var(--u)) !important; width: calc(85.05 * var(--u)) !important; height: calc(85.05 * var(--u)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; transform: none !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .brands-grid .elementor-widget-image img { width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; min-height: 0 !important; object-fit: fill !important; display: block !important; transform: none !important; filter: none !important; opacity: 1 !important; border-radius: 0 !important; box-shadow: none !important; }
}
@media (max-width: 767px) {
  .elementor-41 .elementor-element.elementor-element-87b0ee7 { --s: var(--hg-vw-scale, 1); }
  .elementor-41 .elementor-element.elementor-element-87b0ee7.e-con.e-con { position: relative; padding: 0 !important; min-height: calc(348px * var(--s)) !important; overflow: hidden !important; margin-top: calc(-88px * var(--s)) !important; }
  .elementor-41 .elementor-element.elementor-element-87b0ee7 .container.e-con.e-con, .elementor-41 .elementor-element.elementor-element-87b0ee7 .brands-grid.e-con.e-con { display: contents !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-47818b1 { position: absolute !important; left: 0 !important; right: 0 !important; top: 61.6px !important; width: 100% !important; max-width: none !important; margin: 0 !important; text-align: center !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .section-title--brands { width: 100% !important; max-width: none !important; margin: 0 auto !important; font-family: Inter, sans-serif !important; font-size: 25px !important; line-height: 30px !important; font-weight: 400 !important; letter-spacing: 0.9px !important; text-align: center !important; background: linear-gradient(148.7deg, #F1AE11 11.5px, #F26AAA 208px) !important; -webkit-background-clip: text !important; background-clip: text !important; -webkit-text-fill-color: transparent !important; color: transparent !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .section-title--brands em { font-family: 'Playfair Display', serif !important; font-style: italic !important; font-weight: 400 !important; font-size: 25px !important; letter-spacing: 0.9px !important; background: none !important; -webkit-text-fill-color: transparent !important; color: transparent !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-7134814.elementor-element-7134814 { position: absolute !important; left: calc(172px * var(--s)) !important; top: calc(147px * var(--s)) !important; width: calc(69px * var(--s)) !important; height: calc(69px * var(--s)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-d8e7d22.elementor-element-d8e7d22 { position: absolute !important; left: calc(-257px * var(--s)) !important; top: calc(169px * var(--s)) !important; width: calc(280px * var(--s)) !important; height: calc(27px * var(--s)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-e8bdd45.elementor-element-e8bdd45 { position: absolute !important; left: calc(46px * var(--s)) !important; top: calc(166px * var(--s)) !important; width: calc(103px * var(--s)) !important; height: calc(31px * var(--s)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-d1cf5f0.elementor-element-d1cf5f0 { position: absolute !important; left: calc(264px * var(--s)) !important; top: calc(143.59px * var(--s)) !important; width: calc(130.82px * var(--s)) !important; height: calc(76.91px * var(--s)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-af6adcb.elementor-element-af6adcb { position: absolute !important; left: calc(417.02px * var(--s)) !important; top: calc(119.58px * var(--s)) !important; width: calc(187.91px * var(--s)) !important; height: calc(109.33px * var(--s)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-f78cd96.elementor-element-f78cd96 { position: absolute !important; left: calc(610.86px * var(--s)) !important; top: calc(147.23px * var(--s)) !important; width: calc(105.99px * var(--s)) !important; height: calc(70.66px * var(--s)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-143212b.elementor-element-143212b { position: absolute !important; left: calc(-249.09px * var(--s)) !important; top: calc(235.9px * var(--s)) !important; width: calc(119.74px * var(--s)) !important; height: calc(79.83px * var(--s)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-4a9c5f0.elementor-element-4a9c5f0 { position: absolute !important; left: calc(-125.45px * var(--s)) !important; top: calc(217.94px * var(--s)) !important; width: calc(116.11px * var(--s)) !important; height: calc(116.11px * var(--s)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-7b33f2d.elementor-element-7b33f2d { position: absolute !important; left: calc(11.67px * var(--s)) !important; top: calc(236px * var(--s)) !important; width: calc(141.12px * var(--s)) !important; height: calc(79.23px * var(--s)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-e5e6a5c.elementor-element-e5e6a5c { position: absolute !important; left: calc(166.13px * var(--s)) !important; top: calc(227.74px * var(--s)) !important; width: calc(126.87px * var(--s)) !important; height: calc(94.96px * var(--s)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-0acd884.elementor-element-0acd884 { position: absolute !important; left: calc(308.66px * var(--s)) !important; top: calc(252px * var(--s)) !important; width: calc(120.38px * var(--s)) !important; height: calc(46.98px * var(--s)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-c53adfa.elementor-element-c53adfa { position: absolute !important; left: calc(458.33px * var(--s)) !important; top: calc(232.11px * var(--s)) !important; width: calc(153.18px * var(--s)) !important; height: calc(85.99px * var(--s)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .elementor-element-64ca0bc.elementor-element-64ca0bc { position: absolute !important; left: calc(647.34px * var(--s)) !important; top: calc(233.06px * var(--s)) !important; width: calc(85.05px * var(--s)) !important; height: calc(85.05px * var(--s)) !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .brands-grid .elementor-widget-image img { width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; min-height: 0 !important; object-fit: fill !important; display: block !important; transform: none !important; filter: none !important; opacity: 1 !important; border-radius: 0 !important; box-shadow: none !important; }
}
@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
  html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .brands-grid .elementor-widget-image { animation: hg-brands-drift 26s ease-in-out infinite alternate; }
}
/* Revisi-2: letter-spacing kompensasi (dulu mengejar lebar glyph mockup dengan font fallback Segoe UI/Arial) di-nol-kan — sejak Inter/Playfair di-self-host (commit fonts), lebar glyph sudah sama dengan Figma. */
html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .section-title--brands.section-title--brands, html body .elementor-41 .elementor-element.elementor-element-87b0ee7 .section-title--brands.section-title--brands em { letter-spacing: 0 !important; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-565831f *//* hg: social-var */
.elementor-41 .elementor-element.elementor-element-565831f{--hg-social-t:100px;--hg-social-pb:76px;--hg-social-bg:#F1F3F7;--hg-social-tm:6.14vw;--hg-social-pbm:6.34vw;width:100%}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-538614b *//* Home S7 Instagram (gray) — mobile height clamp only. Desktop composition
   moved to thegrail-adapter.css (.section.section-social) 2026-09-30 so it's
   shared with every other page that renders [thegrail_instagram]. */
@media (max-width: 767px) {
  html body .elementor-41 .elementor-element.elementor-element-538614b.e-con.e-con.e-con { min-height: calc(576px * var(--hg-vw-scale, 1)) !important; height: calc(576px * var(--hg-vw-scale, 1)) !important; overflow: hidden !important; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3606033 *//* Revisi-2 FigJam: kartu form kontak desktop tanpa bayangan (Figma). */
@media (min-width: 768px) {
  html body .elementor-41 .elementor-element.elementor-element-3606033 .section-contact .contact-form-card { box-shadow: none !important; }
}

/* hg: contact-footer-gap — jarak form ke footer di Home desktop disamakan dengan halaman layanan (85px) */
@media (min-width: 1025px) {
  html body .elementor-41 .elementor-element.elementor-element-3606033 .elementor-element-hgcsec001 { padding-bottom: 85px !important; }
}/* End custom CSS */
/* Start custom CSS *//* hg:themecss */
.elementor-element.elementor-element-83a43f3.e-flex.e-con-full.offer-visual.e-con.e-parent.e-lazyloaded{
  width: fit-content !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  padding-right: 0 !important;
  justify-self: center;
}
/* Remove leftover bottom padding inside the uploads container so the
   recommended-columns gallery sits flush with the section bottom. */
.section-uploads .elementor-element-c6b84a0{
  padding-bottom: 0 !important;
}
.elementor-element-c91bcd{
  width: 340px;
  max-width: 340px !important;
}
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-c6b84a0{
    gap: 0 !important;
  }
}
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .recommended-columns .elementor-element-d06b90d{
    left: 0;
    width: calc(var(--hg-page-w, 100vw) * 36.5972 / 100) !important;
  }
}
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .recommended-columns .elementor-element-a88431f{
    left: calc(var(--hg-page-w, 100vw) * 35.2083 / 100);
    width: calc(var(--hg-page-w, 100vw) * 29.1667 / 100) !important;
  }
}
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .recommended-columns .elementor-element-ee0483f{
    left: calc(var(--hg-page-w, 100vw) * 60.9028 / 100);
    width: calc(var(--hg-page-w, 100vw) * 39.0972 / 100) !important;
  }
}
/* Holographic Magic / Glambot / Immersive Photo / Sticker Print Booth */
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-ca687d3{
    left: 0;
    top: calc(var(--hg-page-w, 100vw) * 2.2917 / 100);
    width: calc(var(--hg-page-w, 100vw) * 36.5972 / 100);
    height: calc(var(--hg-page-w, 100vw) * 24.3056 / 100);
  }
}
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-30d485c{
    left: calc(var(--hg-page-w, 100vw) * 6.875 / 100);
    top: calc(var(--hg-page-w, 100vw) * 30.4861 / 100);
    width: calc(var(--hg-page-w, 100vw) * 26.5278 / 100);
    height: calc(var(--hg-page-w, 100vw) * 43.8889 / 100);
  }
}
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-d7775b9{
    left: 0;
    top: calc(var(--hg-page-w, 100vw) * 79.0972 / 100);
    width: calc(var(--hg-page-w, 100vw) * 36.3194 / 100);
    height: calc(var(--hg-page-w, 100vw) * 24.3056 / 100);
  }
}
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-90b5cbb{
    left: calc(var(--hg-page-w, 100vw) * 5.625 / 100);
    top: calc(var(--hg-page-w, 100vw) * 105.384 / 100);
    width: calc(var(--hg-page-w, 100vw) * 26.4291 / 100);
    height: calc(var(--hg-page-w, 100vw) * 46.9844 / 100);
  }
}
/* Holographic Photo Booth / Scribble / Express / Keychain */
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-47d2ae6{
    left: 0;
    top: 0;
    width: calc(var(--hg-page-w, 100vw) * 27.5 / 100);
    height: calc(var(--hg-page-w, 100vw) * 27.7083 / 100);
  }
}
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-e2d65c7{
    left: calc(var(--hg-page-w, 100vw) * 0.9723 / 100);
    top: calc(var(--hg-page-w, 100vw) * 30.4861 / 100);
    width: calc(var(--hg-page-w, 100vw) * 24.7222 / 100);
    height: calc(var(--hg-page-w, 100vw) * 43.9583 / 100);
  }
}
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-bf0ea9c{
    left: calc(var(--hg-page-w, 100vw) * 1.0417 / 100);
    top: calc(var(--hg-page-w, 100vw) * 77.3611 / 100);
    width: calc(var(--hg-page-w, 100vw) * 26.3194 / 100);
    height: calc(var(--hg-page-w, 100vw) * 39.5139 / 100);
  }
}
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-e36ab9e{
    left: calc(var(--hg-page-w, 100vw) * 1.3889 / 100);
    top: calc(var(--hg-page-w, 100vw) * 119.7917 / 100);
    width: calc(var(--hg-page-w, 100vw) * 27.5694 / 100);
    height: calc(var(--hg-page-w, 100vw) * 27.7778 / 100);
  }
}
/* Holographic Luggage Tag / Interactive Video / Wide Angle / Tangible */
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-fc0a505{
    left: calc(var(--hg-page-w, 100vw) * 6.3889 / 100);
    top: 0;
    width: calc(var(--hg-page-w, 100vw) * 25.7639 / 100);
    height: calc(var(--hg-page-w, 100vw) * 43.9583 / 100);
  }
}
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-a3cc3f1{
    left: 0;
    top: calc(var(--hg-page-w, 100vw) * 48.4722 / 100);
    width: calc(var(--hg-page-w, 100vw) * 39.0972 / 100);
    height: calc(var(--hg-page-w, 100vw) * 24.3056 / 100);
  }
}
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-297ee80{
    left: calc(var(--hg-page-w, 100vw) * 4.5139 / 100);
    top: calc(var(--hg-page-w, 100vw) * 77.3611 / 100);
    width: calc(var(--hg-page-w, 100vw) * 26.3194 / 100);
    height: calc(var(--hg-page-w, 100vw) * 39.5139 / 100);
  }
}
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-1cecf51{
    left: calc(var(--hg-page-w, 100vw) * 3.2639 / 100);
    top: calc(var(--hg-page-w, 100vw) * 121.5278 / 100);
    width: calc(var(--hg-page-w, 100vw) * 36.1806 / 100);
    height: calc(var(--hg-page-w, 100vw) * 24.3056 / 100);
  }
}
/* The source SVG uses a full-width bottom fade plus an inner white frame
     per photo. These values preserve its individual inset and fade height. */
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-30d485c{
    --recommended-badge-band: 15.5063%;
    --recommended-badge-inset: calc(var(--hg-page-w, 100vw) * 1.1111 / 100);
    --recommended-badge-bottom: calc(var(--hg-page-w, 100vw) * 1.5972 / 100);
  }
}
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-47d2ae6{
    --recommended-badge-band: 25.3133%;
    --recommended-badge-inset: calc(var(--hg-page-w, 100vw) * 1.7361 / 100);
    --recommended-badge-bottom: calc(var(--hg-page-w, 100vw) * 1.8056 / 100);
  }
}
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-e2d65c7{
    --recommended-badge-band: 15.4818%;
    --recommended-badge-inset: calc(var(--hg-page-w, 100vw) * 1.1806 / 100);
    --recommended-badge-bottom: calc(var(--hg-page-w, 100vw) * 1.8056 / 100);
  }
}
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-bf0ea9c{
    --recommended-badge-band: 17.7504%;
    --recommended-badge-inset: calc(var(--hg-page-w, 100vw) * 1.25 / 100);
    --recommended-badge-bottom: calc(var(--hg-page-w, 100vw) * 1.7361 / 100);
  }
}
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-e36ab9e{
    --recommended-badge-band: 36.75%;
    --recommended-badge-inset: calc(var(--hg-page-w, 100vw) * 1.5972 / 100);
    --recommended-badge-bottom: calc(var(--hg-page-w, 100vw) * 1.3889 / 100);
  }
}
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-fc0a505{
    --recommended-badge-band: 16.1137%;
    --recommended-badge-inset: calc(var(--hg-page-w, 100vw) * 0.7639 / 100);
    --recommended-badge-bottom: calc(var(--hg-page-w, 100vw) * 1.9444 / 100);
  }
}
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-297ee80{
    --recommended-badge-band: 18.2777%;
    --recommended-badge-inset: calc(var(--hg-page-w, 100vw) * 1.0417 / 100);
    --recommended-badge-bottom: calc(var(--hg-page-w, 100vw) * 1.7361 / 100);
  }
}
@media (min-width: 768px) /* hg-zoom A12: was 1025px */{
.section-uploads .elementor-element-90b5cbb{
    --recommended-badge-band: 14.1892%;
    --recommended-badge-inset: calc(var(--hg-page-w, 100vw) * 1.0417 / 100);
    --recommended-badge-bottom: calc(var(--hg-page-w, 100vw) * 1.3889 / 100);
  }
}
body .elementor-element-fa45e41{
  margin-bottom: 0 !important;
}
/* /hg:themecss *//* End custom CSS */