/* Shared native editor/frontend adapter. Native controls own editable layout and typography. */
.mg-native-element.e-con{--width:auto;--container-widget-width:100%;--container-widget-flex-grow:0;--container-widget-align-self:auto;--widgets-spacing:0;--widgets-spacing-row:0;--widgets-spacing-column:0;--container-default-padding-top:0;--container-default-padding-right:0;--container-default-padding-bottom:0;--container-default-padding-left:0;--gap:0}
.mg-native-element.elementor-widget{min-width:0;margin-block-end:0}.mg-native-element.elementor-widget-heading .elementor-heading-title{margin:0;padding:0}.mg-native-element.elementor-widget-text-editor .elementor-widget-container>p:last-child{margin-bottom:0}.mg-native-element.elementor-widget-image img{max-width:100%;position:static;inset:auto}
.mg-native-element.elementor-widget-button{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important;min-height:0!important;width:auto;flex:0 0 auto}.mg-native-element.elementor-widget-button .elementor-button{white-space:inherit}.mg-native-element.elementor-widget-html{width:auto}
.mg-native-loop-grid{width:100%;min-width:0}.mg-native-loop-grid .elementor-pagination{margin-top:32px}.mg-loop-card .elementor-widget-theme-post-title :is(h2,h3){font-size:21px;line-height:1.35}.mg-unmanaged-post-title{width:min(100% - 48px,1000px);margin:60px auto 30px!important}
body.elementor-editor-active .mg-native-element{scroll-margin-top:30px}body.elementor-editor-active :is(.reading-progress,.mobile-convert){pointer-events:none}
body.mg-site.experience-site.quality-2026{--blue:var(--e-global-color-primary,#0753e8);--ink:var(--e-global-color-secondary,#14263f);--navy:var(--e-global-color-secondary,#14263f);--q-body:var(--e-global-color-text,#435873);--muted:var(--e-global-color-mgmuted,#52647b);--body:var(--e-global-typography-text-font-family,'DM Sans'),sans-serif;--display:var(--e-global-typography-primary-font-family,'Manrope'),sans-serif}body.mg-account{--blue:var(--e-global-color-mgaccount,#1455ef);--ink:var(--e-global-color-mgaccountink,#17263e)}

.mg-editor-form.mg-app{min-height:0;margin:0;padding:0;background:transparent}
/* Keep native grid column/row controls effective against the source stylesheet. */
body.mg-site .elementor .e-con.mg-native-element.e-grid{grid-template-columns:var(--e-con-grid-template-columns);grid-template-rows:var(--e-con-grid-template-rows)}

/* Native widget wrappers must keep the source tab rail intrinsic and scrollable. */
.mg-site .elementor :is(.project-path-tabs,.process-tabs,.service-tablist){min-width:0;max-width:100%;overflow-x:auto;flex-wrap:nowrap}
.mg-site .elementor :is(.project-path-tabs,.process-tabs,.service-tablist)>.elementor-widget-button{flex:0 0 auto;max-width:none;width:auto}
.mg-site .elementor :is(.project-path-tabs,.service-tablist) .elementor-button{white-space:nowrap;width:max-content}
.mg-site .elementor .process-tabs .elementor-button{min-width:140px;white-space:normal}
.mg-site .elementor .mobile-convert.e-con{height:auto;min-height:0;flex-direction:row;align-items:center;flex-wrap:nowrap}
.mg-site .elementor .mobile-convert .elementor-widget-button{flex:0 0 auto}
.mg-site .elementor .mobile-convert .elementor-button{white-space:normal}
.mg-site .mg-native-form .elementor-select-wrapper{display:block;position:relative;width:100%;opacity:1;visibility:visible}
.mg-site .mg-native-form .elementor-select-wrapper select{display:block!important;position:static!important;inset:auto;opacity:1!important;visibility:visible!important;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23365d90' stroke-width='1.7'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:12px 8px;padding-right:36px;width:100%;height:auto;min-height:48px;clip:auto;clip-path:none;pointer-events:auto}
.mg-site .mg-native-form .elementor-field-type-acceptance .elementor-field-option label{display:inline;font-weight:400}
.mg-site .mg-native-form .elementor-button[type=submit]{background:var(--e-global-color-primary,#0753e8);color:#fff;font-weight:750;border-radius:100px;padding:14px 23px;min-height:52px}

.mg-site .header-account .elementor-button-text{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.mg-site .header-account .mg-account-outline-icon{display:block;flex-shrink:0;width:20px;height:20px}
@media(max-width:760px){.mg-site .header-account .elementor-button-text>span{display:none}}
.mg-mobile-menu-panel :is(#mg-mobile-nav,#mg-fallback-mobile-nav) .elementor-button{text-align:left;justify-content:flex-start}
.mg-mobile-menu-panel :is(#mg-mobile-nav,#mg-fallback-mobile-nav) summary{text-align:left;justify-content:flex-start}
.mg-mobile-menu-panel .elementor-widget-button.nav-mobile-cta .elementor-button{justify-content:center;text-align:center;width:100%}
.mg-site .elementor .mg-loop-card .elementor-widget-heading :is(h2,h3){font-size:21px;line-height:1.35;font-weight:750}

.mg-site .elementor :is(.project-path-tabs,.process-tabs,.service-tablist)>.elementor-widget-html{flex:0 0 auto;width:max-content;max-width:none}
.mg-site .elementor .project-path-tabs>.elementor-widget-html button{white-space:nowrap;min-width:max-content}
.mg-site .elementor .process-tabs>.elementor-widget-html button{min-width:145px;max-width:190px}
.mg-mobile-menu-panel .mobile-nav-item-icon{display:block;flex:0 0 20px;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mg-menu-popup:not(.mg-menu-reduced) :is(#mg-mobile-nav,#mg-fallback-mobile-nav)>.elementor-widget-button{animation:mg-menu-link-enter .32s both}



/* A source image has one layout box: the editable Image widget wrapper.
   Native image controls retain higher specificity for intentional editor overrides. */
:where(.mg-site) .mg-native-element.elementor-widget-image img{display:block;width:100%;height:100%;max-width:100%;object-fit:inherit;object-position:inherit;transform:none;animation:none;filter:none}
:where(.mg-site) .mg-native-element.elementor-widget-image>a{display:block;width:100%;height:100%}
.mg-site .elementor .mg-native-element.elementor-widget-text-editor>:is(p,span){font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}

/* Source margins belong to widget wrappers, once; inner text stays structural. */
body.mg-site .elementor .mg-native-element.elementor-widget-heading .elementor-heading-title{margin:0;padding:0}
body.mg-site .elementor .mg-native-element.elementor-widget-text-editor>p:only-child,body.mg-site .elementor .mg-native-element.elementor-widget-text-editor>.elementor-widget-container>p:only-child{margin:0;padding:0;font:inherit;letter-spacing:inherit;color:inherit}
/* Native select uses one chevron, without a second Pro caret or pseudo arrow. */
body.mg-site .mg-native-form .elementor-select-wrapper>.select-caret-down-wrapper,body.mg-site .mg-native-form .elementor-select-wrapper:before{display:none}
body.mg-site .mg-native-form .elementor-field-type-text:has(>input[name="form_fields[mg_honey]"]){display:none}
/* The source CTA spans its native widget slot; its editable controls own the
   original 400-weight type, 30px mobile radius and responsive padding. */
body.mg-site .elementor .mobile-convert>.elementor-widget-button{flex:1 1 100%;width:100%;min-width:0}
body.mg-site .elementor .mobile-convert .elementor-button{display:flex;align-items:center;justify-content:center;gap:20px;width:100%}
/* The source pointer belongs to the ruler, not its relative HTML widget box. */
body.mg-site .elementor .elementor-widget-html:has(.mg-ruler-pointer){position:static;flex:none;width:0;height:0;min-height:0;margin:0;padding:0}
body.mg-site .elementor .elementor-widget-html:has(.mg-ruler-pointer)>.elementor-widget-container{position:static;height:0;min-height:0}
