body.mg-site .mg-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:100%;min-width:0}body.mg-site .mg-catalog-grid .service-card{min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden;text-decoration:none}body.mg-site .mg-catalog-grid .service-card-photo{aspect-ratio:16/10;overflow:hidden;background:#edf3fc}body.mg-site .mg-catalog-grid .service-card-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}body.mg-site .mg-catalog-grid .service-card:hover .service-card-photo img{transform:scale(1.035)}body.mg-site .mg-catalog-grid .service-card-body{flex:1;display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}body.mg-site .mg-catalog-grid .card-arrow{margin-top:auto;padding-top:16px}body.mg-site .mg-catalog-featured{margin:0;width:100%;overflow:hidden;border-radius:20px}body.mg-site .mg-catalog-featured img{display:block;width:100%;height:auto;max-height:680px;object-fit:contain}body.mg-site .mg-imported-service{max-width:1120px;margin:0 auto;padding:36px 24px;gap:24px;background:#fff;border-radius:24px}body.mg-site .mg-imported-service .elementor-button{color:#fff!important;background:#0751ed}body.mg-site .mg-imported-service .elementor-button:hover{background:#0645cc}@media(max-width:1000px){body.mg-site .mg-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){body.mg-site .mg-catalog-grid{grid-template-columns:minmax(0,1fr);gap:18px}body.mg-site .mg-imported-service{padding:24px 18px}}@media(prefers-reduced-motion:reduce){body.mg-site .mg-catalog-grid .service-card-photo img{transition:none;transform:none!important}}
/* 2.5.1: single services use the established homepage palette and type scale. */
body.mg-site .mg-imported-service{font-family:var(--e-global-typography-text-font-family,'DM Sans'),sans-serif;color:var(--e-global-color-text,#52647b)}
body.mg-site .mg-imported-service .elementor-widget-text-editor{font-size:17px;line-height:1.85}
body.mg-site .mg-imported-service .elementor-heading-title{overflow-wrap:break-word;word-break:normal;letter-spacing:-.035em;color:var(--e-global-color-secondary,#14263f)}
body.mg-site .mg-service-detail.e-con{display:flex;flex-direction:column;gap:26px;max-width:1200px;width:calc(100% - 64px);margin:30px auto 72px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;--container-widget-width:100%;--widgets-spacing:0}
body.mg-site .mg-service-detail :is(.e-con,.elementor-widget){min-width:0;max-width:100%}
body.mg-site .mg-service-detail .elementor-widget{margin:0}
body.mg-site .mg-service-detail :is(h1,h2,h3,p,ul,ol,figure){margin-block-start:0}
body.mg-site .mg-service-detail p:last-child{margin-bottom:0}
body.mg-site .mg-service-detail .elementor-widget-text-editor :is(p,li){font-size:17px;line-height:1.85}
body.mg-site .mg-service-detail .elementor-heading-title{font-family:var(--e-global-typography-primary-font-family,Manrope),sans-serif;font-weight:700;font-size:30px;line-height:1.25;margin:0}
body.mg-site .mg-service-detail h3.elementor-heading-title{font-size:20px;line-height:1.4;letter-spacing:-.02em}
body.mg-site .mg-service-breadcrumb{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:14px;line-height:1.6;color:var(--e-global-color-text,#52647b);padding:0 4px;overflow-wrap:anywhere}
body.mg-site .mg-service-breadcrumb a:hover{color:var(--e-global-color-primary,#0751ed)}
body.mg-site .mg-service-detail .mg-service-hero.e-con{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:center;gap:36px;padding:40px;background:linear-gradient(135deg,#fff 25%,#f4f8ff);border:1px solid #e0e7f1;border-radius:28px;box-shadow:0 22px 64px -50px #17355e55}
body.mg-site .mg-service-detail .mg-service-hero-copy.e-con{display:flex;flex-direction:column;gap:22px;padding:0}
body.mg-site .mg-service-detail .eyebrow{display:block;font-family:var(--e-global-typography-primary-font-family,Manrope),sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;line-height:1.6;color:#52647b;margin:0}
body.mg-site .mg-service-detail .mg-service-title .elementor-heading-title{font-size:clamp(32px,3.6vw,52px);line-height:1.13;letter-spacing:-.045em;text-wrap:balance;max-width:22ch}
body.mg-site .mg-service-detail .mg-service-lead .elementor-widget-container p{font-size:18px;line-height:1.75;margin:0;max-width:58ch}
body.mg-site .mg-service-detail .mg-service-hero-media.e-con{padding:0;align-self:stretch;justify-content:center}
body.mg-site .mg-service-detail .mg-service-hero-image{border-radius:20px;background:#eaf1fb}
body.mg-site .mg-service-detail .mg-service-hero-image img{display:block;width:100%;height:auto;aspect-ratio:4/3;max-height:500px;object-fit:cover}
body.mg-site .mg-service-detail .mg-service-actions.e-con{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:0;margin-top:4px}
body.mg-site .mg-service-detail .mg-service-primary{width:auto;max-width:100%}
body.mg-site .mg-service-detail .mg-service-action{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:54px;padding:15px 25px;border:1px solid transparent;border-radius:14px;background:var(--e-global-color-primary,#0751ed);box-shadow:0 10px 24px -16px #0751ed99;color:#fff!important;font:700 15px/1.5 var(--e-global-typography-primary-font-family,Manrope),sans-serif;text-decoration:none;white-space:normal;text-align:center;max-width:100%;transition:background .2s,box-shadow .2s,transform .2s}
body.mg-site .mg-service-detail .mg-service-action:hover{background:#0645ce;transform:translateY(-1px);box-shadow:0 12px 28px -14px #0751ed88}
body.mg-site .mg-service-detail .mg-service-action>span:last-child{flex:none;transition:transform .2s}
body.mg-site .mg-service-detail .mg-service-action:hover>span:last-child{transform:translate(2px,-2px)}
body.mg-site .mg-service-detail .mg-service-category-link{font-size:14px;line-height:1.7;color:#3a5d88;display:inline-flex;gap:10px;align-items:baseline;text-decoration:none}
body.mg-site .mg-service-detail .mg-service-category-link:hover{color:#0751ed;text-decoration:underline;text-underline-offset:4px}
body.mg-site .mg-service-detail :is(.mg-service-intro-grid,.mg-service-notes-grid).e-con{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;padding:0;align-items:stretch}
body.mg-site .mg-service-detail :is(.mg-service-panel,.mg-service-section).e-con{padding:32px;display:flex;flex-direction:column;gap:20px;background:#fff;border:1px solid #e0e7f1;border-radius:24px}
body.mg-site .mg-service-detail .mg-service-section.e-con{padding:32px 0;background:transparent;border:0;gap:24px}
body.mg-site .mg-service-detail .mg-service-prepare.e-con{background:linear-gradient(145deg,#f5f9ff,#eaf2ff)}
body.mg-site .mg-service-detail .mg-service-prepare .elementor-heading-title{font-size:25px}
body.mg-site .mg-service-detail .mg-service-prepare ul{list-style:none;margin:0;padding:0;display:grid;gap:13px}
body.mg-site .mg-service-detail .mg-service-prepare li{position:relative;padding-left:28px}
body.mg-site .mg-service-detail .mg-service-prepare li:before{content:'✓';position:absolute;left:0;color:#0751ed;font-weight:700}
body.mg-site .mg-service-detail :is(.mg-service-scope-grid,.mg-service-process-grid).e-con{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;align-items:stretch}
body.mg-site .mg-service-detail :is(.mg-service-scope-card,.mg-service-process-card).e-con{padding:26px;background:#fff;border:1px solid #e0e7f1;border-radius:20px;display:flex;flex-direction:column;gap:14px}
body.mg-site .mg-service-detail :is(.mg-service-scope-card,.mg-service-process-card) .elementor-widget-text-editor :is(p,li){font-size:16px;line-height:1.8}
body.mg-site .mg-service-detail .mg-service-step-number{display:inline-grid;place-items:center;min-width:44px;height:44px;border-radius:14px;background:#eaf1ff;color:#0751ed;font:700 16px/1 var(--e-global-typography-primary-font-family,Manrope),sans-serif;margin-bottom:5px}
body.mg-site .mg-service-detail .mg-service-panel ul{padding-left:22px;margin-bottom:0}
body.mg-site .mg-service-detail .mg-service-prepare ul{padding-left:0}
body.mg-site .mg-service-detail .mg-service-panel li+li{margin-top:8px}
body.mg-site .mg-service-detail .mg-service-faq details{padding:20px 0;border-bottom:1px solid #e0e7f1}
body.mg-site .mg-service-detail .mg-service-faq details:first-child{padding-top:4px}
body.mg-site .mg-service-detail .mg-service-faq details:last-child{border-bottom:0;padding-bottom:0}
body.mg-site .mg-service-detail .mg-service-faq summary{position:relative;display:block;padding-right:30px;list-style:none;cursor:pointer;font:650 18px/1.55 var(--e-global-typography-primary-font-family,Manrope),sans-serif;color:#14263f}
body.mg-site .mg-service-detail .mg-service-faq summary::-webkit-details-marker{display:none}
body.mg-site .mg-service-detail .mg-service-faq summary:after{content:'+';position:absolute;right:2px;top:0;color:#0751ed;font-size:23px;font-weight:400}
body.mg-site .mg-service-detail .mg-service-faq details[open]>summary:after{content:'−'}
body.mg-site .mg-service-detail .mg-service-faq details>p{font-size:17px;line-height:1.85;margin:16px 0 0;max-width:82ch}
body.mg-site .mg-service-detail .mg-service-related ul{display:flex;gap:12px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
body.mg-site .mg-service-detail .mg-service-related li{margin:0}
body.mg-site .mg-service-detail .mg-service-related li+li{margin-top:0}
body.mg-site .mg-service-detail .mg-service-related a{display:inline-flex;align-items:center;min-height:46px;padding:10px 16px;border:1px solid #dce6f6;border-radius:999px;background:#f3f7ff;color:#305781;font-size:15px;line-height:1.6;text-decoration:none}
body.mg-site .mg-service-detail .mg-service-related a:hover{border-color:#9db9ef;background:#eaf1ff;color:#0751ed}
body.mg-site .mg-service-detail .mg-service-quote.e-con{display:flex;flex-direction:column;align-items:flex-start;gap:22px;background:linear-gradient(135deg,#eef4ff,#fff);border:1px solid #dce6f6;border-radius:26px;padding:38px}
body.mg-site .mg-service-detail .mg-service-quote .elementor-widget-text-editor{max-width:72ch}
body.mg-site .mg-service-detail :is(a,summary):focus-visible{outline:3px solid #8aaff7;outline-offset:4px}
body.mg-catalog-single .mobile-convert:not([data-mg-catalog-cta]){display:none!important}
body.mg-site .mg-catalog-convert{display:none}
@media(max-width:1000px){body.mg-site .mg-service-detail .mg-service-hero.e-con{gap:26px;padding:30px}body.mg-site .mg-service-detail :is(.mg-service-scope-grid,.mg-service-process-grid).e-con{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){body.mg-site .mg-service-detail .mg-service-hero.e-con{grid-template-columns:minmax(0,1fr)}body.mg-site .mg-service-detail .mg-service-title .elementor-heading-title{max-width:25ch;font-size:40px}body.mg-site .mg-service-detail :is(.mg-service-intro-grid,.mg-service-notes-grid).e-con{grid-template-columns:minmax(0,1fr)}body.mg-site .mg-service-detail .mg-service-hero-image img{aspect-ratio:16/10;max-height:420px}}
@media(max-width:620px){
 body.mg-site .mg-service-detail.e-con{width:calc(100% - 28px);margin:22px auto 48px;gap:18px}
 body.mg-site .mg-service-breadcrumb{font-size:12px;gap:8px;padding-inline:6px}
 body.mg-site .mg-service-detail .mg-service-hero.e-con{padding:25px 22px;gap:26px;border-radius:24px}
 body.mg-site .mg-service-detail .mg-service-hero-copy.e-con{gap:18px}
 body.mg-site .mg-service-detail .mg-service-title .elementor-heading-title{font-size:clamp(29px,8.5vw,38px);line-height:1.16;letter-spacing:-.04em;max-width:none}
 body.mg-site .mg-service-detail .mg-service-lead .elementor-widget-container p{font-size:17px;line-height:1.8}
 body.mg-site .mg-service-detail :is(.mg-service-panel,.mg-service-scope-card,.mg-service-process-card).e-con{padding:24px 22px;border-radius:21px}
 body.mg-site .mg-service-detail .mg-service-section.e-con{padding:18px 6px;gap:20px}
 body.mg-site .mg-service-detail :is(.mg-service-scope-grid,.mg-service-process-grid).e-con{grid-template-columns:minmax(0,1fr);gap:13px}
 body.mg-site .mg-service-detail .elementor-heading-title{font-size:27px;line-height:1.3}
 body.mg-site .mg-service-detail h3.elementor-heading-title{font-size:20px}
 body.mg-site .mg-service-detail .mg-service-quote.e-con{padding:28px 23px;border-radius:23px;gap:20px}
 body.mg-site .mg-service-detail .mg-service-actions.e-con{align-items:stretch}
 body.mg-site .mg-service-detail .mg-service-primary,body.mg-site .mg-service-detail .mg-service-action{width:100%}
 body.mg-site .mg-service-detail .mg-service-action{min-height:52px;padding:14px 18px;font-size:15px;border-radius:14px}
 body.mg-site .mg-service-detail .mg-service-faq summary{font-size:17px;line-height:1.6}
 body.mg-site .mg-service-detail .mg-service-category-link{font-size:13px}
 body.mg-site .mg-catalog-convert{position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:80;display:flex;align-items:center;justify-content:center;padding:8px;border:1px solid rgba(240,247,255,.72);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(216,232,250,.66));backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);box-shadow:0 8px 35px #10244022;transform:translateY(120%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .3s,opacity .3s,visibility .3s}
 body.mg-site .mg-catalog-convert.is-visible:not([aria-hidden="true"]){transform:none;opacity:1;visibility:visible;pointer-events:auto}
 body.mg-site .mg-catalog-convert[aria-hidden="true"]{visibility:hidden;pointer-events:none}
 body.mg-site .mg-catalog-convert[hidden]{display:none!important}
 body.mg-site .mg-catalog-convert>a.button{display:flex;align-items:center;justify-content:center;gap:20px;width:100%;min-height:48px;border:1px solid transparent;border-radius:14px;padding:12px 18px;background:var(--e-global-color-primary,#0751ed);color:#fff!important;font:700 15px/1.5 var(--e-global-typography-primary-font-family,Manrope),sans-serif;text-decoration:none;white-space:normal;text-align:center}
 body.mg-site .mg-catalog-convert>a.button:hover{background:#0645ce}
 body.mg-site .mg-catalog-convert>a.button:focus-visible{outline:3px solid #8aaff7;outline-offset:3px}
}
@media(prefers-reduced-motion:reduce){body.mg-site .mg-service-detail .mg-service-action,body.mg-site .mg-service-detail .mg-service-action>span:last-child,body.mg-site .mg-catalog-convert{transition:none}body.mg-site .mg-service-detail .mg-service-action:hover{transform:none}}
/* Protected older service documents receive readable typography without rebuilding their content. */
body.mg-site .elementor .mg-imported-service:not(.mg-service-detail) .elementor-widget-heading .elementor-heading-title{font-size:30px;line-height:1.3}
body.mg-site .elementor .mg-imported-service:not(.mg-service-detail) .elementor-widget-heading h1.elementor-heading-title{font-size:clamp(30px,4vw,48px);line-height:1.16}
body.mg-site .elementor .mg-imported-service:not(.mg-service-detail) .elementor-widget-heading h3.elementor-heading-title{font-size:21px;line-height:1.4}
