:root{color-scheme:dark;--mg-black:#070808;--mg-graphite:#242729;--mg-white:#f1f2f2;--mg-silver:#a9afb2}
*{box-sizing:border-box}
body{margin:0;background:#101314;color:var(--mg-white);font-family:Arial,Helvetica,sans-serif}
[hidden]{display:none!important}
button,a,input{-webkit-tap-highlight-color:transparent}
button,input,textarea{font:inherit}
button,a{touch-action:manipulation}
button{color:inherit}
button:focus-visible,a:focus-visible{outline:2px solid #f4f5f5;outline-offset:5px}
.mg-container{width:min(1200px,calc(100% - 80px));margin-inline:auto}
.mg-top{background:var(--mg-black)}
.mg-top-inner{min-height:108px;display:flex;align-items:center;gap:40px}
.mg-logo{flex:none;display:block;width:70px;height:70px;margin-right:auto}
.mg-logo svg{display:block;width:100%;height:100%;filter:contrast(1.3);mix-blend-mode:screen}
.mg-contacts{display:flex;align-items:center;gap:42px;margin-left:32px;margin-right:auto}
.mg-contact{display:flex;align-items:center;gap:12px;color:var(--mg-white);font-size:15px;text-decoration:none;white-space:nowrap}
.mg-contact:hover{color:#b9c1c5}
.mg-icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mg-hours{display:flex;align-items:center;gap:13px;white-space:nowrap}
.mg-hours>.mg-icon{color:var(--mg-silver)}
.mg-hours-label{display:block;color:#9ba1a4;font-size:11px;letter-spacing:.04em;margin-bottom:5px}
.mg-hours-value{display:block;font-size:16px;font-variant-numeric:tabular-nums;letter-spacing:.035em}
.mg-callback{min-height:43px;display:inline-flex;justify-content:center;align-items:center;gap:20px;padding:0 20px;background:#e2e5e6;color:#151819;border:1px solid #e2e5e6;border-radius:3px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}
.mg-callback>svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.mg-callback:hover{background:#fff;border-color:#fff}
.mg-navigation{background:var(--mg-graphite);border-top:1px solid #ffffff08;border-bottom:1px solid #ffffff12}
.mg-navigation-inner{display:flex;align-items:stretch;justify-content:space-between;min-height:55px;gap:24px}
.mg-navigation button,.mg-navigation a{padding:14px 0;border:0;background:none;color:#e1e3e4;text-align:left;font-size:13px;line-height:1.5;white-space:nowrap;opacity:1;-webkit-text-fill-color:#e1e3e4;cursor:default;text-decoration:none}
.mg-navigation a{cursor:pointer}
.mg-navigation a:hover{color:#fff;-webkit-text-fill-color:#fff}
.mg-menu-toggle{display:none;border:1px solid #ffffff26;background:transparent;width:43px;height:43px;align-items:center;justify-content:center;border-radius:3px;cursor:pointer}
.mg-menu-toggle svg,.mg-dialog-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.mg-banner-preview{margin:0;padding:0;position:relative}
.mg-banner-preview>img{display:block;width:100%;height:auto}
.mg-benefits{position:absolute;left:18.8%;top:63%;z-index:1;list-style:none;margin:0;padding:0;display:grid;gap:15px;max-width:48%;font-size:15px;line-height:1.5;color:#e0e3e5;text-shadow:0 1px 8px #000}
.mg-benefits li{display:flex;align-items:flex-start;gap:11px}
.mg-benefits strong{font-weight:700;color:#fff}
.mg-benefit-check{display:grid;place-items:center;flex:none;width:19px;height:19px;margin-top:2px;border:1px solid #c7cfd480;border-radius:50%;background:#c7cfd425;font-size:12px;font-weight:700;line-height:1;color:#fff;text-shadow:none}
.mg-request-card{position:absolute;z-index:2;right:max(40px,calc((100% - 1200px)/2));top:50%;transform:translateY(-50%);width:310px;padding:25px 22px 20px;background:#f3f4f4;color:#202527;border:1px solid #fff8;border-radius:4px;box-shadow:0 12px 40px #0006;color-scheme:light}
.mg-request-card h1{font-size:24px;letter-spacing:-.025em;text-align:center;line-height:1.2;margin:0 0 13px;font-weight:700}
.mg-request-intro{font-size:13px;line-height:1.55;text-align:center;margin:0 0 22px;color:#4e565a}
.mg-request-form{display:grid;gap:12px}
.mg-request-form>input{width:100%;min-width:0;height:43px;padding:0 13px;border:1px solid #d4dadd;border-radius:2px;background:#fff;color:#202527;font-size:14px;outline-offset:2px}
.mg-request-form>input::placeholder{color:#879196;opacity:1}
.mg-request-form>input:focus-visible{outline:2px solid #626e75}
.mg-request-form>input[aria-invalid=true]{border-color:#9c3232}
.mg-request-submit{display:flex;align-items:center;justify-content:center;gap:21px;width:100%;min-height:43px;border:1px solid #252b2e;border-radius:2px;background:#252b2e;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}
.mg-request-submit:hover{background:#111516}
.mg-request-submit svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.mg-request-consent{display:flex;align-items:flex-start;gap:9px;margin-top:3px;font-size:11px;line-height:1.55;color:#596267;cursor:pointer}
.mg-request-consent input{flex:none;width:14px;height:14px;margin:2px 0 0;accent-color:#252b2e}
.mg-request-card :focus-visible{outline-color:#535f65}
.mg-request-status{margin:0;font-size:10px;line-height:1.5;color:#717b81}
.mg-form-error{font-size:11px;line-height:1.5;color:#9c3232}
.mg-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:1250px) and (min-width:1101px){.mg-request-card{width:285px;padding:20px 18px 16px;right:28px}.mg-request-card h1{font-size:22px}.mg-request-intro{margin-bottom:16px;font-size:12px}.mg-request-form{gap:10px}.mg-benefits{font-size:13px;gap:11px}}
@media(max-width:1100px){.mg-banner-preview{display:grid;grid-template-columns:minmax(0,1fr) 310px;column-gap:35px;row-gap:28px;padding-bottom:32px;background:#101314}.mg-banner-preview>img{grid-column:1 / -1}.mg-benefits{position:static;max-width:none;align-self:center;margin-left:28px;gap:18px;font-size:15px;text-shadow:none}.mg-request-card{position:static;transform:none;width:auto;margin-right:28px}}
@media(max-width:640px){.mg-banner-preview{grid-template-columns:minmax(0,1fr);row-gap:25px;padding-bottom:24px}.mg-benefits{margin:0 18px;gap:14px;font-size:14px}.mg-request-card{width:calc(100% - 36px);max-width:410px;margin:0 auto;padding:25px 22px 20px}.mg-request-card h1{font-size:24px}.mg-request-form>input{font-size:16px;min-height:46px}.mg-request-submit{min-height:46px}.mg-request-consent{font-size:12px}.mg-request-status{font-size:11px}}
@media(min-width:1500px){.mg-top-inner{min-height:112px}.mg-navigation-inner{min-height:56px}}
@media(max-width:1100px){.mg-container{width:calc(100% - 56px)}.mg-top-inner{gap:25px}.mg-contacts{gap:20px;margin-left:0}.mg-contact{font-size:13px;gap:8px}.mg-navigation-inner{gap:20px}.mg-navigation button{font-size:12px}}
@media(max-width:850px){.mg-top-inner{flex-wrap:wrap;gap:22px;padding-block:16px}.mg-logo{width:60px;height:60px}.mg-contacts{order:4;width:100%;margin:0;justify-content:flex-end}.mg-navigation-inner{gap:18px;flex-wrap:wrap;justify-content:flex-start;padding-block:4px}.mg-navigation button{padding-block:10px}.mg-hours-value{font-size:15px}}
@media(max-width:640px){.mg-container{width:calc(100% - 36px)}.mg-top-inner{gap:14px;min-height:136px;display:grid;grid-template-columns:1fr auto auto;padding-block:13px}.mg-logo{width:57px;height:57px;grid-column:1;grid-row:1;margin-right:0}.mg-hours{grid-column:2 / 4;grid-row:1;justify-self:end;gap:10px}.mg-hours-label{font-size:10px;margin-bottom:4px}.mg-hours-value{font-size:14px}.mg-hours>.mg-icon{width:18px;height:18px}.mg-top-inner>.mg-callback{grid-column:1 / 3;grid-row:2;justify-self:start;min-height:40px;font-size:12px;gap:24px;padding-inline:15px}.mg-menu-toggle{display:flex;grid-column:3;grid-row:2;justify-self:end;width:40px;height:40px}.mg-contacts{grid-column:1 / -1;grid-row:3;justify-content:flex-start;flex-wrap:wrap;gap:16px}.mg-contact{font-size:12px}.mg-navigation{display:none}.mg-navigation.is-open{display:block}.mg-navigation-inner{display:flex;flex-direction:column;gap:0;padding-block:8px}.mg-navigation button{width:100%;min-height:44px;padding:12px 0;font-size:14px}.mg-dialog{padding:30px 24px}.mg-dialog h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

/* Раздел услуг: мозаика по согласованному референсу. */
html{scroll-behavior:smooth}
.mg-services{padding:56px 0 58px;background:#17191b;color:#f1f3f4;color-scheme:dark;scroll-margin-top:24px}
.mg-section-heading{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:54px;margin-bottom:40px}
.mg-section-heading>span{height:1px;background:#41464b}
.mg-section-heading h2{font-size:28px;font-weight:400;line-height:1.2;letter-spacing:.055em;text-transform:uppercase;margin:0;text-align:center}
.mg-services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:270px 270px;gap:22px}
.mg-service-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:28px 28px 27px;border-radius:10px;overflow:hidden;isolation:isolate;border:1px solid #ffffff0c}
.mg-service-card--print{grid-column:1 / 3;grid-row:1;background:#393d42}
.mg-service-card--scan{grid-column:3;grid-row:1 / 3;background:#272b2f}
.mg-service-card--model{grid-column:4;grid-row:1 / 3;background:#32363b}
.mg-service-card--laser{grid-column:1 / 3;grid-row:2;background:#2d3136}
.mg-service-copy{position:relative;z-index:2}
.mg-service-copy h3{font-size:22px;line-height:1.25;letter-spacing:-.035em;margin:4px 0 16px;font-weight:700}
.mg-service-copy p{font-size:16px;line-height:1.65;margin:0;color:#cbd0d4}
.mg-service-card--print .mg-service-copy{max-width:52%}
.mg-service-card--laser .mg-service-copy{max-width:350px}
.mg-service-action{position:relative;z-index:3;display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:0 20px;margin-top:auto;border:1px solid #858f97;border-radius:4px;background:transparent;color:#e0e5e8;font-size:13px;line-height:1.4;cursor:pointer;transition:background .18s}
.mg-service-action svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;flex:none}
.mg-service-action--arrow{width:57px;padding:0;margin-top:23px}
.mg-service-action:hover{background:#ffffff12}
.mg-service-action:focus-visible{outline-color:#d5dce0;outline-offset:4px}
.mg-service-media{position:absolute;z-index:1;overflow:hidden;border-radius:8px}
.mg-service-media img{display:block;width:100%;height:100%;object-fit:contain}
.mg-service-card--print .mg-service-media{right:24px;bottom:42px;width:43%;height:45%;border-radius:0}
.mg-service-card--print .mg-service-media img{object-fit:contain;object-position:center;filter:drop-shadow(0 10px 7px #0004)}
.mg-service-card--model .mg-service-media{right:20px;bottom:28px;width:calc(100% - 40px);height:210px;border-radius:0}
.mg-service-card--model .mg-service-media img{object-fit:contain;object-position:center;filter:drop-shadow(0 12px 10px #0003)}
.mg-service-card--scan .mg-service-media{right:16px;bottom:16px;width:calc(100% - 32px);height:260px;border-radius:0}
.mg-service-card--scan .mg-service-media img{object-fit:contain;object-position:center;filter:drop-shadow(0 10px 10px #0003)}
.mg-service-type{position:absolute;right:12px;bottom:12px;font-size:140px;line-height:1;font-weight:700;letter-spacing:-.08em;color:#606970;opacity:.55;user-select:none}
.mg-request-intro{min-height:40px}
@media(max-width:1100px){.mg-services-grid{gap:18px;grid-template-rows:280px 280px}.mg-service-card{padding:23px 20px}.mg-service-copy h3{font-size:20px;overflow-wrap:break-word}.mg-service-copy p{font-size:14px}.mg-service-type{font-size:110px}.mg-service-action{font-size:12px;padding-inline:15px}.mg-section-heading{gap:36px}.mg-navigation a{font-size:12px}}
@media(max-width:900px){.mg-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:20px}.mg-service-card{grid-column:auto;grid-row:auto;min-height:380px;padding:26px}.mg-service-card--print{min-height:300px;grid-column:1 / -1}.mg-service-card--print .mg-service-media{height:54%;width:43%;bottom:28px}.mg-service-card--laser{grid-column:1 / -1;min-height:260px}.mg-service-card--model .mg-service-media{height:150px}.mg-service-copy h3{font-size:23px}.mg-service-copy p{font-size:16px}.mg-service-card--model .mg-service-action{margin-top:18px}.mg-service-type{font-size:135px}}
@media(max-width:850px){.mg-services{padding:42px 0}.mg-section-heading{margin-bottom:30px;gap:24px}.mg-section-heading h2{font-size:25px}.mg-navigation a{padding-block:10px}}
@media(max-width:640px){.mg-services{padding:34px 0}.mg-section-heading{gap:15px;margin-bottom:26px}.mg-section-heading h2{font-size:21px;letter-spacing:.035em}.mg-services-grid{grid-template-columns:minmax(0,1fr);gap:16px}.mg-service-card{grid-column:auto;grid-row:auto;min-height:260px;padding:25px 24px}.mg-service-copy h3{font-size:23px;margin-top:0;margin-bottom:13px}.mg-service-copy p{font-size:15px;line-height:1.65}.mg-service-card--print{min-height:390px}.mg-service-card--print .mg-service-copy{max-width:none}.mg-service-card--print .mg-service-media{width:49%;height:35%;right:18px;bottom:30px}.mg-service-card--print .mg-service-action{max-width:43%;padding-inline:12px;gap:8px;font-size:12px}.mg-service-card--print .mg-service-action svg{display:none}.mg-service-card--model{min-height:440px}.mg-service-card--model .mg-service-media{height:185px}.mg-service-card--laser .mg-service-copy{max-width:none}.mg-service-action{min-height:52px}.mg-service-type{font-size:115px;right:20px;bottom:12px}.mg-service-card--scan .mg-service-copy{max-width:245px}.mg-navigation a{width:100%;min-height:44px;padding:12px 0;font-size:14px}}
@media(max-width:900px){.mg-service-card--scan{min-height:450px}.mg-service-card--scan .mg-service-media{height:190px}}
@media(max-width:640px){.mg-service-card--scan{min-height:470px}.mg-service-card--scan .mg-service-media{height:220px}}

.mg-technologies{padding:56px 0 50px;background:#17191b;color:#f1f3f4;border-top:0;scroll-margin-top:24px}
.mg-technologies .mg-section-heading{margin-bottom:18px;gap:36px}
.mg-technologies-intro{font-size:15px;line-height:1.6;color:#b5bdc3;text-align:center;margin:0 0 32px}
.mg-technologies-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.mg-technology{display:flex;flex-direction:column;min-width:0;padding:28px;background:transparent;border:0;border-radius:0}
.mg-technology:nth-child(2){background:transparent}
.mg-technology-heading{display:flex;align-items:center;gap:20px;margin-bottom:15px}
.mg-technology-heading h3{font-size:36px;font-weight:600;line-height:1;letter-spacing:.02em;margin:0}
.mg-technology-heading>span{max-width:220px;font-size:12px;line-height:1.5;color:#bdc5ca;padding-left:20px;border-left:1px solid #5b646c}
.mg-technology-description{margin:0 0 24px;color:#c8ced3;font-size:14px;line-height:1.7;min-height:48px}
.mg-materials-heading{margin:0 0 8px;font-size:12px;line-height:1.5;color:#aab4bd;font-weight:500;letter-spacing:.055em;text-transform:uppercase}
.mg-materials-list{margin:0 0 25px}
.mg-materials-list>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:14px;align-items:start;border-bottom:1px solid #ffffff10;padding:12px 0;min-height:64px}
.mg-materials-list dt{font-size:14px;line-height:1.5;font-weight:600;color:#f1f3f4}
.mg-materials-list dd{font-size:13px;line-height:1.6;color:#c1c9cf;margin:0}
.mg-materials-list--resin>div{grid-template-columns:118px minmax(0,1fr)}
 .mg-technology-photo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;height:330px;flex-shrink:0;margin:auto 0 0;padding-top:10px;color:#aeb8c0}
.mg-technology-photo img{display:block;width:100%;height:calc(100% - 31px);min-height:0;object-fit:contain;filter:drop-shadow(0 10px 12px #0003)}
.mg-technology-photo figcaption{font-size:12px;line-height:1.5;text-align:center}
.mg-materials-note{margin:22px 0 0;color:#9ca6ae;font-size:12px;line-height:1.7;max-width:850px}
@media(max-width:1000px){.mg-technology{padding:23px}.mg-materials-list>div,.mg-materials-list--resin>div{grid-template-columns:minmax(0,1fr);gap:4px;min-height:90px}.mg-technology-heading{gap:14px}.mg-technology-heading>span{padding-left:14px}.mg-technology-heading h3{font-size:32px}.mg-technologies .mg-section-heading h2{font-size:24px}.mg-technology-description{min-height:72px}}
@media(max-width:700px){.mg-technologies-grid{grid-template-columns:minmax(0,1fr);gap:20px}.mg-technologies{padding:36px 0}.mg-technologies .mg-section-heading{gap:14px}.mg-technologies .mg-section-heading h2{font-size:19px;letter-spacing:.02em;max-width:250px;line-height:1.4}.mg-technologies-intro{font-size:14px;margin-bottom:25px}.mg-technology{padding:24px 21px}.mg-technology-description{min-height:0;margin-bottom:22px}.mg-materials-list>div,.mg-materials-list--resin>div{grid-template-columns:105px minmax(0,1fr);gap:12px;min-height:0}.mg-materials-list dt{font-size:13px}.mg-materials-list dd{font-size:12px}.mg-materials-heading{font-size:11px;letter-spacing:.03em}.mg-technology-photo{height:290px}.mg-materials-note{font-size:11px}}
@media(max-width:380px){.mg-materials-list>div,.mg-materials-list--resin>div{grid-template-columns:minmax(0,1fr);gap:4px}.mg-technology{padding:23px 18px}.mg-technology-heading>span{font-size:11px}}

.mg-prices{padding:55px 0 54px;background:#17191b;border-top:0;color:#f1f3f4;scroll-margin-top:24px}
.mg-prices .mg-section-heading{margin-bottom:18px}
.mg-prices-intro{margin:0 0 32px;color:#b5bdc3;font-size:15px;line-height:1.6;text-align:center}
.mg-prices-table-wrap{overflow-x:auto;border:0;border-radius:0;background:transparent;scrollbar-color:#636c74 #17191b}
.mg-prices-table-wrap:focus-visible{outline:2px solid #aeb9c2;outline-offset:5px}
.mg-prices-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:15px;line-height:1.5;text-align:left}
.mg-prices-table thead{background:transparent;border-bottom:1px solid #545c63}
.mg-prices-table thead th{padding:19px 24px;font-size:15px;line-height:1.5;font-weight:600;color:#fff}
.mg-prices-table thead th:first-child{width:45%}
.mg-prices-table thead th:nth-child(2){width:18%}
.mg-prices-table thead th:nth-child(3){width:17%}
.mg-prices-table thead th:nth-child(4){width:20%}
.mg-prices-table tbody tr{background:transparent}
.mg-prices-table tbody tr:nth-child(even){background:transparent}
.mg-prices-table tbody tr{border-bottom:1px solid #ffffff15}
.mg-prices-table tbody th,.mg-prices-table tbody td{padding:20px 24px;vertical-align:middle}
.mg-prices-table tbody th{font-size:16px;font-weight:500;color:#f0f2f4}
.mg-prices-table tbody th>span{display:block;font-size:12px;font-weight:400;color:#adb8c1;margin-top:4px}
.mg-prices-table tbody td{color:#d0d7dd}
.mg-prices-table strong{font-size:18px;font-weight:600;color:#fff;white-space:nowrap}
.mg-prices-note{max-width:900px;margin:21px 0 0;color:#9faab3;font-size:12px;line-height:1.75}
@media(max-width:700px){.mg-prices{padding:36px 0}.mg-prices-intro{font-size:14px;margin-bottom:25px}.mg-prices-table thead th{font-size:12px;padding:14px 12px}.mg-prices-table thead th:first-child{width:45%}.mg-prices-table thead th:nth-child(2){width:18%}.mg-prices-table thead th:nth-child(3){width:17%}.mg-prices-table thead th:nth-child(4){width:20%}.mg-prices-table tbody th,.mg-prices-table tbody td{padding:16px 12px}.mg-prices-table tbody th{font-size:13px;overflow-wrap:anywhere}.mg-prices-table tbody td{font-size:12px;white-space:nowrap}.mg-prices-table tbody th>span{font-size:10px}.mg-prices-table strong{font-size:13px}.mg-prices-note{font-size:11px}}
@media(max-width:380px){.mg-prices-table thead th{padding:13px 9px;font-size:11px}.mg-prices-table tbody th,.mg-prices-table tbody td{padding:15px 9px}.mg-prices-table strong{font-size:12px}}

@media(max-width:700px){.mg-prices-table{min-width:620px}.mg-prices-table tbody th{overflow-wrap:normal}}

.mg-navigation a[aria-current="page"]{color:#fff;-webkit-text-fill-color:#fff;box-shadow:inset 0 -2px #b8c1c8}
.mg-about-page{background:#17191b;min-height:calc(100vh - 165px);padding:35px 0 58px;color:#eef1f3}
.mg-breadcrumb{display:flex;align-items:center;gap:11px;font-size:12px;line-height:1.5;color:#929fa9;margin:0 0 32px}
.mg-breadcrumb a{color:#c6ced4;text-decoration:none}
.mg-breadcrumb a:hover{color:#fff}
.mg-work-heading{font-size:24px;line-height:1.3;letter-spacing:-.02em;font-weight:500;margin:0 0 16px}
.mg-work-grid{column-count:3;column-gap:calc(10px + 2mm)}
.mg-work{margin:0 0 calc(10px + 2mm);min-width:0;break-inside:avoid}
.mg-work-open{display:block;width:100%;padding:0;border:0;border-radius:5px;background:transparent;cursor:zoom-in;overflow:hidden}
.mg-work-open:focus-visible{outline:2px solid #b8c1c8;outline-offset:2px}
.mg-work-open img{display:block;width:100%;height:auto}
.mg-work-dialog{width:min(1000px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:20px;background:#1b1e21;border:1px solid #4b555e;border-radius:7px;color:#f1f3f5;overflow:auto}
.mg-work-dialog::backdrop{background:#000c;backdrop-filter:blur(4px)}
body:has(.mg-work-dialog[open]){overflow:hidden}
.mg-work-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}
.mg-work-dialog h2{font-size:20px;font-weight:500;line-height:1.4;margin:0}
.mg-work-dialog button{display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid #5d6972;border-radius:3px;background:transparent;color:#eef2f5;cursor:pointer}
.mg-work-dialog button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.mg-work-dialog>img{display:block;width:100%;height:min(680px,calc(100dvh - 140px));object-fit:contain}
@media(max-width:640px){.mg-about-page{padding:27px 0 40px}.mg-breadcrumb{margin-bottom:27px;font-size:11px}.mg-work-heading{font-size:23px;margin-bottom:16px}.mg-work-grid{column-count:2;column-gap:calc(6px + 2mm)}.mg-work{margin-bottom:calc(6px + 2mm)}.mg-work-dialog{padding:15px}.mg-work-dialog h2{font-size:17px}}

/* Ссылки на мессенджеры в первом экране. */
.mg-messengers{position:absolute;z-index:3;left:18.8%;bottom:4%;display:flex;flex-wrap:wrap;gap:12px}
.mg-messenger-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:8px 12px;border:1px solid #c3cbd06b;border-radius:4px;background:#1c2328e8;color:#f1f3f5;text-decoration:none;font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap}
.mg-messenger-link[href]:hover{background:#39434a;border-color:#d5dde2}
.mg-messenger-link[aria-disabled="true"]{cursor:default}
.mg-messenger-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
@media(max-width:1100px){.mg-benefits{grid-column:1;grid-row:2;align-self:end}.mg-messengers{position:static;grid-column:1;grid-row:3;margin-left:28px;align-self:start;gap:10px}.mg-request-card{grid-column:2;grid-row:2 / 4}}
@media(max-width:640px){.mg-messengers{grid-column:1;grid-row:3;margin:0 18px;gap:10px}.mg-request-card{grid-column:1;grid-row:4}.mg-messenger-link{min-height:42px;padding:10px 12px;font-size:12px}}

/* Расширенная форма заявки. */
.mg-messenger-link{min-width:112px;min-height:40px;padding:9px 16px;border-color:#d4dce0;background:#e2e7ea;color:#172127;font-size:14px;font-weight:700;box-shadow:0 3px 12px #0004}
.mg-messenger-link[href]:hover{background:#fff;border-color:#fff}
.mg-request-card{padding:20px;width:340px}
.mg-request-card h1{font-size:23px;margin-bottom:10px}
.mg-request-intro{margin-bottom:14px}
.mg-request-form{gap:10px}
.mg-request-form textarea{display:block;width:100%;min-width:0;min-height:68px;max-height:180px;resize:vertical;padding:11px 13px;border:1px solid #d4dadd;border-radius:2px;background:#fff;color:#202527;font-size:14px;line-height:1.45}
.mg-request-form textarea::placeholder{color:#879196;opacity:1}
.mg-request-form textarea:focus-visible{outline:2px solid #626e75}
.mg-request-file-label{font-size:12px;font-weight:600;line-height:1.4;color:#384349}
.mg-request-form>input[type="file"]{height:auto;padding:0;min-height:32px;border:0;background:transparent;font-size:11px;line-height:1.5;color:#596267}
.mg-request-form>input[type="file"]::file-selector-button{margin-right:8px;padding:7px 10px;border:1px solid #c5cdd1;border-radius:3px;background:#e3e8eb;color:#263239;font:inherit;font-weight:600;cursor:pointer}
@media(max-width:1600px) and (min-width:1101px){.mg-banner-preview{display:grid;grid-template-columns:minmax(0,1fr) 340px;column-gap:35px;row-gap:25px;padding-bottom:32px;background:#101314}.mg-banner-preview>img{grid-column:1 / -1}.mg-benefits{position:static;grid-column:1;grid-row:2;align-self:end;max-width:none;margin-left:28px;gap:18px;font-size:15px;text-shadow:none}.mg-messengers{position:static;grid-column:1;grid-row:3;align-self:start;margin-left:28px}.mg-request-card{position:static;transform:none;grid-column:2;grid-row:2 / 4;width:auto;margin-right:28px}}
@media(max-width:1100px){.mg-banner-preview{grid-template-columns:minmax(0,1fr) 340px}.mg-request-card{width:auto}}
@media(max-width:640px){.mg-banner-preview{grid-template-columns:minmax(0,1fr)}.mg-request-card{width:calc(100% - 36px);padding:22px;max-width:410px}.mg-request-form textarea{font-size:16px}.mg-request-form>input[type="file"]{min-height:34px;font-size:12px}.mg-messenger-link{min-height:42px;min-width:120px;font-size:14px}}

/* Нижняя панель с разделами сайта и контактами. */
.mg-footer{background:#070808;color:#f1f3f4;padding:56px 0 50px;scroll-margin-top:24px;border-top:1px solid #ffffff12}
.mg-footer-grid{display:grid;grid-template-columns:.85fr 1.15fr 1.1fr 1.35fr;gap:38px;align-items:start}
.mg-footer-logo{display:block;width:76px;height:76px;margin-bottom:18px}
.mg-footer-logo svg{display:block;width:100%;height:100%;filter:contrast(1.3);mix-blend-mode:screen}
.mg-footer-name{font-size:16px;line-height:1.4;font-weight:600;margin:0 0 8px}
.mg-footer-copyright{font-size:13px;color:#9ba5ad;margin:0 0 22px}
.mg-footer-hours{font-size:12px;line-height:1.7;color:#9ba5ad;margin:0}
.mg-footer-hours span{font-size:14px;color:#d9dfe3}
.mg-footer h2{font-size:20px;line-height:1.3;font-weight:600;margin:0 0 25px;letter-spacing:-.015em}
.mg-footer a{color:#d9dfe3;text-decoration:none}
.mg-footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.mg-footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:13px;min-width:0}
.mg-footer-nav h2{margin-bottom:12px}
.mg-footer-nav>a{font-size:14px;line-height:1.55}
.mg-footer-contacts{min-width:0}
.mg-footer-social{display:flex;align-items:center;flex-wrap:wrap;gap:14px 20px;margin-bottom:25px}
.mg-footer-social>a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;line-height:1.5}
.mg-footer-social svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.mg-footer-details{display:grid;gap:18px;margin:0}
.mg-footer-details dt{font-size:13px;font-weight:600;line-height:1.5;margin-bottom:5px;color:#e3e7e9}
.mg-footer-details dd{margin:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.mg-footer-placeholder{color:#7e8a93}
@media(max-width:1000px){.mg-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 45px}.mg-footer-brand{grid-column:1;grid-row:1}.mg-footer-contacts{grid-column:2;grid-row:1}.mg-footer h2{font-size:19px}}
@media(max-width:540px){.mg-footer{padding:36px 0}.mg-footer-grid{grid-template-columns:minmax(0,1fr);gap:32px}.mg-footer-brand{grid-column:1;grid-row:auto}.mg-footer-contacts{grid-column:1;grid-row:auto}.mg-footer-logo{width:62px;height:62px;margin-bottom:13px}.mg-footer-copyright{margin-bottom:13px}.mg-footer h2{margin-bottom:19px}.mg-footer-nav h2{margin-bottom:6px}}
