@font-face {
  font-family: "Inter";
  src: url("/fonts/inter-cyrillic-wght-normal.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
}

/* Project detail body — a standalone CMS image is full-colour and occupies
   the same 738px text column as the article content on desktop. */
@media (min-width:1101px) {
  .cms-detail--project .cms-detail__body > .cms-image { width:738px; margin:80px auto; }
  .cms-detail--project .cms-detail__body > .cms-image img { display:block; width:738px; max-width:none; height:460px; object-fit:cover; filter:none; opacity:1; }
}

@media (max-width:520px) {
  .cms-detail--project .cms-detail__body > .cms-image { width:100%; margin:calc(56 * 100vw / 375) auto; }
  .cms-detail--project .cms-detail__body > .cms-image img { display:block; width:100%; max-width:none; height:calc(230 * 100vw / 375); object-fit:cover; filter:none; opacity:1; }
  .cms-detail--project .cms-detail__body .cms-list-block { margin:0; }
  .cms-detail--project .cms-detail__body .cms-rich-content + .cms-list-block { margin-top:calc(24 * 100vw / 375); }
  .cms-detail--project .cms-detail__body .cms-list-block + .cms-rich-content { margin-top:calc(24 * 100vw / 375); }
  .cms-detail--project .cms-detail__body .cms-list-block ul,
  .cms-detail--project .cms-detail__body .cms-list-block ol { margin:0; padding-left:calc(18 * 100vw / 375); }
  .cms-detail--project .cms-detail__body .cms-list-block ul { list-style:disc outside; }
  .cms-detail--project .cms-detail__body .cms-list-block ol { list-style:decimal outside; }
  .cms-detail--project .cms-detail__body .cms-list-block li { margin:0 0 calc(8 * 100vw / 375); padding-left:0; color:#17314d; font:400 calc(13 * 100vw / 375)/calc(18 * 100vw / 375) Inter,Arial,sans-serif; }
  .cms-detail--project .cms-detail__body .cms-list-block li:last-child { margin-bottom:0; }
  .cms-detail--project .cms-detail__body .cms-list-block li::marker { color:#17314d; }
}

@media (min-width:1101px) {
  .cms-detail--project .cms-detail__body .cms-list-block { margin:0; }
  .cms-detail--project .cms-detail__body .cms-rich-content + .cms-list-block { margin-top:24px; }
  .cms-detail--project .cms-detail__body .cms-list-block + .cms-rich-content { margin-top:24px; }
  .cms-detail--project .cms-detail__body .cms-list-block ul,
  .cms-detail--project .cms-detail__body .cms-list-block ol { margin:0; padding-left:24px; }
  .cms-detail--project .cms-detail__body .cms-list-block ul { list-style:disc outside; }
  .cms-detail--project .cms-detail__body .cms-list-block ol { list-style:decimal outside; }
  .cms-detail--project .cms-detail__body .cms-list-block li { margin:0 0 8px; padding-left:0; color:#17314d; font:400 16px/normal Inter,Arial,sans-serif; }
  .cms-detail--project .cms-detail__body .cms-list-block li:last-child { margin-bottom:0; }
  .cms-detail--project .cms-detail__body .cms-list-block li::marker { color:#17314d; }
}

/* Blog listing cards — preserve the card geometry while giving images the
   same quiet zoom-on-hover feedback used elsewhere in the catalogue. */
@media (min-width:1101px) {
  .blog-company__featured-image img,
  .blog-company__compact-image img,
  .blog-company__popular-image img { transition:transform .35s ease; }
  .blog-company__featured:hover .blog-company__featured-image img,
  .blog-company__compact:hover .blog-company__compact-image img,
  .blog-company__popular-card:hover .blog-company__popular-image img { transform:scale(1.05); }
}

/* Project detail — "Другие проекты", Figma 618:605.
   The carousel intentionally uses the same CMS project cards and selection
   pattern as the homepage, while preserving the 375px mobile composition. */
@media (max-width:520px) {
  .project-showcase { padding:calc(72 * 100vw / 375) 0 calc(112 * 100vw / 375); }
  .project-showcase .project-showcase__header { display:block; width:calc(100% - (32 * 100vw / 375)); margin:0 auto; }
  .project-showcase h2 { width:100%; margin:0; color:#004084; font:700 calc(24 * 100vw / 375)/calc(30 * 100vw / 375) "Roboto Condensed","Arial Narrow",Arial,sans-serif; letter-spacing:calc(-1.2 * 100vw / 375); text-transform:uppercase; }
  .project-showcase__header p { width:calc(285 * 100vw / 375); margin:calc(12 * 100vw / 375) 0 0; color:#17314d; font:500 calc(13 * 100vw / 375)/calc(18 * 100vw / 375) Inter,Arial,sans-serif; letter-spacing:calc(-.13 * 100vw / 375); }
  .project-showcase__nav { display:flex; justify-content:flex-end; gap:calc(16 * 100vw / 375); margin:calc(32 * 100vw / 375) 0 0; }
  .project-showcase__nav button { display:block; width:calc(24 * 100vw / 375); height:calc(24 * 100vw / 375); padding:0; border:0; background:#004084; cursor:pointer; mask:center / 100% 100% no-repeat url("../img/equipment-project-arrow.4ae6ce9b8a3e.svg"); -webkit-mask:center / 100% 100% no-repeat url("../img/equipment-project-arrow.4ae6ce9b8a3e.svg"); }
  .project-showcase__nav button:first-child { transform:rotate(180deg); }
  .project-showcase__nav button:disabled { background:#8d949c; cursor:default; }
  .project-showcase__nav img { display:none; }
  .project-showcase .project-showcase__grid { display:flex; width:100%; margin:calc(32 * 100vw / 375) 0 0; padding:0 calc(16 * 100vw / 375) calc(16 * 100vw / 375); gap:calc(16 * 100vw / 375); overflow-x:auto; overflow-y:hidden; scroll-behavior:smooth; scroll-snap-type:x mandatory; scroll-padding-inline-start:calc(16 * 100vw / 375); scrollbar-width:none; }
  .project-showcase__grid::-webkit-scrollbar { display:none; }
  .project-showcase__card { display:flex; flex:0 0 calc(285 * 100vw / 375); width:calc(285 * 100vw / 375); height:calc(318 * 100vw / 375); flex-direction:column; overflow:hidden; border:calc(.5 * 100vw / 375) solid #f1f3f6; border-radius:calc(10 * 100vw / 375); background:#fff; box-shadow:calc(1 * 100vw / 375) calc(1 * 100vw / 375) calc(15 * 100vw / 375) rgb(0 0 0 / 5%); color:inherit; text-decoration:none; scroll-snap-align:start; scroll-snap-stop:always; }
  .project-showcase__image { display:block; width:100%; height:calc(152 * 100vw / 375); flex:0 0 calc(152 * 100vw / 375); border-radius:calc(2.5 * 100vw / 375); object-fit:cover; }
  .project-showcase__body { display:flex; flex:1; flex-direction:column; min-height:0; padding:calc(8 * 100vw / 375) calc(12 * 100vw / 375) calc(12 * 100vw / 375); }
  .project-showcase__tag { width:max-content; height:calc(16 * 100vw / 375); margin:0; padding:calc(3 * 100vw / 375) calc(8 * 100vw / 375); color:#596470; background:#f1f3f6; font:500 calc(8 * 100vw / 375)/calc(10 * 100vw / 375) "Roboto Condensed","Arial Narrow",Arial,sans-serif; text-transform:uppercase; }
  .project-showcase h3 { display:-webkit-box; overflow:hidden; margin:calc(8 * 100vw / 375) 0 0; color:#17314d; font:600 calc(14 * 100vw / 375)/calc(18 * 100vw / 375) Inter,Arial,sans-serif; letter-spacing:calc(-.28 * 100vw / 375); -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; }
  .project-showcase__text { display:-webkit-box; overflow:hidden; margin:calc(8 * 100vw / 375) 0 0; color:#17314d; font:400 calc(11 * 100vw / 375)/calc(14 * 100vw / 375) Inter,Arial,sans-serif; -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3; }
  .project-showcase__link, a.project-showcase__link { display:inline-flex; align-items:center; gap:calc(2 * 100vw / 375); height:calc(12 * 100vw / 375); margin-top:auto; color:#004084 !important; font:500 calc(10 * 100vw / 375)/calc(12 * 100vw / 375) "Roboto Condensed","Arial Narrow",Arial,sans-serif; text-decoration:none; text-transform:uppercase; }
  .project-showcase__chevron { display:block; width:calc(12 * 100vw / 375); height:calc(12 * 100vw / 375); background:#004084; -webkit-mask:url("../img/projects-chevron-right.cca8d22c5cc6.svg") center / 100% 100% no-repeat; mask:url("../img/projects-chevron-right.cca8d22c5cc6.svg") center / 100% 100% no-repeat; }
}

/* Homepage, mobile: keep the development/support carousel cards 16px apart. */
@media (max-width: 520px) {
  [data-mobile-development-cards] > .container-zmz .snap-x,
  [data-mobile-equipment-cards] > .container-zmz .snap-x,
  [data-mobile-article-cards] > .container-zmz .snap-x {
    gap: 16px !important;
  }
}

/* Equipment cards are swipeable on mobile; desktop presents the full grid. */
@media (min-width: 1024px) {
  [data-mobile-equipment-cards] [data-carousel-nav] {
    display: none !important;
  }
}

/* Homepage article cards are a single click target at every breakpoint. */
[data-mobile-article-cards] article {
  position: relative;
}

[data-company-overview-link] {
  color: #ffffff !important;
}

[data-mobile-article-cards] [data-article-card-hit] {
  position: absolute;
  z-index: 5;
  inset: 0;
  border-radius: inherit;
}

/* Public 404 page */
.error-page { box-sizing:border-box; padding:64px 24px 112px; background:#fff; text-align:center; }
.error-page__image { display:block; width:575px; height:289px; max-width:100%; margin:0 auto; }
.error-page h1 { margin:40px 0 0; color:#004084; font:700 48px/56px "Roboto Condensed","Arial Narrow",Arial,sans-serif; letter-spacing:-2.4px; text-transform:uppercase; }
.error-page__text { margin:16px 0 0; color:#17314d; font:500 16px/20px Inter,Arial,sans-serif; letter-spacing:-.16px; }
.error-page__home-link { display:inline-grid; width:147px; height:44px; margin-top:40px; border-radius:30px; background:#004084; color:#fafafa; font:500 12px/16px "Roboto Condensed","Arial Narrow",Arial,sans-serif; text-align:center; text-decoration:none; text-transform:uppercase; place-items:center; }
.error-page__home-link:hover { background:#17314d; color:#fff; }

@media (max-width:1100px) {
  .error-page { position:relative; min-height:204.533333vw; padding:0; }
  .error-page__image { position:absolute; top:49.733333vw; left:50%; width:82.933333vw; height:41.866667vw; max-width:none; margin:0; transform:translateX(-50%); }
  .error-page h1 { position:absolute; top:98vw; left:50%; width:max-content; margin:0; font-size:6.4vw; line-height:8vw; letter-spacing:-.32vw; transform:translateX(-50%); }
  .error-page__text { position:absolute; top:108.133333vw; left:50%; width:91.466667vw; margin:0; color:#585e65; font-size:3.466667vw; line-height:4.8vw; letter-spacing:-.034667vw; transform:translateX(-50%); }
  .error-page__desktop-break { display:none; }
  .error-page__home-link { position:absolute; top:132.533333vw; left:50%; width:91.466667vw; height:11.733333vw; margin:0; border-radius:8vw; font-size:3.2vw; line-height:4.266667vw; transform:translateX(-50%); }
}

@media (max-width:520px) {
  .error-page { display:grid; min-height:calc(100svh - 56px); padding:0 4.266667vw; place-items:center; }
  .error-page__content { display:flex; width:100%; flex-direction:column; align-items:center; }
  .error-page__image { position:static; display:block; width:82.933333vw; height:41.866667vw; max-width:none; margin:0; transform:none; }
  .error-page h1 { position:static; width:auto; margin:6.4vw 0 0; font-size:6.4vw; line-height:8vw; letter-spacing:-.32vw; transform:none; }
  .error-page__text { position:static; width:100%; margin:2.133333vw 0 0; color:#585e65; font-size:3.466667vw; line-height:4.8vw; letter-spacing:-.034667vw; transform:none; }
  .error-page__home-link { position:static; width:100%; height:11.733333vw; margin:10.666667vw 0 0; border-radius:8vw; font-size:3.2vw; line-height:4.266667vw; transform:none; }
}

@media (min-width:1024px) {
  .privacy-page { padding:112px 0; background:#fff; }
  .privacy-page__shell { width:min(1200px, calc(100% - 48px)); margin:0 auto; }
  .privacy-page__breadcrumb { margin:0; color:#596470; font:500 16px/18px Inter,Arial,sans-serif; }
  .privacy-page__breadcrumb a { color:#596470 !important; text-decoration:none; }
  .privacy-page__breadcrumb span:last-child { color:#8d949c; }
  .privacy-page__content { width:592px; margin:40px auto 0; }
  .privacy-page h1 { margin:0; color:#004084; font:700 36px/48px "Roboto Condensed","Arial Narrow",Arial,sans-serif; letter-spacing:-1.8px; text-transform:uppercase; }
  .privacy-page--consent h1 { font-size:36px; letter-spacing:-1.8px; }
  .privacy-page--consent .privacy-page__intro { margin-top:48px; }
  .privacy-page h2 { margin:48px 0 0; color:#17314d; font:500 16px/20px "Roboto Condensed","Arial Narrow",Arial,sans-serif; letter-spacing:-.16px; text-transform:uppercase; }
  .privacy-page__text { margin-top:16px; color:#17314d; font:400 14px/18px Inter,Arial,sans-serif; }
  .privacy-page__text p { margin:0 0 18px; }
  .privacy-page__text p:last-child { margin-bottom:0; }
  .privacy-page__text ul { margin:18px 0 0; padding-left:21px; list-style:disc; }
  .privacy-page__text li { margin:0; padding-left:0; }
  .privacy-page__text li + li { margin-top:4px; }
  .privacy-page__text p + ul { margin-top:18px; }
  .privacy-page__text strong, .privacy-page__text b { font-weight:600; }
  .privacy-page__text a { color:inherit; font-weight:600; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:2px; }
}

/* Requisites page: desktop layout from Figma 503:356. */
@media (min-width:1101px) {
  .requisites-page { box-sizing:border-box; padding:112px 0; background:#fff; }
  .requisites-page__shell { width:min(1200px, calc(100% - 48px)); margin:0 auto; }
  .requisites-page__breadcrumb { margin:0; color:#596470; font:500 16px/18px Inter,Arial,sans-serif; }
  .requisites-page__breadcrumb a { color:#596470; text-decoration:none; }
  .requisites-page__breadcrumb span:last-child { color:#8d949c; }
  .requisites-page h1 { margin:24px 0 0; color:#004084; font:700 48px/56px "Roboto Condensed","Arial Narrow",Arial,sans-serif; letter-spacing:-2.4px; text-transform:uppercase; }
  .requisites-page__lead { width:545px; margin:40px 0 0; color:#000; font:400 16px/20px Inter,Arial,sans-serif; }
  .requisites-page__list { display:grid; grid-template-columns:1fr; gap:24px; margin:80px 0 0; padding:0; }
  .requisites-page__item { display:grid; grid-template-columns:395px minmax(0, 1fr); min-height:20px; color:#17314d; }
  .requisites-page__item dt, .requisites-page__item dd { margin:0; font:400 16px/20px Inter,Arial,sans-serif; }
  .requisites-page__item dt { padding:0; }
  .requisites-page__item dd { max-width:459px; font-weight:500; }
}

@media (max-width:1100px) {
  .requisites-page { padding:19.733333vw 4.266667vw 29.866667vw; background:#fff; }
  .requisites-page__shell { width:100%; max-width:592px; margin:0 auto; }
  .requisites-page__breadcrumb { margin:0; color:#596470; font:500 3.466667vw/4.266667vw Inter,Arial,sans-serif; }
  .requisites-page__breadcrumb a { color:#596470; text-decoration:none; }
  .requisites-page__breadcrumb span:last-child { color:#8d949c; }
  .requisites-page h1 { margin:6.4vw 0 0; color:#004084; font:700 6.4vw/8vw "Roboto Condensed","Arial Narrow",Arial,sans-serif; letter-spacing:-.32vw; text-transform:uppercase; }
  .requisites-page__lead { width:90.4vw; margin:6.4vw 0 0; color:#000; font:400 3.466667vw/4.266667vw Inter,Arial,sans-serif; }
  .requisites-page__list { display:grid; grid-template-columns:1fr; gap:4.266667vw; margin:14.933333vw 0 0; padding:0; }
  .requisites-page__item { display:grid; grid-template-columns:45.333333vw minmax(0, 1fr); min-height:0; margin:0; padding:0; border:0; }
  .requisites-page__item:first-child { border:0; }
  .requisites-page__item dt, .requisites-page__item dd { margin:0; color:#17314d; font:400 3.466667vw/4.266667vw Inter,Arial,sans-serif; }
  .requisites-page__item dd { min-width:0; max-width:44.8vw; margin:0; overflow-wrap:anywhere; font-weight:500; }
}

/* Vacancies page: desktop layout from Figma 633:1559. */
@media (min-width:1101px) {
  .vacancies-page { padding:64px 0 112px; background:#fff; }
  .vacancies-page__shell { width:min(1200px, calc(100% - 48px)); margin:0 auto; }
  .vacancies-page__breadcrumb { margin:0; color:#596470; font:500 16px/18px Inter,Arial,sans-serif; }
  .vacancies-page__breadcrumb a { color:#596470; text-decoration:none; }
  .vacancies-page__breadcrumb span:last-child { color:#8d949c; }
  .vacancies-page h1 { margin:24px 0 0; color:#004084; font:700 48px/56px "Roboto Condensed","Arial Narrow",Arial,sans-serif; letter-spacing:-2.4px; text-transform:uppercase; }
  .vacancies-page__lead { width:634px; margin:24px 0 0; color:#585e65; font:500 16px/18px Inter,Arial,sans-serif; }
  .vacancies-page__list { margin:98px 0 0; }
  .vacancy-item { position:relative; box-sizing:border-box; min-height:88px; border:0; border-bottom:1px solid #8d949c; }
  .vacancy-item summary { display:flex; box-sizing:border-box; align-items:center; justify-content:space-between; min-height:87px; padding:22px 22px 22px 0; color:#17314d; font:500 24px/normal "Roboto Condensed","Arial Narrow",Arial,sans-serif; letter-spacing:-.24px; list-style:none; cursor:pointer; }
  .vacancy-item summary::-webkit-details-marker { display:none; }
  .vacancy-item summary::after { content:""; flex:0 0 44px; box-sizing:border-box; width:44px; height:44px; margin-left:24px; border:1px solid #17314d; border-radius:50%; background:url("/static/img/equipment-faq-arrow-desktop.ac7982679858.svg") center / 24px 24px no-repeat; transition:transform .2s ease; }
  .vacancy-item[open] summary::after { transform:rotate(180deg); }
  .vacancy-item__content { box-sizing:border-box; padding:10px 0 40px; }
  .vacancy-item__columns { display:grid; grid-template-columns:490px 488px; column-gap:119px; }
  .vacancy-item__columns h2 { margin:0; color:#17314d; font:600 16px/normal Inter,Arial,sans-serif; letter-spacing:-.16px; }
  .vacancy-item__columns p { margin:16px 0 0; color:#17314d; font:400 16px/normal Inter,Arial,sans-serif; }
  .vacancy-item__columns p + p { margin-top:16px; }
  .vacancy-item__apply { display:grid; width:147px; height:44px; margin-top:48px; border:1px solid #17314d; border-radius:30px; color:#17314d; font:500 12px/16px "Roboto Condensed","Arial Narrow",Arial,sans-serif; text-align:center; text-decoration:none; text-transform:uppercase; place-items:center; }
}

@media (max-width:1100px) {
  .vacancies-page { padding:19.733333vw 4.266667vw 29.866667vw; background:#fff; }
  .vacancies-page__shell { width:100%; max-width:592px; margin:0 auto; }
  .vacancies-page__breadcrumb { margin:0; color:#596470; font:500 3.466667vw/4.266667vw Inter,Arial,sans-serif; }
  .vacancies-page__breadcrumb a { color:#596470; text-decoration:none; }
  .vacancies-page__breadcrumb span:last-child { color:#8d949c; }
  .vacancies-page h1 { margin:6.4vw 0 0; color:#004084; font:700 8.533333vw/10.133333vw "Roboto Condensed","Arial Narrow",Arial,sans-serif; letter-spacing:-.426667vw; text-transform:uppercase; }
  .vacancies-page__lead { margin:6.4vw 0 0; color:#585e65; font:500 3.733333vw/4.8vw Inter,Arial,sans-serif; }
  .vacancies-page__list { margin:12.8vw 0 0; }
  .vacancy-item { border:0; border-bottom:1px solid #8d949c; }
  .vacancy-item summary { display:flex; align-items:center; justify-content:space-between; gap:4.266667vw; min-height:17.066667vw; color:#17314d; font:500 4.8vw/5.866667vw "Roboto Condensed","Arial Narrow",Arial,sans-serif; list-style:none; cursor:pointer; }
  .vacancy-item summary::-webkit-details-marker { display:none; }
  .vacancy-item summary::after { content:""; flex:0 0 8.533333vw; box-sizing:border-box; width:8.533333vw; height:8.533333vw; border:1px solid #17314d; border-radius:50%; background:url("/static/img/equipment-faq-arrow.1b13737f8dc8.svg") center / 4.266667vw 4.266667vw no-repeat; transition:transform .2s ease; }
  .vacancy-item[open] summary::after { transform:rotate(180deg); }
  .vacancy-item__content { padding:4.266667vw 0 8.533333vw; }
  .vacancy-item__columns { display:grid; gap:6.4vw; }
  .vacancy-item__columns h2 { margin:0; color:#17314d; font:600 3.733333vw/4.8vw Inter,Arial,sans-serif; }
  .vacancy-item__columns p { margin:3.2vw 0 0; color:#17314d; font:400 3.466667vw/4.8vw Inter,Arial,sans-serif; }
  .vacancy-item__apply { display:grid; width:39.2vw; height:11.733333vw; margin-top:8.533333vw; border:1px solid #17314d; border-radius:8vw; color:#17314d; font:500 3.2vw/4.266667vw "Roboto Condensed","Arial Narrow",Arial,sans-serif; text-align:center; text-decoration:none; text-transform:uppercase; place-items:center; }
}

@media (max-width:1100px) {
  .privacy-page { padding:calc(74 / 375 * 100vw) calc(16 / 375 * 100vw) calc(112 / 375 * 100vw); background:#fff; }
  .privacy-page__shell { max-width:592px; margin:0 auto; }
  .privacy-page__breadcrumb { margin:0; color:#8d949c; font:500 calc(13 / 375 * 100vw)/calc(16 / 375 * 100vw) Inter,Arial,sans-serif; }
  .privacy-page__breadcrumb a { color:#596470 !important; text-decoration:none; }
  .privacy-page__content { margin-top:calc(24 / 375 * 100vw); }
  .privacy-page h1 { margin:0; color:#004084; font:700 calc(24 / 375 * 100vw)/calc(30 / 375 * 100vw) "Roboto Condensed","Arial Narrow",Arial,sans-serif; letter-spacing:calc(-1.2 / 375 * 100vw); text-transform:uppercase; }
  .privacy-page--consent .privacy-page__intro { margin-top:calc(32 / 375 * 100vw); }
  .privacy-page h1 + h2 { margin-top:calc(32 / 375 * 100vw); }
  .privacy-page h2 { margin:calc(32 / 375 * 100vw) 0 0; color:#17314d; font:500 calc(14 / 375 * 100vw)/calc(18 / 375 * 100vw) "Roboto Condensed","Arial Narrow",Arial,sans-serif; letter-spacing:calc(-.14 / 375 * 100vw); text-transform:uppercase; }
  .privacy-page__text { margin-top:calc(8 / 375 * 100vw); color:#17314d; font:400 calc(13 / 375 * 100vw)/calc(18 / 375 * 100vw) Inter,Arial,sans-serif; }
  .privacy-page__text p { margin:0 0 18px; }
  .privacy-page__text p:last-child { margin-bottom:0; }
  .privacy-page__text ul { margin:18px 0 0; padding-left:21px; list-style:disc; }
  .privacy-page__text li { margin:0; padding-left:0; }
  .privacy-page__text li + li { margin-top:4px; }
  .privacy-page__text p + ul { margin-top:18px; }
  .privacy-page__text strong, .privacy-page__text b { font-weight:600; }
  .privacy-page__text a { color:#17314d !important; font-weight:700 !important; text-decoration:underline !important; text-decoration-thickness:1px; text-underline-offset:2px; }
}

@font-face {
  font-family: "Roboto Condensed";
  src: url("/fonts/roboto-condensed-400-normal.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --zmz-blue: #004084;
  --zmz-dark: #17314d;
  --zmz-ink: #313131;
  --zmz-muted: #585e65;
  --zmz-line: #dedede;
  --zmz-soft: #f1f3f6;
  --zmz-pale: #e6ebf0;
  --zmz-accent: #c6d5e3;
  --zmz-white: #ffffff;
  --zmz-radius: 10px;
  --zmz-shell: min(1200px, calc(100vw - 48px));
}

html {
  scroll-behavior: smooth;
}

/* Projects index — desktop composition from Figma node 488:645. */
@media (min-width:1101px) {
  .projects-desktop {
    min-height:100%;
    background:#f5f6f7;
    color:#17314d;
    padding:64px 0 112px;
  }

  .projects-desktop__shell { width:1200px; margin:0 auto; }
  .projects-desktop__breadcrumb { margin:0; color:#596470; font:500 16px/18px Inter,Arial,sans-serif; }
  .projects-desktop__breadcrumb a { color:#596470; text-decoration:none; }
  .projects-desktop__breadcrumb span:last-child { color:#8d949c; }
  .projects-desktop h1 { margin:24px 0 0; color:#17314d; font:700 48px/56px "Roboto Condensed","Arial Narrow",Arial,sans-serif; letter-spacing:-2.4px; text-transform:uppercase; }
  .projects-desktop__lead { width:634px; margin:24px 0 0; color:#585e65; font:500 16px/18px Inter,Arial,sans-serif; }

  .projects-desktop__featured { position:relative; display:grid; grid-template-columns:584px 1fr; height:440px; margin-top:80px; overflow:hidden; border-radius:20px; background:#fff; box-shadow:1px 1px 15px rgb(0 0 0 / 5%); transition:transform .25s ease, box-shadow .25s ease; }
  .projects-desktop__featured:hover { transform:translateY(-4px); box-shadow:0 18px 40px -24px rgb(23 49 77 / 45%); }
  .projects-desktop__featured-image { overflow:hidden; border-radius:5px; }
  .projects-desktop__featured-image img { display:block; width:100%; height:440px; object-fit:cover; }
  .projects-desktop__featured-body { display:flex; min-width:0; flex-direction:column; padding:48px; }
  .projects-desktop__tag { display:inline-flex; width:max-content; height:30px; box-sizing:border-box; align-items:center; padding:0 8px; background:#f1f3f6; color:#596470; font:500 12px/16px "Roboto Condensed","Arial Narrow",Arial,sans-serif; text-transform:uppercase; }
  .projects-desktop__featured h2 { width:449px; margin:16px 0 0; color:#17314d; font:600 28px/30px Inter,Arial,sans-serif; letter-spacing:-.28px; }
  .projects-desktop__featured-body > p { width:520px; margin:24px 0 0; color:#17314d; font:400 16px/normal Inter,Arial,sans-serif; }

  .projects-desktop__filter { display:flex; align-items:center; margin-top:88px; }
  .projects-desktop__filter a { display:inline-flex; box-sizing:border-box; height:44px; align-items:center; justify-content:center; padding:0 24px; border:1px solid transparent; border-radius:30px; color:#8d949c !important; font:500 14px/18px "Roboto Condensed","Arial Narrow",Arial,sans-serif; text-decoration:none; text-align:center; text-transform:uppercase; }
  .projects-desktop__filter a.is-active { border-color:#004084; color:#004084 !important; }

  .projects-desktop__grid { display:grid; grid-template-columns:repeat(2, 584px); gap:64px 32px; margin-top:60px; }
  .projects-desktop__card { position:relative; display:flex; height:550px; overflow:hidden; border-radius:20px; background:#fff; box-shadow:1px 1px 15px rgb(0 0 0 / 5%); transition:transform .25s ease, box-shadow .25s ease; flex-direction:column; }
  .projects-desktop__card-hit { position:absolute; z-index:2; inset:0; border-radius:inherit; }
  .projects-desktop__card:hover { transform:translateY(-4px); box-shadow:0 18px 40px -24px rgb(23 49 77 / 45%); }
  .projects-desktop__card-image { height:300px; overflow:hidden; border-radius:5px; }
  .projects-desktop__card-image img { display:block; width:100%; height:300px; object-fit:cover; }
  .projects-desktop__card-body { display:flex; min-height:0; flex:1; flex-direction:column; padding:24px; }
  .projects-desktop__card h2 { margin:16px 0 0; color:#17314d; font:600 20px/24px Inter,Arial,sans-serif; letter-spacing:-.4px; }
  .projects-desktop__card-body > p { margin:12px 0 0; color:#17314d; font:400 16px/20px Inter,Arial,sans-serif; }
  .projects-desktop__more { display:inline-flex; width:max-content; align-items:center; gap:8px; margin-top:auto; color:#8d949c !important; font:500 14px/24px "Roboto Condensed","Arial Narrow",Arial,sans-serif; text-decoration:none; text-transform:uppercase; transition:color .2s ease; }
  .projects-desktop__more:hover { color:#004084 !important; }
  .projects-desktop__card:hover .projects-desktop__more, .projects-desktop__featured:hover .projects-desktop__more { color:#004084 !important; }
  .projects-desktop__more--dark { color:#8d949c !important; }
  .projects-desktop__chevron { display:block; width:24px; height:24px; background:currentColor; -webkit-mask:url("/static/img/projects-chevron-right.cca8d22c5cc6.svg") center / 24px 24px no-repeat; mask:url("/static/img/projects-chevron-right.cca8d22c5cc6.svg") center / 24px 24px no-repeat; }
  .projects-desktop__load { display:flex; justify-content:center; margin:80px 0 0; }
  .projects-desktop__load button { display:inline-flex; height:44px; box-sizing:border-box; align-items:center; justify-content:center; padding:0 24px; border:1px solid #17314d; border-radius:30px; background:transparent; color:#17314d; font:500 12px/16px "Roboto Condensed","Arial Narrow",Arial,sans-serif; cursor:pointer; text-decoration:none; text-transform:uppercase; }
}

@media (max-width:520px) {
 [data-equipment-faq]{display:block;padding-block:calc(72*100vw/375)}
 [data-equipment-faq] h2{margin:0;color:#17314d;font:700 calc(24*100vw/375)/calc(30*100vw/375) "Roboto Condensed",Arial,sans-serif;letter-spacing:calc(-1.2*100vw/375);text-transform:uppercase}
 [data-equipment-faq-description]{margin:calc(12*100vw/375) 0 0;color:#000;font:500 calc(13*100vw/375)/calc(18*100vw/375) Inter,Arial,sans-serif}
 [data-equipment-faq-button]{display:grid;height:calc(44*100vw/375);margin-top:calc(24*100vw/375);border-radius:calc(30*100vw/375);background:#004084;color:#fafafa;font:500 calc(12*100vw/375)/calc(16*100vw/375) "Roboto Condensed",Arial,sans-serif;text-align:center;text-decoration:none;text-transform:uppercase;place-items:center}
 [data-equipment-faq] .cms-faq-item{position:relative;box-sizing:border-box;margin:calc(40*100vw/375) 0 0;border:0;border-bottom:1px solid #8d949c;padding:calc(12*100vw/375) calc(48*100vw/375) calc(12*100vw/375) 0;color:#17314d}
 [data-equipment-faq] .cms-faq-item~.cms-faq-item{margin-top:0;min-height:calc(42*100vw/375);padding-block:calc(12*100vw/375)}
 [data-equipment-faq] summary{font:500 calc(14*100vw/375)/calc(16*100vw/375) "Roboto Condensed",Arial,sans-serif;letter-spacing:calc(-.14*100vw/375);list-style:none;cursor:pointer}
 [data-equipment-faq] summary::-webkit-details-marker{display:none}
 [data-equipment-faq] summary::after{content:"⌄";position:absolute;top:calc(12*100vw/375);right:calc(12*100vw/375);display:grid;width:calc(24*100vw/375);height:calc(24*100vw/375);border:1px solid #17314d;border-radius:50%;font:500 calc(18*100vw/375)/1 Arial;place-items:center}
 [data-equipment-faq] details[open] summary::after{transform:rotate(180deg)}
 [data-equipment-faq] details>div{margin-top:calc(16*100vw/375);font:400 calc(12*100vw/375)/calc(16*100vw/375) Inter,Arial,sans-serif}
}

/* Keep the drawing-upload icon and label centred as one control. */
#lead astro-island[component-url*="LeadForm"] label:has(input[type="file"]) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding-inline: 0 !important;
  text-align: center;
}

#lead astro-island[component-url*="LeadForm"] label:has(input[type="file"]) > svg {
  flex: 0 0 auto;
  margin: 0 !important;
}

@media (min-width: 1024px) {
  #lead.global-lead .cms-cta-form__upload {
    display: flex !important;
    width: 100% !important;
    box-sizing: border-box;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 4px !important;
    padding-inline: 0 !important;
    text-align: center;
    order: 1;
  }

  #lead.global-lead .cms-cta-form__form .cms-cta-form__error:empty {
    display: none !important;
  }

  #lead.global-lead .cms-cta-form__consent {
    display: flex !important;
    width: 100% !important;
    align-items: flex-start !important;
    gap: 10px !important;
    order: 2;
    margin-top: 4px !important;
  }

  #lead.global-lead .cms-cta-form__consent input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 16px;
    margin: 0 !important;
  }

  #lead.global-lead .cms-cta-form__consent > span {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 13px;
    line-height: 18px;
  }

  #lead.global-lead .cms-cta-form__submit {
    order: 3;
    margin-top: 12px !important;
  }

  #lead.global-lead .cms-cta-form__upload b {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    margin: 0 !important;
    line-height: 1;
  }
}

/* Stage 10B: accepted shared vitrine lead, footer, modal and listing contracts. */
.global-lead { background:#173653; color:#fff; margin:0; padding:0; }
.global-lead__grid { display:grid; grid-template-columns:1fr 1fr; gap:120px; padding-block:80px; }
.global-lead h2 { margin:0; color:#fff; font-family:"Roboto Condensed","Arial Narrow",sans-serif; font-size:40px; font-weight:700; line-height:1.05; letter-spacing:-1px; text-transform:uppercase; }
.global-lead__info>p { max-width:330px; margin:56px 0 0; color:#fff; font-size:14px; line-height:20px; }
.global-lead .cms-cta-form__contacts { display:grid; gap:26px; max-width:410px; margin-top:32px; }
.global-lead .cms-cta-form__contacts div { border-top:1px solid rgba(255,255,255,.65); padding-top:12px; }
.global-lead .cms-cta-form__contacts small { display:block; margin-top:10px; color:#fff; font-size:11px; line-height:15px; }
@media (min-width:1024px) {
  .global-lead .cms-cta-form__contacts small { font-size:12px; line-height:16px; }
}

/* Service details: desktop result cards reuse the approved About-team card
   composition while retaining the result content bound from the CMS. */
@media (min-width: 1101px) {
  /* The fifth “when needed” card uses a photo with a dark-to-transparent
     overlay, matching the image card in the About section. It must not use
     the imported frosted-glass panel. */
  [data-services-when] > .container-zmz > div > article > div[aria-hidden="true"] {
    background: linear-gradient(to top, rgb(0 0 0 / 70%) 0%, transparent 100%) !important;
  }

  [data-services-when] > .container-zmz > div > article > div:last-child {
    inset: 0 !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  [data-services-when] > .container-zmz > div > article > div:last-child > span {
    position: absolute;
    top: 16px;
    left: 24px;
    margin: 0;
    color: #fff !important;
  }

  [data-services-when] > .container-zmz > div > article > div:last-child > h3 {
    position: absolute;
    /* Align with the headings in cards 03 and 04 (the second grid row). */
    top: 258px;
    right: 24px;
    left: 24px;
    margin: 0;
  }

  [data-services-when] > .container-zmz > div > article > div:last-child > p {
    position: absolute;
    /* Align with the descriptions in cards 03 and 04. */
    top: 293px;
    right: 24px;
    left: 24px;
    margin: 0;
  }

  [data-services-steps] > .container-zmz > div > div:first-child {
    position: static !important;
    top: auto !important;
  }

  [data-services-faq] > .container-zmz > div > div:first-child {
    position: static !important;
    top: auto !important;
  }

  [data-services-result] {
    padding-block: 112px !important;
  }

  [data-services-result] [data-carousel-nav] {
    display: none !important;
  }

  [data-services-result] [data-reveal-group] {
    display: grid !important;
    grid-template-columns: repeat(3, 384px) !important;
    gap: 24px !important;
    margin-top: 80px !important;
    overflow: visible !important;
  }

  [data-services-result] [data-reveal-group] > article {
    position: relative !important;
    display: block !important;
    width: 384px !important;
    height: 440px !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 10px !important;
    background: #17314d !important;
    box-shadow: 1px 1px 15px rgb(0 0 0 / 10%) !important;
  }

  [data-services-result] [data-reveal-group] > article:nth-child(n + 4) {
    display: none !important;
  }

  [data-services-result] [data-services-result-image] {
    position: absolute !important;
    inset: 0 0 auto !important;
    width: 384px !important;
    height: 298px !important;
    overflow: hidden !important;
    border-radius: 10px !important;
  }

  [data-services-result] [data-services-result-image] > img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    border-radius: 10px !important;
    object-fit: cover !important;
  }

  [data-services-result] [data-reveal-group] > article > div:not([data-services-result-image]) {
    position: absolute !important;
    inset: 298px 0 0 !important;
    z-index: 1 !important;
    box-sizing: border-box !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    padding: 40px 24px 24px 32px !important;
    border-radius: 0 !important;
    background: #17314d !important;
  }

  [data-services-result] [data-reveal-group] h3 {
    margin: 0 !important;
    color: #fff !important;
    font: 600 16px/20px "Roboto Condensed", "Arial Narrow", Arial, sans-serif !important;
  }

  [data-services-result] [data-reveal-group] h3 + p {
    margin: 8px 0 0 !important;
    color: #fff !important;
    font: 400 14px/normal Inter, Arial, sans-serif !important;
  }
}

/* Projects index — mobile composition from Figma node 688:6590. */
@media (max-width: 1100px) {
  .blog-company-mobile { display:block; overflow:hidden; padding:calc(72 * 100vw / 375) 0 calc(56 * 100vw / 375); background:#fff; color:#17314d; }
  .blog-company-mobile__shell { width:calc(100% - (32 * 100vw / 375)); margin:0 auto; }
  .blog-company-mobile__breadcrumb { margin:0; color:#596470; font:500 calc(13 * 100vw / 375)/calc(16 * 100vw / 375) Inter,Arial,sans-serif; }
  .blog-company-mobile__breadcrumb a { color:#596470; text-decoration:none; }
  .blog-company-mobile__breadcrumb span:last-child { color:#8d949c; }
  .cms-listing .blog-company-mobile__intro { display:flex; flex-direction:column; gap:calc(12 * 100vw / 375); margin-top:calc(12 * 100vw / 375); }
  .cms-listing .blog-company-mobile h1 { margin:0; color:#17314d; font:700 calc(32 * 100vw / 375)/calc(38 * 100vw / 375) "Roboto Condensed","Arial Narrow",Arial,sans-serif; letter-spacing:calc(-1.6 * 100vw / 375); text-transform:uppercase; }
  .cms-listing .blog-company-mobile__intro > p { margin:0; color:#585e65; font:500 calc(13 * 100vw / 375)/calc(16 * 100vw / 375) Inter,Arial,sans-serif; }
  .cms-listing .blog-company-mobile__recent { margin-top:calc(40 * 100vw / 375); }
  .blog-company-mobile__recent-header { display:flex; align-items:center; justify-content:space-between; }
  .blog-company-mobile h2 { margin:0; color:#17314d; font:700 calc(18 * 100vw / 375)/calc(24 * 100vw / 375) "Roboto Condensed","Arial Narrow",Arial,sans-serif; text-transform:uppercase; }
  .blog-company-mobile__nav { display:flex; width:calc(64 * 100vw / 375); height:calc(24 * 100vw / 375); gap:calc(16 * 100vw / 375); }
  .blog-company-mobile__nav button { display:grid; width:calc(24 * 100vw / 375); height:calc(24 * 100vw / 375); padding:0; border:0; background:transparent; color:#8d949c; place-items:center; }
  .blog-company-mobile__nav button.is-active { color:#004084; }
  .blog-company-mobile__nav button:disabled { opacity:1; }
  .blog-company-mobile__arrow { display:block; width:100%; height:100%; background:currentColor; -webkit-mask:url("/static/img/projects-carousel-arrow.9d571c403319.svg") center / 100% 100% no-repeat; mask:url("/static/img/projects-carousel-arrow.9d571c403319.svg") center / 100% 100% no-repeat; }
  .blog-company-mobile__arrow--next { transform:rotate(180deg); }
  .blog-company-mobile__frame { width:100vw; margin:calc(32 * 100vw / 375) 0 0 calc(-16 * 100vw / 375); overflow:visible; }
  .blog-company-mobile__track { display:flex; gap:calc(16 * 100vw / 375); box-sizing:border-box; padding:0 calc(16 * 100vw / 375); overflow-x:auto; scroll-padding-left:calc(16 * 100vw / 375); scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; }
  .blog-company-mobile__track::-webkit-scrollbar { display:none; }
  .blog-company-mobile__card { position:relative; width:calc(285 * 100vw / 375); min-width:calc(285 * 100vw / 375); background:#fff; scroll-snap-align:start; }
  .blog-company-mobile__card-hit { position:absolute; z-index:2; inset:0; }
  .blog-company-mobile__image { width:100%; height:calc(213 * 100vw / 375); flex:0 0 calc(213 * 100vw / 375); overflow:hidden; border-radius:calc(5 * 100vw / 375); background:#f5f6f7; }
  .blog-company-mobile__image img { display:block; width:100%; height:100%; object-fit:cover; }
  .blog-company-mobile__category { margin-top:calc(8 * 100vw / 375); color:#596470; font:500 calc(8 * 100vw / 375)/calc(10 * 100vw / 375) "Roboto Condensed","Arial Narrow",Arial,sans-serif; text-transform:uppercase; }
  .blog-company-mobile h3 { display:-webkit-box; overflow:hidden; margin:calc(8 * 100vw / 375) 0 0; color:#17314d; font:600 calc(14 * 100vw / 375)/calc(18 * 100vw / 375) Inter,Arial,sans-serif; letter-spacing:calc(-.28 * 100vw / 375); -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .blog-company-mobile h3 a { color:inherit; text-decoration:none; }
  .blog-company-mobile__lead { display:-webkit-box; overflow:hidden; margin:calc(8 * 100vw / 375) 0 0; color:#17314d; font:400 calc(11 * 100vw / 375)/calc(14 * 100vw / 375) Inter,Arial,sans-serif; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .blog-company-mobile__meta { display:flex; align-items:center; gap:calc(16 * 100vw / 375); margin:calc(12 * 100vw / 375) 0 0; color:#8d949c; font:500 calc(10 * 100vw / 375)/calc(12 * 100vw / 375) Inter,Arial,sans-serif; }
  .blog-company-mobile__meta span { display:inline-flex; align-items:center; gap:calc(4 * 100vw / 375); }
  .blog-company-mobile__meta b { display:block; width:calc(12 * 100vw / 375); height:calc(12 * 100vw / 375); background:center / 100% 100% no-repeat url("/static/img/blog-reading-eye.d076bda4b730.svg"); }
  .blog-company-mobile-popular { display:block; padding:calc(56 * 100vw / 375) 0 calc(112 * 100vw / 375); background:#fff; color:#17314d; }
  .blog-company-mobile-popular__shell { width:calc(100% - (32 * 100vw / 375)); margin:0 auto; }
  .blog-company-mobile-popular h2 { margin:0; color:#17314d; font:700 calc(18 * 100vw / 375)/calc(24 * 100vw / 375) "Roboto Condensed","Arial Narrow",Arial,sans-serif; text-transform:uppercase; }
  .blog-company-mobile-popular__list { display:flex; flex-direction:column; gap:calc(16 * 100vw / 375); margin-top:calc(40 * 100vw / 375); }
  .blog-company-mobile-popular__card { position:relative; display:flex; width:100%; height:calc(90 * 100vw / 375); min-height:calc(90 * 100vw / 375); }
  .blog-company-mobile-popular__image { display:block; width:calc(113 * 100vw / 375); height:100%; flex:0 0 calc(113 * 100vw / 375); overflow:hidden; border-radius:calc(5 * 100vw / 375); background:#f5f6f7; }
  .blog-company-mobile-popular__image img { display:block; width:100%; height:100%; object-fit:cover; }
  .blog-company-mobile-popular__body { position:relative; display:flex; width:calc(100% - (129 * 100vw / 375)); min-width:0; height:100%; flex:0 0 calc(100% - (129 * 100vw / 375)); flex-direction:column; margin-left:calc(16 * 100vw / 375); }
  .blog-company-mobile-popular__category { margin:0; color:#596470; font:500 calc(8 * 100vw / 375)/calc(10 * 100vw / 375) "Roboto Condensed","Arial Narrow",Arial,sans-serif; text-transform:uppercase; }
  .blog-company .blog-company-mobile-popular h3 { display:-webkit-box; width:100%; max-width:none; overflow:hidden; margin:calc(4 * 100vw / 375) 0 0; color:#17314d; font:600 calc(14 * 100vw / 375)/calc(18 * 100vw / 375) Inter,Arial,sans-serif; letter-spacing:calc(-.28 * 100vw / 375); -webkit-box-orient:vertical; -webkit-line-clamp:3; }
  .blog-company .blog-company-mobile-popular h3 a { color:inherit; text-decoration:none; }
  .blog-company-mobile-popular__meta { display:flex; align-items:center; gap:calc(16 * 100vw / 375); margin:auto 0 0; color:#8d949c; font:500 calc(10 * 100vw / 375)/calc(12 * 100vw / 375) Inter,Arial,sans-serif; }
  .blog-company-mobile-popular__meta span { display:inline-flex; align-items:center; gap:calc(4 * 100vw / 375); }
  .blog-company-mobile-popular__meta b { display:block; width:calc(12 * 100vw / 375); height:calc(12 * 100vw / 375); background:center / 100% 100% no-repeat url("/static/img/blog-reading-eye.d076bda4b730.svg"); }
  .blog-company-mobile-popular__hit { position:absolute; z-index:2; inset:0; }
  .blog-company__hero, .blog-company__content { display:none; }
  .cms-listing.blog-company { padding-bottom:0; }
  .projects-desktop:not(.projects-mobile) { display:none; }
  .projects-mobile { display:block; overflow:hidden; background:#f5f6f7; color:#17314d; padding:calc(72 * 100vw / 375) 0; }
  .projects-mobile__shell { width:calc(100% - (32 * 100vw / 375)); margin:0 auto; }
  .projects-mobile__header { display:flex; flex-direction:column; gap:calc(12 * 100vw / 375); }
  .projects-mobile__breadcrumb { margin:0; color:#596470; font:500 calc(12 * 100vw / 375)/calc(16 * 100vw / 375) Inter,Arial,sans-serif; }
  .projects-mobile__breadcrumb a { color:#596470; text-decoration:none; }
  .projects-mobile__breadcrumb span:last-child { color:#8d949c; }
  .projects-mobile h1 { margin:0; color:#17314d; font:700 calc(32 * 100vw / 375)/calc(38 * 100vw / 375) "Roboto Condensed","Arial Narrow",Arial,sans-serif; letter-spacing:calc(-1.6 * 100vw / 375); text-transform:uppercase; }
  .projects-mobile__lead { width:calc(317 * 100vw / 375); max-width:100%; margin:0; color:#585e65; font:500 calc(13 * 100vw / 375)/calc(18 * 100vw / 375) Inter,Arial,sans-serif; letter-spacing:calc(-.13 * 100vw / 375); }
  .projects-mobile__content { display:flex; flex-direction:column; gap:calc(24 * 100vw / 375); margin-top:calc(32 * 100vw / 375); }
  .projects-mobile__controls { display:flex; flex-direction:column; align-items:flex-end; gap:calc(32 * 100vw / 375); }
  .projects-mobile__filter { display:flex; width:100%; overflow-x:auto; scrollbar-width:none; }
  .projects-mobile__filter::-webkit-scrollbar { display:none; }
  .projects-mobile__filter a { display:inline-flex; height:calc(30 * 100vw / 375); box-sizing:border-box; flex:0 0 auto; align-items:center; justify-content:center; padding:0 calc(16 * 100vw / 375); border:1px solid transparent; border-radius:calc(30 * 100vw / 375); color:#596470 !important; font:500 calc(10 * 100vw / 375)/calc(12 * 100vw / 375) "Roboto Condensed","Arial Narrow",Arial,sans-serif; text-align:center; text-decoration:none; text-transform:uppercase; white-space:nowrap; }
  .projects-mobile__filter a.is-active { border-color:#004084; color:#004084 !important; }
  .projects-mobile__arrows { display:flex; width:calc(64 * 100vw / 375); height:calc(24 * 100vw / 375); gap:calc(16 * 100vw / 375); }
  .projects-mobile__arrows button { display:grid; width:calc(24 * 100vw / 375); height:calc(24 * 100vw / 375); padding:0; border:0; background:transparent; color:#8d949c; place-items:center; }
  .projects-mobile__arrows button.is-active { color:#004084; }
  .projects-mobile__arrows button:disabled { color:#8d949c; opacity:1; }
  .projects-mobile__arrow-icon { display:block; width:100%; height:100%; background:currentColor; -webkit-mask:url("/static/img/projects-carousel-arrow.9d571c403319.svg") center / 100% 100% no-repeat; mask:url("/static/img/projects-carousel-arrow.9d571c403319.svg") center / 100% 100% no-repeat; }
  .projects-mobile__arrow-icon--next { transform:rotate(180deg); }
  .projects-mobile__frame { width:100vw; margin-left:calc(-16 * 100vw / 375); overflow:visible; }
  .projects-mobile__track { display:flex; gap:calc(16 * 100vw / 375); box-sizing:border-box; padding:0 calc(16 * 100vw / 375); overflow-x:auto; scroll-padding-left:calc(16 * 100vw / 375); scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; }
  .projects-mobile__track::-webkit-scrollbar { display:none; }
  .projects-mobile__card { position:relative; display:flex; width:calc(285 * 100vw / 375); min-width:calc(285 * 100vw / 375); height:calc(318 * 100vw / 375); flex-direction:column; overflow:hidden; border:calc(.5 * 100vw / 375) solid #f1f3f6; border-radius:calc(10 * 100vw / 375); background:#fff; box-shadow:calc(1 * 100vw / 375) calc(1 * 100vw / 375) calc(15 * 100vw / 375) rgb(0 0 0 / 5%); scroll-snap-align:start; }
  .projects-mobile__card-hit { position:absolute; z-index:2; inset:0; }
  .projects-mobile__image { width:100%; height:calc(152 * 100vw / 375); flex:0 0 calc(152 * 100vw / 375); overflow:hidden; }
  .projects-mobile__image img { display:block; width:100%; height:100%; object-fit:cover; }
  .projects-mobile__card-body { display:flex; min-height:0; flex:1; flex-direction:column; padding:calc(8 * 100vw / 375) calc(12 * 100vw / 375) calc(12 * 100vw / 375); }
  .projects-mobile__tag { display:inline-flex; width:max-content; height:calc(16 * 100vw / 375); align-items:center; padding:0 calc(4 * 100vw / 375); background:#f1f3f6; color:#596470; font:500 calc(8 * 100vw / 375)/calc(10 * 100vw / 375) "Roboto Condensed","Arial Narrow",Arial,sans-serif; text-transform:uppercase; }
  .projects-mobile__card h2 { margin:calc(8 * 100vw / 375) 0 0; color:#17314d; font:600 calc(14 * 100vw / 375)/calc(18 * 100vw / 375) Inter,Arial,sans-serif; letter-spacing:calc(-.28 * 100vw / 375); }
  .projects-mobile__card p { margin:calc(8 * 100vw / 375) 0 0; color:#17314d; font:400 calc(11 * 100vw / 375)/calc(14 * 100vw / 375) Inter,Arial,sans-serif; }
  .projects-mobile__more { display:inline-flex; width:max-content; align-items:center; gap:calc(4 * 100vw / 375); margin-top:auto; padding-top:calc(24 * 100vw / 375); color:#004084; font:500 calc(10 * 100vw / 375)/calc(12 * 100vw / 375) "Roboto Condensed","Arial Narrow",Arial,sans-serif; text-transform:uppercase; }
  .projects-mobile__more svg { width:calc(12 * 100vw / 375); height:calc(12 * 100vw / 375); }
}

@media (min-width: 1101px) {
  .blog-company-mobile, .blog-company-mobile-popular { display:none; }
}

@media (min-width: 1101px) {
  .projects-mobile { display:none; }
}
.global-lead .cms-cta-form__form { gap:12px; }
.cms-cta-form__intro { margin:0 0 14px; color:inherit; font-size:14px; line-height:20px; }
.global-lead .cms-cta-form__form input:not([type=checkbox]):not([type=file]):not([type=hidden]),
.global-lead .cms-cta-form__form textarea { border:0; border-radius:24px; background:#fff; color:#173653; }
.global-lead .cms-cta-form__form textarea { border-radius:14px; }
.global-lead .cms-cta-form__comment { position: relative; }
.global-lead .cms-cta-form__comment textarea { padding:14px 16px; scroll-padding-block:14px; }
.global-lead .cms-cta-form__comment::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 1px;
  right: 1px;
  left: 1px;
  height: 14px;
  pointer-events: none;
  border-radius: 14px 14px 0 0;
  background: #fff;
}
.global-lead .cms-cta-form__upload { border-color:#fff; border-radius:25px; }
.global-lead .cms-cta-form__submit { border-radius:25px; background:#cbdceb; color:#173653; }
.global-lead .cms-cta-form__submit:disabled { background:#adb5bf; color:#fff; cursor:not-allowed; opacity:1; }
.home-faq-cta { color:#fff !important; }
.global-lead .cms-cta-form__consent { color:#fff; }
.structured-footer__requisites small { margin-top:26px; color:#8d949c; font-size:11px; }
.stage10b-faq-trigger { width:100%; cursor:pointer; font-family:"Roboto Condensed","Arial Narrow",sans-serif; color:#173653; font-size:24px; font-weight:500; }
.stage10b-faq-icon { position:relative; display:inline-flex; width:44px; height:44px; flex:0 0 44px; border:1px solid #173653; border-radius:50%; }
.stage10b-faq-icon::before,.stage10b-faq-icon::after { content:""; position:absolute; left:50%; top:50%; width:10px; height:1px; background:#173653; transform-origin:center; }
.stage10b-faq-icon::before { transform:translate(-78%,-50%) rotate(45deg); }
.stage10b-faq-icon::after { transform:translate(-22%,-50%) rotate(-45deg); }
.stage10b-faq-trigger[aria-expanded="true"] .stage10b-faq-icon::before { transform:translate(-78%,-50%) rotate(-45deg); }
.stage10b-faq-trigger[aria-expanded="true"] .stage10b-faq-icon::after { transform:translate(-22%,-50%) rotate(45deg); }

.calc-modal[hidden] { display:none !important; }
body.calc-modal-open { overflow:hidden; }
.calc-modal { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:24px; }
.calc-modal__backdrop { position:absolute; inset:0; background:rgba(9,25,40,.72); backdrop-filter:blur(7px); }
.calc-modal__dialog { position:relative; z-index:1; width:min(620px,100%); max-height:calc(100dvh - 48px); overflow:auto; border-radius:8px; background:#fff; padding:54px 64px 48px; color:#173653; box-shadow:0 24px 80px rgba(0,0,0,.25); }
.calc-modal__close { position:absolute; top:18px; right:20px; width:38px; height:38px; border:1px solid #173653; border-radius:50%; background:transparent; color:#173653; font-size:28px; line-height:32px; cursor:pointer; }
.calc-modal h2 { max-width:470px; margin:0; font-family:"Roboto Condensed","Arial Narrow",sans-serif; font-size:40px; line-height:44px; text-transform:uppercase; }
.calc-modal__copy { margin:16px 0 0; color:#596470; font-size:15px; line-height:21px; }
.calc-modal .cms-cta-form__intro { display:none; }
.calc-modal__form { margin-top:28px; color:#173653; }
.calc-modal .cms-cta-form__form input:not([type=checkbox]):not([type=file]):not([type=hidden]),
.calc-modal .cms-cta-form__form textarea { border:1px solid #b8c2cc; background:#f6f7f8; color:#173653; }
.calc-modal .cms-cta-form__upload { border-color:#173653; color:#173653; }
.calc-modal .cms-cta-form__submit { background:#07539a; color:#fff; }
.calc-modal .cms-cta-form__consent { color:#596470; }
.calc-modal .cms-cta-form__error { color:#a32626; }

.cms-blog-recent { margin-bottom:80px; }
.cms-blog-recent>h2 { margin:0 0 38px; font-family:"Roboto Condensed","Arial Narrow",sans-serif; font-size:24px; line-height:30px; text-transform:uppercase; }
.cms-blog-recent__grid { display:grid; grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; gap:24px 32px; }
.cms-blog-recent__item--featured { grid-row:1/3; }
.cms-blog-recent .cms-listing-card { border-radius:0; background:transparent; }
.cms-blog-recent__item:not(.cms-blog-recent__item--featured) .cms-listing-card { display:grid; grid-template-columns:150px 1fr; align-items:start; }
.cms-blog-recent__item:not(.cms-blog-recent__item--featured) .cms-listing-card__image img { aspect-ratio:1/1; }
.cms-blog-recent__item:not(.cms-blog-recent__item--featured) .cms-listing-card__body { min-height:0; gap:8px; padding:0 0 0 18px; }
.cms-blog-recent__item:not(.cms-blog-recent__item--featured) .cms-listing-card__text { display:none; }
.cms-blog-recent__item--featured .cms-listing-card__image img { aspect-ratio:760/440; }
.cms-blog-recent__item--featured .cms-listing-card__body { min-height:0; padding:20px 0 0; }

.cms-services-landing { background:#f5f6f7; color:#173653; }
.cms-services-landing__breadcrumb { padding-top:64px; }
.cms-services-landing__body>section:first-of-type { padding-top:32px !important; }
.cms-services-landing__body .cms-hero { background:transparent; }

@media (max-width:800px) {
  .global-lead__grid { grid-template-columns:1fr; gap:42px; padding-block:64px; }
  .global-lead__info>p { margin-top:28px; }
  .cms-blog-recent__grid { grid-template-columns:1fr; grid-template-rows:auto; }
  .cms-blog-recent__item--featured { grid-row:auto; }
  .cms-blog-recent__item:not(.cms-blog-recent__item--featured) .cms-listing-card { grid-template-columns:180px 1fr; }
}
@media (max-width:520px) {
  .global-lead h2,.calc-modal h2 { font-size:30px; line-height:34px; }
  .calc-modal { padding:8px; }
  .calc-modal__dialog { max-height:calc(100dvh - 16px); padding:48px 20px 28px; }
  .cms-blog-recent { margin-bottom:56px; }
  .cms-blog-recent__item:not(.cms-blog-recent__item--featured) .cms-listing-card { grid-template-columns:105px 1fr; }
  .cms-blog-recent__item:not(.cms-blog-recent__item--featured) .cms-listing-card h2 { font-size:14px; line-height:18px; }
  .stage10b-faq-trigger { font-size:14px; line-height:18px; }
  .stage10b-faq-icon { width:26px; height:26px; flex-basis:26px; }
}

/* Stage 6C3C1: content-native blog/project templates use the accepted snapshot
   geometry.  These selectors deliberately change presentation only. */
.cms-listing h1 {
  font-weight: 700;
}

.cms-detail h1 {
  font-weight: 600;
}

.cms-detail__hero {
  width: 100%;
}

.cms-detail__hero > .cms-breadcrumb,
.cms-detail__hero > h1,
.cms-detail__hero > .cms-detail__lead,
.cms-detail__hero > .cms-detail__meta,
.cms-detail__hero > .cms-chip {
  width: var(--zmz-shell);
  margin-inline: auto;
}

.cms-detail__hero > .cms-detail__image {
  width: var(--zmz-shell);
  margin-inline: auto;
}

.cms-detail--project h1 {
  max-width: 892px;
}

.cms-detail--project .cms-detail__body {
  width: 100%;
  max-width: none;
}

.cms-detail--project .cms-detail__body > * {
  width: min(744px, var(--zmz-shell));
  margin-inline: auto;
}

.cms-related {
  width: 100%;
}

.cms-related > h2,
.cms-related > .cms-listing-grid {
  width: var(--zmz-shell);
  margin-inline: auto;
}

.cms-listing--articles .cms-listing-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 64px 32px;
}

.cms-listing--articles .cms-listing-card__image img {
  aspect-ratio: 378 / 232;
}

.structured-footer__grid {
  gap: 56px;
  padding-block: 32px 32px;
}

.structured-footer__requisites {
  margin-top: 28px;
}

@media (min-width: 521px) and (max-width: 1023px) {
  :root {
    --zmz-shell: min(720px, calc(100vw - 48px));
  }

  .structured-header__contact {
    display: inline;
  }

  .structured-menu-toggle {
    display: none;
  }

  .structured-header__nav {
    display: block;
  }

  .cms-listing--articles h1 {
    font-size: 40px;
    line-height: 48px;
  }

  .cms-listing-grid {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 1px;
    scrollbar-width: none;
  }
  .cms-listing--articles .cms-listing-grid {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 1px;
    scrollbar-width: none;
  }

  .cms-listing-grid::-webkit-scrollbar {
    display: none;
  }

  .cms-listing--projects .cms-listing-card {
    flex: 0 0 444px;
  }

  .cms-listing--articles .cms-listing-card {
    flex: 0 0 311px;
  }

  .cms-listing--projects .cms-listing-card__image img {
    aspect-ratio: 444 / 225;
  }

  .cms-listing--articles .cms-listing-card__image img {
    aspect-ratio: 311 / 232;
  }

  .cms-featured-project {
    display: none;
  }

  .cms-detail h1 {
    font-size: 32px;
    line-height: 40px;
  }

  .cms-detail__hero {
    padding-top: 72px;
  }

  .cms-detail__image {
    margin-top: 48px;
  }
}

@media (max-width: 520px) {
  .structured-header__top-inner {
    min-height: 56px;
  }

  .structured-header__nav {
    display: none;
  }

  .cms-listing h1 {
    font-size: 32px;
    line-height: 38px;
  }

  .cms-breadcrumb {
    font-size: 12px;
    line-height: 16px;
  }

  .cms-listing-grid {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 1px;
    scrollbar-width: none;
  }
  .cms-listing--articles .cms-listing-grid {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 1px;
    scrollbar-width: none;
  }

  .cms-listing-grid::-webkit-scrollbar {
    display: none;
  }

  .cms-listing-card,
  .cms-listing--articles .cms-listing-card {
    flex: 0 0 285px;
  }

  .cms-listing--projects .cms-listing-card__image img {
    aspect-ratio: 285 / 152;
  }

  .cms-listing--articles .cms-listing-card__image img {
    aspect-ratio: 285 / 213;
  }

  .cms-featured-project {
    display: none;
  }

  .cms-detail h1 {
    font-size: 22px;
    line-height: 30px;
  }

  .cms-detail--article .cms-breadcrumb {
    font-size: 13px;
  }

  .cms-detail__hero > .cms-detail__image {
    width: 100%;
    max-height: none;
  }

  .cms-detail__body {
    width: 100%;
    max-width: none;
  }

  .cms-detail__body > * {
    width: var(--zmz-shell);
    margin-inline: auto;
  }

  .cms-related > h2,
  .cms-related > .cms-listing-grid {
    width: var(--zmz-shell);
  }

  .structured-footer__grid {
    gap: 24px;
    padding-block: 28px 24px;
  }

  .structured-footer__requisites {
    margin-top: 24px;
  }
}

/* Equipment detail: industrial and engineering solutions use the mobile
   stacked-result-card composition from the service detail. */
@media (max-width: 520px) {
  [data-equipment-solutions] {
    padding-block: calc(72 * 100vw / 375);
  }

  [data-equipment-solutions] > h2 {
    max-width: none;
    color: #17314d;
    font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    font-size: calc(24 * 100vw / 375) !important;
    font-weight: 700 !important;
    line-height: calc(30 * 100vw / 375) !important;
    letter-spacing: calc(-1.2 * 100vw / 375) !important;
    text-transform: uppercase;
  }

  [data-equipment-solutions-description] {
    margin: calc(12 * 100vw / 375) 0 0;
    color: #17314d;
    font-family: Inter, Arial, sans-serif;
    font-size: calc(13 * 100vw / 375);
    font-weight: 500;
    line-height: calc(18 * 100vw / 375);
    letter-spacing: calc(-.13 * 100vw / 375);
  }

  [data-equipment-solutions] .cms-card-grid__items {
    display: flex;
    flex-direction: column;
    gap: calc(8 * 100vw / 375);
    margin-top: calc(64 * 100vw / 375);
  }

  [data-equipment-solutions] .cms-card {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-height: 0;
    height: calc(236 * 100vw / 375);
    overflow: hidden;
    border-radius: calc(10 * 100vw / 375);
    background: #17314d;
    box-shadow: calc(1 * 100vw / 375) calc(1 * 100vw / 375) calc(15 * 100vw / 375) rgb(0 0 0 / 10%);
  }

  [data-equipment-solutions] .cms-card:nth-child(1),
  [data-equipment-solutions] .cms-card:nth-child(4) {
    height: calc(239 * 100vw / 375);
  }

  [data-equipment-solutions] .cms-card:nth-child(2) {
    height: calc(251 * 100vw / 375);
  }

  [data-equipment-solutions] .cms-card::after {
    display: none;
  }

  [data-equipment-solutions] .cms-card img {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: calc(133 * 100vw / 375);
    min-height: 0;
    border-radius: calc(10 * 100vw / 375);
    object-fit: cover;
  }

  [data-equipment-solutions] .cms-card h3,
  [data-equipment-solutions] .cms-card p {
    position: absolute;
    z-index: 1;
    right: calc(24 * 100vw / 375);
    left: calc(24 * 100vw / 375);
    margin: 0;
    color: #fff;
  }

  [data-equipment-solutions] .cms-card h3 {
    top: calc(157 * 100vw / 375);
    font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    font-size: calc(12 * 100vw / 375);
    font-weight: 600;
    line-height: calc(20 * 100vw / 375);
    text-transform: uppercase;
  }

  [data-equipment-solutions] .cms-card h3 + p {
    top: calc(185 * 100vw / 375);
    font-family: Inter, Arial, sans-serif;
    font-size: calc(12 * 100vw / 375);
    font-weight: 400;
    line-height: normal;
  }

  [data-equipment-solutions] .cms-card:nth-child(2) h3,
  [data-equipment-solutions] .cms-card:nth-child(3) h3,
  [data-equipment-solutions] .cms-card:nth-child(5) h3,
  [data-equipment-solutions] .cms-card:nth-child(6) h3 {
    top: calc(154 * 100vw / 375);
  }

  [data-equipment-solutions] .cms-card:nth-child(2) h3 + p,
  [data-equipment-solutions] .cms-card:nth-child(3) h3 + p,
  [data-equipment-solutions] .cms-card:nth-child(5) h3 + p,
  [data-equipment-solutions] .cms-card:nth-child(6) h3 + p {
    top: calc(182 * 100vw / 375);
  }
}

/* Equipment detail: "Для каких задач изготавливаются емкости" mirrors the
   mobile service-detail task grid while retaining the page's CMS content. */
@media (max-width: 520px) {
  [data-equipment-tasks] {
    padding-block: calc(72 * 100vw / 375);
  }

  [data-equipment-tasks] > h2 {
    max-width: none;
    color: #17314d;
    font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    font-size: calc(24 * 100vw / 375) !important;
    font-weight: 700 !important;
    line-height: calc(30 * 100vw / 375) !important;
    letter-spacing: calc(-1.2 * 100vw / 375) !important;
    text-transform: uppercase;
  }

  [data-equipment-tasks-description] {
    margin: calc(12 * 100vw / 375) 0 0;
    color: #17314d;
    font-family: Inter, Arial, sans-serif;
    font-size: calc(13 * 100vw / 375);
    font-weight: 500;
    line-height: calc(18 * 100vw / 375);
    letter-spacing: calc(-.13 * 100vw / 375);
  }

  [data-equipment-tasks] .cms-card-grid__items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(8 * 100vw / 375);
    margin-top: calc(40 * 100vw / 375);
  }

  [data-equipment-tasks] .cms-card {
    box-sizing: border-box;
    display: block;
    min-height: calc(116 * 100vw / 375);
    height: calc(116 * 100vw / 375);
    overflow: hidden;
    border-radius: calc(5 * 100vw / 375);
    padding: calc(8 * 100vw / 375) calc(10 * 100vw / 375) calc(16 * 100vw / 375) calc(12 * 100vw / 375);
    background: #f5f6f7;
  }

  [data-equipment-tasks] .cms-card::after {
    display: none;
  }

  [data-equipment-tasks] .cms-card::before {
    content: counter(equipment-task, decimal-leading-zero);
    position: static;
    display: block;
    color: rgb(23 49 77 / 50%);
    font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    font-size: calc(12 * 100vw / 375);
    font-weight: 600;
    line-height: calc(14 * 100vw / 375);
  }

  [data-equipment-tasks] .cms-card-grid__items {
    counter-reset: equipment-task;
  }

  [data-equipment-tasks] .cms-card {
    counter-increment: equipment-task;
  }

  [data-equipment-tasks] .cms-card h3,
  [data-equipment-tasks] .cms-card p {
    position: static;
    right: auto;
    left: auto;
    margin: 0;
    color: #17314d;
  }

  [data-equipment-tasks] .cms-card h3 {
    margin-top: calc(16 * 100vw / 375);
    font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    font-size: calc(12 * 100vw / 375);
    font-weight: 600;
    line-height: calc(14 * 100vw / 375);
    text-transform: uppercase;
  }

  [data-equipment-tasks] .cms-card h3 + p {
    margin-top: calc(6 * 100vw / 375);
    font-family: Inter, Arial, sans-serif;
    font-size: calc(10 * 100vw / 375);
    font-weight: 400;
    line-height: calc(14 * 100vw / 375);
  }

  [data-equipment-tasks] .cms-card:nth-child(2) {
    background: #17314d;
  }

  [data-equipment-tasks] .cms-card:nth-child(2)::before,
  [data-equipment-tasks] .cms-card:nth-child(2) h3,
  [data-equipment-tasks] .cms-card:nth-child(2) p {
    color: #fff;
  }

  [data-equipment-tasks] .cms-card:nth-child(2)::before {
    color: rgb(255 255 255 / 50%);
  }

  [data-equipment-tasks] .cms-card:nth-child(3) {
    background: #f1f3f6;
  }

  [data-equipment-tasks] .cms-card:nth-child(4) {
    background: #c6d5e3;
  }

  [data-equipment-tasks] .cms-card:nth-child(5) {
    grid-column: 1 / -1;
    height: calc(216 * 100vw / 375);
    min-height: calc(216 * 100vw / 375);
    padding: calc(8 * 100vw / 375) calc(16 * 100vw / 375) calc(32 * 100vw / 375) calc(12 * 100vw / 375);
    background: #17314d;
  }

  [data-equipment-tasks] .cms-card:nth-child(5) img {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: bottom;
  }

  [data-equipment-tasks] .cms-card:nth-child(5)::after {
    display: block;
    z-index: 0;
    background: linear-gradient(to top, rgb(0 0 0 / 40%) 0%, transparent 67.857%);
  }

  [data-equipment-tasks] .cms-card:nth-child(5)::before {
    position: relative;
    z-index: 1;
    color: rgb(23 49 77 / 50%);
  }

  [data-equipment-tasks] .cms-card:nth-child(5) h3,
  [data-equipment-tasks] .cms-card:nth-child(5) p {
    position: absolute;
    z-index: 1;
    right: calc(16 * 100vw / 375);
    left: calc(12 * 100vw / 375);
    color: #fff;
  }

  [data-equipment-tasks] .cms-card:nth-child(5) h3 {
    bottom: calc(60 * 100vw / 375);
    margin: 0;
  }

  [data-equipment-tasks] .cms-card:nth-child(5) h3 + p {
    bottom: calc(32 * 100vw / 375);
    margin: 0;
  }
}

html:has(body.structured-page) {
  overflow-x: hidden;
}

body.structured-page {
  margin: 0;
  color: var(--zmz-ink);
  background: var(--zmz-white);
  font-family: "Inter", Arial, sans-serif;
}

.structured-page *,
.structured-page *::before,
.structured-page *::after {
  box-sizing: border-box;
}

.structured-page a {
  color: inherit;
}

.structured-page {
  overflow-x: hidden;
}

.structured-shell {
  width: var(--zmz-shell);
  margin-inline: auto;
}

.skip-link {
  position: absolute;
  left: 16px;
  top: 12px;
  z-index: 100;
  transform: translateY(-150%);
  border-radius: 30px;
  background: var(--zmz-blue);
  color: #fff;
  padding: 10px 16px;
  font-size: 12px;
  text-transform: uppercase;
}

.skip-link:focus {
  transform: translateY(0);
}

.structured-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: #fff;
}

.structured-header__top,
.structured-header__nav {
  border-bottom: 1px solid var(--zmz-line);
  background: #fff;
}

.structured-header__top-inner {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-width: 0;
}

.structured-brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  min-width: 0;
}

.structured-brand__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--zmz-blue);
  color: #fff;
  font-weight: 800;
  font-size: 12px;
  line-height: 1;
}

.structured-brand__text {
  max-width: 183px;
  color: var(--zmz-blue);
  font-size: 14px;
  font-weight: 800;
  line-height: 18px;
  text-transform: uppercase;
}

.structured-header__contacts {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 28px;
  min-width: 0;
}

.structured-header__contact {
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.structured-button,
.cms-button,
.cms-cta-form__submit,
.cms-cta-form__upload {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 30px;
  padding: 0 32px;
  border: 1px solid transparent;
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  max-width: 100%;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.structured-button--primary,
.cms-button--primary {
  background: var(--zmz-blue);
  color: #fafafa;
}

.structured-button--primary:hover,
.structured-button--primary:focus-visible,
.cms-button--primary:hover,
.cms-button--primary:focus-visible {
  background: var(--zmz-dark);
}

.cms-button--secondary,
.cms-button--outline {
  background: var(--zmz-pale);
  color: var(--zmz-dark);
}

.structured-menu-toggle {
  display: none;
  min-height: 40px;
  border: 1px solid var(--zmz-line);
  border-radius: 30px;
  background: #fff;
  color: var(--zmz-dark);
  padding: 0 18px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.structured-header__list {
  min-height: 48px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 36px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.structured-header__item {
  position: relative;
}

.structured-menu-toggle__close,
.structured-brand__mobile-logo,
.structured-header__submenu-arrow,
.structured-header__mobile-actions {
  display: none;
}

.structured-header__list a,
.structured-header__link {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  color: var(--zmz-ink);
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  text-transform: uppercase;
  text-decoration: none;
}

.structured-header__link {
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  padding: 0;
}

.structured-header__list [aria-current="page"] {
  color: #686869;
}

.structured-header__list a:hover,
.structured-header__list a:focus-visible,
.structured-header__link:hover,
.structured-header__link:focus-visible,
.structured-header__item.is-open > .structured-header__link {
  color: var(--zmz-blue);
}

.structured-header__submenu {
  position: absolute;
  left: 0;
  top: calc(100% - 1px);
  z-index: 45;
  min-width: 280px;
  display: none;
  margin: 0;
  padding: 8px 0;
  list-style: none;
  border: 1px solid var(--zmz-line);
  border-radius: 0 0 8px 8px;
  background: #fff;
  box-shadow: 0 14px 30px rgba(23, 49, 77, .12);
}

.structured-header__item:hover > .structured-header__submenu,
.structured-header__item:focus-within > .structured-header__submenu,
.structured-header__item.is-open > .structured-header__submenu {
  display: block;
}

.structured-header__submenu a,
.structured-header__submenu span {
  min-height: 0;
  display: block;
  padding: 10px 16px;
  color: var(--zmz-ink);
  font-size: 12px;
  line-height: 16px;
  text-transform: uppercase;
  text-decoration: none;
}

@media (min-width: 801px) {
  .structured-header__submenu {
    position: fixed;
    top: 112px;
    left: 0;
    width: 100vw;
    height: 184px;
    min-width: 0;
    grid-auto-flow: column;
    grid-template-columns: 304px 304px;
    grid-template-rows: repeat(5, 16px);
    align-content: start;
    justify-content: start;
    gap: 16px 0;
    padding: 20px max(24px, calc((100vw - 1200px) / 2));
    box-sizing: border-box;
    border: 0;
    border-bottom: 1px solid var(--zmz-line);
    border-radius: 0;
    box-shadow: none;
  }

  .structured-header__item:hover > .structured-header__submenu,
  .structured-header__item:focus-within > .structured-header__submenu,
  .structured-header__item.is-open > .structured-header__submenu {
    display: grid;
  }

  .structured-header__submenu--production {
    grid-template-columns: 304px;
  }

  .structured-header__submenu a,
  .structured-header__submenu span {
    height: 16px;
    padding: 0;
    color: #696969;
    font-weight: 500;
    line-height: 16px;
    white-space: nowrap;
  }
}

.cms-block {
  width: var(--zmz-shell);
  margin-inline: auto;
  padding-block: 112px;
  min-width: 0;
}

.cms-rich-content {
  padding-block: 64px 0;
  color: var(--zmz-muted);
  font-size: 16px;
  line-height: 18px;
}

.cms-rich-content p {
  margin: 0;
}

.cms-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  padding-block: 78px 0;
  min-width: 0;
}

.cms-hero__content {
  display: contents;
}

.cms-hero h1 {
  grid-column: 1 / -1;
  max-width: 1200px;
  margin: 0;
  color: var(--zmz-dark);
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 72px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}

.cms-hero p {
  grid-column: 1;
  max-width: 583px;
  margin: 0;
  color: var(--zmz-ink);
  font-size: 14px;
  line-height: 20px;
}

.cms-hero .cms-actions {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: start;
  justify-content: flex-end;
  min-width: 0;
}

.cms-hero__image {
  grid-column: 1 / -1;
  width: 100%;
  height: 428px;
  margin-top: 44px;
  display: block;
  border-radius: 20px;
  object-fit: cover;
}

.cms-intro {
  padding-bottom: 32px;
}

.cms-intro h2,
.cms-card-grid h2,
.cms-text-media h2,
.cms-steps h2,
.cms-partners h2,
.cms-testimonials h2,
.cms-cta-form h2 {
  margin: 0;
  color: var(--zmz-dark);
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 40px;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: 0;
  text-transform: uppercase;
}

.cms-intro h2 {
  font-family: "Inter", Arial, sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 38px;
  text-transform: none;
}

.cms-intro p {
  max-width: 588px;
  margin: 30px 0 0;
  color: var(--zmz-muted);
  font-size: 14px;
  line-height: 22px;
}

/* Service detail: keep the reverse-engineering introduction aligned with the
   desktop section rhythm, regardless of the amount of copy in the block. */
@media (min-width:521px) {
  [data-services-reverse-intro] {
    padding-bottom:112px !important;
  }
}

@media (min-width:1101px) {
  /* Service work cards reserve a consistent right-side content gutter. */
  [data-services-work] > .container-zmz > div > ul > li > div {
    padding-right:40px;
  }

  /* Keep the first two words together in these service two-line hero titles. */
  :is(
    [data-services-hero][data-service-slug="proektirovanie-promyshlennogo-oborudovaniya"],
    [data-services-hero][data-service-slug="inzhiniring-promyshlennogo-oborudovaniya"],
    [data-services-hero][data-service-slug="proizvodstvo-oborudovaniya-po-chertezham"],
    [data-services-hero][data-service-slug="modernizaciya-promyshlennogo-oborudovaniya"],
    [data-services-hero][data-service-slug="rekonstrukciya-promyshlennogo-oborudovaniya"],
    [data-services-hero][data-service-slug="remont-i-vosstanovlenie-oborudovaniya"],
    [data-services-hero][data-service-slug="importozameshchenie-komponentov-oborudovaniya"]
  ) > h1 {
    width:min(1200px, 100%) !important;
    max-width:1200px !important;
  }

  [data-services-hero][data-service-slug="proizvodstvo-oborudovaniya-po-chertezham"] .service-hero-production-break {
    display:block;
  }
}

.cms-stats {
  padding-top: 0;
}

.cms-stats__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cms-stat {
  min-height: 170px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: var(--zmz-radius);
  background: var(--zmz-soft);
  padding: 24px;
  color: var(--zmz-dark);
}

.cms-stat:nth-child(2) {
  background: var(--zmz-dark);
  color: #fff;
}

.cms-stat:nth-child(4) {
  background: var(--zmz-accent);
}

.cms-stat strong {
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 64px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}

.cms-stat span {
  max-width: 246px;
  font-size: 16px;
  font-weight: 600;
  line-height: 20px;
}

.cms-card-grid {
  padding-block: 112px 0;
}

.cms-card-grid > h2,
.cms-steps > h2,
.cms-partners > h2,
.cms-testimonials > h2 {
  max-width: 987px;
}

.cms-card-grid__items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 72px;
}

.cms-card-grid[data-columns="2"] .cms-card-grid__items {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cms-card-grid[data-columns="4"] .cms-card-grid__items {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cms-card {
  position: relative;
  min-height: 331px;
  overflow: hidden;
  border-radius: var(--zmz-radius);
  background: var(--zmz-soft);
}

.cms-card img {
  width: 100%;
  height: 100%;
  min-height: 331px;
  display: block;
  object-fit: cover;
}

.cms-card h3,
.cms-card p {
  position: absolute;
  left: 24px;
  right: 24px;
  z-index: 1;
}

.cms-card h3 {
  bottom: 82px;
  margin: 0;
  color: #fff;
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 22px;
  text-transform: uppercase;
}

.cms-card p {
  bottom: 24px;
  margin: 0;
  color: #fff;
  font-size: 14px;
  line-height: 20px;
}

.cms-card__link {
  position: absolute;
  left: 24px;
  bottom: 24px;
  z-index: 2;
  color: #fff;
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  text-transform: uppercase;
  text-decoration: none;
}

.cms-card:has(.cms-card__link) p {
  bottom: 72px;
}

.cms-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgb(23 49 77 / 5%) 0%, rgb(23 49 77 / 82%) 100%);
}

.cms-card--plain {
  min-height: 170px;
  padding: 24px;
}

.cms-card--plain::after {
  display: none;
}

.cms-card--plain h3,
.cms-card--plain p {
  position: static;
  color: var(--zmz-dark);
}

.cms-card--plain h3 {
  margin-top: 40px;
}

.cms-card-grid--compact .cms-card:nth-child(2),
.cms-card-grid--light .cms-card:nth-child(5) {
  background: var(--zmz-dark);
}

.cms-card-grid--compact .cms-card:nth-child(2) h3,
.cms-card-grid--compact .cms-card:nth-child(2) p,
.cms-card-grid--light .cms-card:nth-child(5) h3,
.cms-card-grid--light .cms-card:nth-child(5) p {
  color: #fff;
}

.cms-card-grid--compact .cms-card:nth-child(4),
.cms-card-grid--light .cms-card:nth-child(2) {
  background: var(--zmz-accent);
}

.cms-card-grid--featured .cms-card:nth-child(1),
.cms-card-grid--featured .cms-card:nth-child(3) {
  background: #d9e1eb;
}

.cms-card-grid--featured .cms-card:nth-child(1)::after,
.cms-card-grid--featured .cms-card:nth-child(3)::after {
  background: rgb(23 49 77 / 48%);
}

.cms-text-media {
  display: grid;
  grid-template-columns: minmax(0, 588px) minmax(0, 1fr);
  gap: 96px;
  align-items: start;
}

.cms-text-media--image_right .cms-text-media__content {
  order: 1;
}

.cms-text-media--image_right .cms-text-media__image {
  order: 2;
}

.cms-text-media__content p,
.cms-text-media__content li {
  color: var(--zmz-dark);
  font-size: 16px;
  line-height: 22px;
}

.cms-text-media__image {
  width: 100%;
  height: 480px;
  display: block;
  border-radius: var(--zmz-radius);
  object-fit: cover;
}

.cms-specifications {
  display: grid;
  grid-template-columns: minmax(0, 384px) minmax(0, 1fr);
  gap: 96px;
  align-items: start;
}

.cms-specifications h2 {
  margin: 0;
  color: var(--zmz-dark);
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 40px;
  font-weight: 800;
  line-height: 1.08;
  text-transform: uppercase;
}

.cms-specifications table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.cms-specifications tr {
  display: grid;
  grid-template-columns: minmax(0, 220px) minmax(0, 1fr);
  border-top: 1px solid var(--zmz-line);
  padding: 18px 0;
}

.cms-specifications tr:last-child {
  border-bottom: 1px solid var(--zmz-line);
}

.cms-specifications th,
.cms-specifications td {
  padding: 0;
  color: var(--zmz-dark);
  font-size: 14px;
  line-height: 20px;
  text-align: left;
  vertical-align: top;
}

.cms-specifications th {
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
}

.cms-gallery h2,
.cms-related-pages h2,
.cms-faq h2 {
  margin: 0;
  color: var(--zmz-dark);
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 40px;
  font-weight: 800;
  line-height: 1.08;
  text-transform: uppercase;
}

.cms-gallery__items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 48px;
}

.cms-gallery .cms-image img {
  width: 100%;
  height: 260px;
  border-radius: var(--zmz-radius);
  object-fit: cover;
  filter: none;
  opacity: 1;
}

.cms-related-pages {
  background: var(--zmz-soft);
  width: 100%;
  padding-inline: max(24px, calc((100vw - 1200px) / 2));
}

.cms-related-pages__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin: 48px 0 0;
  padding: 0;
  list-style: none;
}

.cms-related-card a {
  min-height: 260px;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--zmz-pale);
  border-radius: 20px;
  background: #fff;
  padding: 24px;
  color: var(--zmz-dark);
  text-decoration: none;
}

.cms-related-card__type {
  width: fit-content;
  background: var(--zmz-soft);
  padding: 7px 8px;
  color: var(--zmz-muted);
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  text-transform: uppercase;
}

.cms-related-card strong {
  margin-top: 24px;
  font-size: 20px;
  line-height: 24px;
}

.cms-related-card span:not(.cms-related-card__type) {
  margin-top: 12px;
  font-size: 14px;
  line-height: 20px;
}

.cms-related-card em {
  margin-top: auto;
  color: var(--zmz-blue);
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 24px;
  text-transform: uppercase;
}

.cms-faq {
  display: grid;
  grid-template-columns: minmax(0, 331px) minmax(0, 1fr);
  gap: 74px;
}

.cms-faq h2 {
  position: sticky;
  top: 128px;
  align-self: start;
}

.cms-faq-item {
  border-bottom: 1px solid #8d949c;
}

.cms-faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 88px;
  color: var(--zmz-dark);
  cursor: pointer;
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.15;
  list-style: none;
}

.cms-faq-item summary::-webkit-details-marker {
  display: none;
}

.cms-faq-item summary::after {
  content: "+";
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--zmz-dark);
  border-radius: 50%;
  font-size: 24px;
  line-height: 1;
}

.cms-faq-item[open] summary::after {
  content: "-";
}

/* Equipment detail FAQ — desktop composition shared with the home-page FAQ. */
@media (min-width:521px) {
  .equipment-faq-mobile {
    display:grid;
    grid-template-columns:minmax(0, 331px) minmax(0, 1fr);
    column-gap:74px;
    align-items:start;
  }

  .equipment-faq-mobile__intro {
    min-width:0;
  }

  .equipment-faq-mobile h2 {
    margin:0;
    color:#17314d;
    font-family:"Roboto Condensed","Arial Narrow",Arial,sans-serif;
    font-size:40px;
    font-weight:700;
    line-height:48px;
    letter-spacing:-.4px;
    text-transform:uppercase;
  }

  .equipment-faq-mobile__intro p {
    margin:24px 0 0;
    color:#000;
    font:400 14px/18px Inter,Arial,sans-serif;
  }

  .equipment-faq-mobile__intro > a {
    display:grid;
    width:187px;
    height:44px;
    margin-top:24px;
    border-radius:30px;
    background:#004084;
    color:#fff;
    font:500 12px/16px "Roboto Condensed","Arial Narrow",Arial,sans-serif;
    text-align:left;
    text-decoration:none;
    text-transform:uppercase;
    place-items:center;
  }

  .equipment-faq-mobile__list {
    min-width:0;
  }

  .equipment-faq-mobile details {
    border-bottom:1px solid #8d949c;
  }

  .equipment-faq-mobile summary {
    display:grid;
    grid-template-columns:minmax(0, 1fr) 44px;
    gap:16px;
    min-height:87px;
    padding:0 16px;
    color:#17314d;
    font:500 24px/28px "Roboto Condensed","Arial Narrow",Arial,sans-serif;
    letter-spacing:-.24px;
    list-style:none;
    cursor:pointer;
    place-items:center start;
  }

  .equipment-faq-mobile summary::-webkit-details-marker {
    display:none;
  }

  .equipment-faq-mobile summary::marker {
    content:"";
  }

  .equipment-faq-mobile summary i {
    display:grid;
    width:44px;
    height:44px;
    border:1px solid #17314d;
    border-radius:50%;
    place-items:center;
  }

  .equipment-faq-mobile summary picture {
    display:block;
    width:25.1px;
    height:25.1px;
  }

  .equipment-faq-mobile summary img {
    display:block;
    width:100%;
    height:100%;
  }

  .equipment-faq-mobile details[open] summary img {
    transform:rotate(180deg);
  }

  .equipment-faq-mobile details > div {
    max-width:687px;
    padding:10px 16px 35px;
    color:#17314d;
    font:400 16px/22px Inter,Arial,sans-serif;
  }

  .equipment-faq-mobile details > div p {
    margin:0;
  }
}

/* Homepage FAQ uses the accepted snapshot's arrow-in-circle treatment. */
.home-faq-cta {
  color: #f1f3f6 !important;
}

.home-faq-item summary::-webkit-details-marker {
  display: none;
}

.home-faq-item summary::marker {
  content: "";
}

.home-faq-item[open] .home-faq-item__icon {
  transform: rotate(180deg);
}

.cms-faq-item div {
  max-width: 687px;
  padding-bottom: 36px;
  color: var(--zmz-dark);
  font-size: 16px;
  line-height: 22px;
}

.cms-steps__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin: 72px 0 0;
  padding: 0;
  list-style: none;
}

.cms-step {
  min-height: 206px;
  border-radius: var(--zmz-radius);
  background: var(--zmz-soft);
  padding: 24px;
}

.cms-step:nth-child(4) {
  background: var(--zmz-dark);
  color: #fff;
}

.cms-step::before {
  content: counter(list-item, decimal-leading-zero);
  display: block;
  margin-bottom: 32px;
  color: var(--zmz-blue);
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.cms-step:nth-child(4)::before {
  color: #c6d5e3;
}

.cms-step h3 {
  margin: 0 0 18px;
  color: inherit;
  font-size: 18px;
  font-weight: 700;
  line-height: 22px;
  text-transform: uppercase;
}

.cms-step p {
  margin: 0;
  color: inherit;
  font-size: 14px;
  line-height: 20px;
}

.cms-partners {
  padding-bottom: 90px;
}

.cms-partners__items {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 28px;
  align-items: center;
  border-top: 2px solid #e1e4e6;
  margin-top: 120px;
  padding-top: 32px;
}

.cms-image {
  margin: 0;
}

.cms-image img {
  max-width: 100%;
  height: 108px;
  display: block;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .72;
}

.cms-testimonials {
  padding-top: 0;
}

.cms-testimonials {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.cms-testimonials h2 {
  grid-column: 1 / -1;
  margin-bottom: 48px;
}

.cms-testimonial {
  min-height: 284px;
  margin: 0;
  border: 1px solid var(--zmz-soft);
  border-radius: var(--zmz-radius);
  box-shadow: 1px 1px 40px rgb(0 0 0 / 5%);
  padding: 38px;
}

.cms-testimonial blockquote {
  margin: 0;
  color: #000;
  font-size: 14px;
  line-height: 20px;
}

.cms-testimonial figcaption {
  margin-bottom: 28px;
  color: var(--zmz-dark);
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 22px;
  text-transform: uppercase;
}

.cms-testimonial figcaption {
  display: flex;
  flex-direction: column;
}

.cms-testimonial blockquote {
  display: block;
}

.cms-cta-form {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 486px) minmax(320px, 390px);
  justify-content: center;
  gap: 252px;
  margin-top: 0;
  padding: 112px max(24px, calc((100vw - 1200px) / 2));
  background: var(--zmz-dark);
  color: #fff;
}

.cms-cta-form h2 {
  color: #fff;
}

.cms-cta-form__info > p {
  max-width: 381px;
  margin: 112px 0 0;
  color: var(--zmz-soft);
  font-size: 16px;
  line-height: 22px;
}

.cms-cta-form__contacts {
  max-width: 386px;
  margin: 52px 0 0;
}

.cms-cta-form__contacts div {
  border-top: 1px solid var(--zmz-soft);
  padding: 10px 0 34px;
}

.cms-cta-form__contacts dt {
  color: var(--zmz-soft);
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 14px;
  text-transform: uppercase;
}

.cms-cta-form__contacts dd {
  margin: 8px 0 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 22px;
}

.cms-cta-form__form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cms-cta-form__form label {
  display: block;
}

.cms-cta-form__form span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.cms-cta-form__form input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]),
.cms-cta-form__form textarea {
  width: 100%;
  border: 1px solid #8d949c;
  border-radius: 30px;
  background: #fff;
  color: var(--zmz-ink);
  padding: 13px 15px;
  font: inherit;
  font-size: 14px;
  outline: none;
}

.cms-cta-form__form textarea {
  min-height: 88px;
  border-radius: 15px;
  resize: vertical;
}

.cms-cta-form__form input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]):focus,
.cms-cta-form__form input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]):focus-visible,
.cms-cta-form__form input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]):active,
.cms-cta-form__form input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]):valid,
.cms-cta-form__form input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]):invalid,
.cms-cta-form__form textarea:focus,
.cms-cta-form__form textarea:focus-visible,
.cms-cta-form__form textarea:active,
.cms-cta-form__form textarea:valid,
.cms-cta-form__form textarea:invalid,
.structured-menu-toggle:focus-visible,
.structured-header a:focus-visible,
.structured-footer a:focus-visible {
  outline: 2px solid #7db7ff;
  outline-offset: 2px;
}

.cms-cta-form__form input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]):focus,
.cms-cta-form__form input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]):focus-visible,
.cms-cta-form__form input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]):active,
.cms-cta-form__form input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]):valid,
.cms-cta-form__form input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]):invalid,
.cms-cta-form__form input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]):-webkit-autofill {
  border-radius: 30px;
  box-shadow: 0 0 0 1000px #fff inset;
}

.cms-cta-form__form textarea:focus,
.cms-cta-form__form textarea:focus-visible,
.cms-cta-form__form textarea:active,
.cms-cta-form__form textarea:valid,
.cms-cta-form__form textarea:invalid,
.cms-cta-form__form textarea:-webkit-autofill {
  border-radius: 15px;
}

.cms-cta-form__upload {
  width: 100%;
  margin-top: 12px;
  background: transparent;
  border-color: #fff;
  color: #fff;
}

.cms-cta-form__upload input {
  display: none;
}

.cms-cta-form__upload [data-upload-default]:not([hidden]),
.cms-cta-form__upload [data-upload-selected]:not([hidden]),
.cms-cta-form__upload [data-upload-filename] {
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
}

.cms-cta-form__upload [data-upload-default]:not([hidden]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.cms-cta-form__upload [data-upload-selected]:not([hidden]) {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.cms-cta-form__upload-name,
.cms-cta-form__upload-remove {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.cms-cta-form__upload-name {
  width: fit-content;
  max-width: 148px;
  min-width: 0;
  font-family: Inter, Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 16px;
  text-transform: none;
}

.cms-cta-form__upload-name [data-upload-filename] {
  display: block;
  width: fit-content;
  max-width: 148px;
  overflow: hidden !important;
  direction: rtl;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cms-cta-form__upload-remove,
.cms-cta-form__upload-remove img {
  width: 16px;
  height: 16px;
}

.cms-cta-form__upload-remove { flex: 0 0 16px; }
.cms-cta-form__upload-remove img { display: block; }
.global-lead .cms-cta-form__upload-default svg { display:block; width:16px; height:16px; flex:0 0 16px; padding:1px; box-sizing:border-box; filter:brightness(0) invert(1); }
.global-lead .cms-cta-form__upload-remove img { filter: brightness(0) invert(1); }

.cms-cta-form__hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.cms-cta-form__submit {
  width: 100%;
  background: var(--zmz-accent);
  color: var(--zmz-dark);
}

.cms-cta-form__consent {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  color: #fff;
  font-size: 12px;
  line-height: 16px;
}

.cms-cta-form__consent input {
  width: 18px;
  height: 18px;
  padding: 0;
  margin: 0;
  accent-color: var(--zmz-accent);
}

.cms-cta-form__consent span {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
}

.cms-cta-form__consent a {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cms-cta-form__privacy {
  margin: 8px 0 0;
  color: #fff;
  font-size: 12px;
  line-height: 16px;
}

.cms-cta-form__privacy a {
  font-weight: 700;
  text-decoration: underline;
}

.cms-contact-details {
  padding-block: 0 72px;
}

.cms-contact-details h2,
.cms-contact-locations h2,
.cms-requisites-cta h2 {
  margin: 0;
  color: var(--zmz-dark);
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 40px;
  font-weight: 800;
  line-height: 1.08;
  text-transform: uppercase;
}

.cms-contact-details__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 48px 0 0;
}

.cms-contact-details__item,
.cms-contact-location {
  min-height: 170px;
  border-radius: var(--zmz-radius);
  background: var(--zmz-soft);
  padding: 24px;
}

.cms-contact-details__item:nth-child(2) {
  background: var(--zmz-dark);
  color: #fff;
}

.cms-contact-details__item dt {
  color: inherit;
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  text-transform: uppercase;
}

.cms-contact-details__item dd {
  margin: 18px 0 0;
  color: inherit;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
}

.cms-contact-details__item p,
.cms-contact-location p,
.cms-requisites-cta p {
  margin: 18px 0 0;
  color: inherit;
  font-size: 14px;
  line-height: 20px;
}

.cms-contact-locations__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 48px;
}

.cms-contact-location h3 {
  margin: 0;
  color: var(--zmz-dark);
  font-size: 18px;
  font-weight: 700;
  line-height: 22px;
  text-transform: uppercase;
}

.cms-contact-location__link {
  display: inline-flex;
  margin-top: 28px;
  color: var(--zmz-blue);
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  text-transform: uppercase;
  text-decoration: none;
}

.cms-requisites-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  border-top: 1px solid var(--zmz-line);
  border-bottom: 1px solid var(--zmz-line);
  padding-block: 48px;
}

.cms-legal {
  background: #fff;
  color: var(--zmz-dark);
}

.cms-legal .container-zmz {
  max-width: 592px;
}

.cms-legal--intro {
  padding-top: 64px;
}

.cms-legal--section {
  padding-top: 36px;
}

.cms-legal--section:last-of-type {
  padding-bottom: 96px;
}

.cms-legal__breadcrumbs {
  margin: 0 0 54px;
  color: #596470;
  font-size: 16px;
  font-weight: 500;
  line-height: 18px;
}

.cms-legal__breadcrumbs a {
  color: inherit;
  text-decoration: none;
}

.cms-legal__breadcrumbs span:last-child {
  color: #8d949c;
}

.cms-legal h1 {
  margin: 0;
  color: var(--zmz-blue);
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 48px;
  letter-spacing: 0;
  text-transform: uppercase;
}

.cms-legal__lead {
  margin-top: 88px;
}

.cms-legal h2 {
  margin: 0;
  color: var(--zmz-dark);
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: 0;
  text-transform: uppercase;
}

.cms-legal__body {
  margin-top: 16px;
}

.cms-legal__lead,
.cms-legal__body {
  font-size: 14px;
  line-height: 18px;
}

.cms-legal__lead p,
.cms-legal__body p {
  margin: 0 0 18px;
}

.cms-legal__lead p:last-child,
.cms-legal__body p:last-child,
.cms-legal__body ul:last-child,
.cms-legal__body ol:last-child {
  margin-bottom: 0;
}

.cms-legal__body ul,
.cms-legal__body ol {
  margin: 0 0 18px 21px;
  padding: 0;
}

.cms-legal__body li {
  margin: 0;
}

.cms-legal a {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cms-listing {
  background: #f5f6f7;
  color: var(--zmz-dark);
  min-height: 60vh;
  padding-bottom: 112px;
}

.cms-listing__hero {
  padding-top: 64px;
}

/* The accepted Services masthead is full-bleed; only its text is shell-aligned. */
.cms-services-index__hero {
  width: 100%;
  padding-top: 64px;
  padding-bottom: 0;
  background: #fff;
}

.cms-services-index__hero h1 {
  width: min(693px, 100%);
  margin-top: 18px;
  font-size: 72px;
  line-height: normal;
  letter-spacing: -3.6px;
}

.cms-services-index__hero .cms-listing__lead {
  max-width: 580px;
  margin-top: 16px;
  line-height: 18px;
}

.cms-breadcrumb {
  margin: 0;
  color: #596470;
  font-size: 16px;
  font-weight: 500;
  line-height: 18px;
}

.cms-breadcrumb a {
  text-decoration: none;
}

.cms-breadcrumb span {
  color: #8d949c;
}

.cms-listing h1,
.cms-detail h1 {
  margin: 30px 0 0;
  color: var(--zmz-dark);
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 48px;
  font-weight: 800;
  line-height: 56px;
  letter-spacing: 0;
  text-transform: uppercase;
}

.cms-listing__lead {
  max-width: 634px;
  margin: 18px 0 0;
  color: var(--zmz-muted);
  font-size: 16px;
  font-weight: 500;
  line-height: 20px;
}

.cms-listing__content {
  padding-top: 56px;
}

.cms-featured-project {
  display: grid;
  grid-template-columns: minmax(0, 584px) minmax(0, 1fr);
  min-height: 440px;
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
}

.cms-featured-project__image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 440px;
  object-fit: cover;
}

.cms-featured-project__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 22px;
  padding: 48px;
}

.cms-featured-project h2,
.cms-listing-card h2 {
  margin: 0;
  color: var(--zmz-dark);
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
}

.cms-featured-project h2 {
  max-width: 520px;
  font-size: 28px;
  line-height: 32px;
}

.cms-featured-project h2 a,
.cms-listing-card h2 a {
  text-decoration: none;
}

.cms-featured-project p,
.cms-listing-card__text {
  margin: 0;
  color: var(--zmz-dark);
  font-size: 16px;
  line-height: 20px;
}

.cms-chip {
  display: inline-flex;
  align-self: flex-start;
  margin: 0;
  padding: 7px 8px;
  background: var(--zmz-soft);
  color: #596470;
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  text-transform: uppercase;
}

.cms-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 88px 0 44px;
}

.cms-filter a,
.cms-load-more a {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 30px;
  padding: 0 24px;
  color: #596470;
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 18px;
  text-decoration: none;
  text-transform: uppercase;
}

.cms-filter a.is-active,
.cms-filter a:hover,
.cms-filter a:focus-visible,
.cms-load-more a {
  border-color: var(--zmz-blue);
  color: var(--zmz-blue);
}

.cms-listing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 64px 32px;
}

.cms-listing-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cms-listing-card {
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
}

.cms-listing-card__image {
  display: block;
  background: var(--zmz-soft);
}

.cms-listing-card__image img {
  display: block;
  width: 100%;
  aspect-ratio: 584 / 300;
  object-fit: cover;
}

.cms-listing-card__body {
  display: flex;
  min-height: 250px;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
}

.cms-listing-card__meta {
  display: flex;
  gap: 24px;
  margin: auto 0 0;
  color: #8d949c;
  font-size: 14px;
  line-height: 18px;
}

.cms-listing-card__link {
  margin-top: auto;
  color: var(--zmz-blue);
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 24px;
  text-decoration: none;
  text-transform: uppercase;
}

.cms-load-more {
  margin: 72px 0 0;
  text-align: center;
}

/* Desktop blog index: Figma node 1311:7768. Article data remains managed in Wagtail. */
@media (min-width: 1024px) {
  .blog-company { min-height:0; padding-bottom:64px; background:#fff; }
  .blog-company__hero { padding-top:64px; }
  .blog-company__hero h1 { margin-top:26px; font-size:48px; font-weight:800; line-height:56px; letter-spacing:-1.2px; }
  .blog-company__hero .cms-listing__lead { max-width:650px; margin-top:14px; color:#596470; font-size:16px; font-weight:400; line-height:19px; }
  .blog-company__content { padding-top:98px; }
  .blog-company__recent { margin:0 0 64px; }
  .blog-company__recent > h2 { margin:0 0 24px; color:#17314d; font-family:"Roboto Condensed", "Arial Narrow", Arial, sans-serif; font-size:24px; font-weight:700; line-height:30px; text-transform:uppercase; }
  .blog-company__recent-grid { display:grid; grid-template-columns:687px minmax(0, 1fr); column-gap:32px; }
  .blog-company__featured { min-width:0; }
  .blog-company__featured-image, .blog-company__compact-image { display:block; overflow:hidden; border-radius:5px; background:#f5f6f7; }
  .blog-company__featured-image img { display:block; width:687px; height:356px; object-fit:cover; }
  .blog-company__category { margin:0; color:#596470; font-family:"Roboto Condensed", "Arial Narrow", Arial, sans-serif; font-size:12px; font-weight:500; line-height:16px; text-transform:uppercase; }
  .blog-company__featured .blog-company__category { margin-top:22px; }
  .blog-company h3 { margin:0; color:#17314d; font-family:Inter, Arial, sans-serif; font-size:24px; font-weight:700; line-height:28px; }
  .blog-company h3 a { color:inherit; text-decoration:none; }
  .blog-company__featured h3 { margin-top:8px; }
  .blog-company__featured h3 { display:-webkit-box; overflow:hidden; font-weight:600; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .blog-company__lead { display:-webkit-box; overflow:hidden; margin:8px 0 0; color:#17314d; font-size:16px; font-weight:400; line-height:20px; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .blog-company__meta { display:flex; align-items:center; gap:20px; margin:0; color:#8d949c; font-size:14px; font-weight:400; line-height:18px; }
  .blog-company__featured > .blog-company__meta { margin-top:24px; font-size:14px; line-height:18px; }
  .blog-company__featured > .blog-company__meta time,
  .blog-company__featured > .blog-company__meta .blog-company__reading { font:400 14px/18px Inter, Arial, sans-serif; }
  .blog-company__featured > .blog-company__meta,
  .blog-company__featured > .blog-company__meta time,
  .blog-company__featured > .blog-company__meta .blog-company__reading,
  .blog-company__compact .blog-company__meta,
  .blog-company__compact .blog-company__meta time,
  .blog-company__compact .blog-company__meta .blog-company__reading { color:#8d949c; }
  .blog-company__reading { display:inline-flex; align-items:center; gap:8px; }
  .blog-company__eye { display:block; width:18px; height:18px; flex:0 0 18px; background:center / 18px 18px no-repeat url("/static/img/blog-reading-eye.d076bda4b730.svg"); }
  .blog-company__compact { display:grid; grid-template-columns:113px minmax(0, 1fr); min-height:113px; column-gap:16px; }
  .blog-company__compact + .blog-company__compact { margin-top:32px; }
  .blog-company__compact-image, .blog-company__compact-image img { width:113px; height:113px; }
  .blog-company__compact-image img { display:block; object-fit:cover; }
  .blog-company__compact-body { position:relative; display:flex; min-width:0; height:113px; flex-direction:column; }
  .blog-company__compact h3 { display:-webkit-box; margin-top:8px; overflow:hidden; font-size:18px; font-weight:600; line-height:23px; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .blog-company__compact .blog-company__meta { position:absolute; bottom:0; left:0; margin:0; }
  .blog-company__popular { margin:0; padding-top:52px; }
  .blog-company:has(.blog-company__popular) { padding-bottom:0; }
  .blog-company__popular > h2 { margin:0 0 32px; color:#17314d; font-family:"Roboto Condensed", "Arial Narrow", Arial, sans-serif; font-size:24px; font-weight:700; line-height:30px; text-transform:uppercase; }
  .blog-company__popular-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:64px 32px; align-items:stretch; }
  .blog-company__popular-card { display:flex; min-width:0; min-height:438px; height:100%; flex-direction:column; }
  .blog-company__popular-card[hidden] { display:none; }
  .blog-company__popular-image { display:block; width:379px; height:232px; overflow:hidden; border-radius:5px; background:#f5f6f7; }
  .blog-company__popular-image img { display:block; width:379px; height:232px; object-fit:cover; }
  .blog-company__popular-card .blog-company__category { margin-top:16px; }
  .blog-company__popular-card h3 { display:-webkit-box; margin-top:8px; overflow:hidden; font-size:18px; font-weight:600; line-height:22px; letter-spacing:-.4px; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
  .blog-company__popular-lead { display:-webkit-box; overflow:hidden; margin:12px 0 24px; color:#17314d; font-family:Inter, Arial, sans-serif; font-size:16px; font-weight:400; line-height:20px; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .blog-company__popular-card > .blog-company__meta { margin-top:auto; }
  .blog-company__popular-card > .blog-company__meta,
  .blog-company__popular-card > .blog-company__meta time,
  .blog-company__popular-card > .blog-company__meta .blog-company__reading { color:#8d949c; }
  .blog-company__popular-card > .blog-company__meta time,
  .blog-company__popular-card > .blog-company__meta .blog-company__reading { font:500 14px/18px Inter, Arial, sans-serif; }
  .blog-company__popular-load { margin:64px 0 0; text-align:center; }
  .blog-company__popular { padding-bottom:64px; }
  .blog-company__popular:has([data-popular-load][hidden]) { padding-bottom:112px; }
  .blog-company__popular-load button { display:inline-flex; width:186px; height:44px; align-items:center; justify-content:center; border:1px solid #17314d; border-radius:30px; background:transparent; color:#17314d; font-family:"Roboto Condensed", "Arial Narrow", Arial, sans-serif; font-size:12px; font-weight:500; line-height:16px; text-transform:uppercase; cursor:pointer; }
}

@media (max-width: 1100px) {
  .blog-company__recent { margin-bottom:56px; }
  .blog-company__recent > h2 { margin:0 0 24px; color:#17314d; font-family:"Roboto Condensed", "Arial Narrow", Arial, sans-serif; font-size:24px; line-height:30px; text-transform:uppercase; }
  .blog-company__recent-grid { display:flex; width:100vw; gap:16px; overflow-x:auto; padding-right:24px; scrollbar-width:none; }
  .blog-company__recent-grid::-webkit-scrollbar { display:none; }
  .blog-company__compact-list { display:contents; }
  .blog-company__featured, .blog-company__compact { display:block; flex:0 0 311px; }
  .blog-company__featured-image, .blog-company__compact-image { display:block; overflow:hidden; background:#f5f6f7; }
  .blog-company__featured-image img, .blog-company__compact-image img { display:block; width:311px; height:232px; object-fit:cover; }
  .blog-company__category { margin:12px 0 0; color:#596470; font-family:"Roboto Condensed", "Arial Narrow", Arial, sans-serif; font-size:12px; line-height:16px; text-transform:uppercase; }
  .blog-company h3 { margin:8px 0 0; color:#17314d; font-family:Inter, Arial, sans-serif; font-size:18px; line-height:22px; }
  .blog-company h3 a { color:inherit; text-decoration:none; }
  .blog-company__lead { display:-webkit-box; overflow:hidden; margin:8px 0 0; color:#17314d; font-size:14px; line-height:18px; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .blog-company__meta { display:flex; gap:18px; margin:12px 0 0; color:#8d949c; font-size:12px; line-height:18px; }
  .blog-company__reading { display:inline-flex; align-items:center; gap:8px; }
  .blog-company__eye { display:none; }
}

@media (max-width: 520px) {
  .blog-company__recent-grid { gap:8px; padding-right:16px; }
  .blog-company__featured, .blog-company__compact { flex-basis:285px; }
  .blog-company__featured-image img, .blog-company__compact-image img { width:285px; height:213px; }
}

.cms-empty {
  margin: 0;
  color: var(--zmz-muted);
}

.cms-detail {
  background: #fff;
  color: var(--zmz-dark);
}

.cms-detail__hero {
  padding-top: 72px;
  text-align: center;
}

.cms-detail__hero .cms-breadcrumb {
  text-align: left;
}

.cms-detail__hero .cms-chip {
  margin: 32px auto 0;
}

.cms-detail h1 {
  max-width: 1046px;
  margin-inline: auto;
  font-family: "Inter", Arial, sans-serif;
  font-weight: 700;
  text-transform: none;
}

.cms-detail__lead {
  max-width: 744px;
  margin: 28px auto 0;
  color: var(--zmz-dark);
  font-size: 16px;
  line-height: 22px;
}

.cms-detail__meta {
  display: flex;
  justify-content: center;
  gap: 28px;
  margin: 28px 0 0;
  color: #8d949c;
  font-size: 14px;
  line-height: 18px;
}

.cms-detail__image {
  display: block;
  width: 100%;
  max-height: 500px;
  margin-top: 48px;
  object-fit: cover;
}

.cms-detail__body {
  max-width: 744px;
  padding-block: 80px 96px;
}

.cms-detail__body .cms-block {
  width: 100%;
  margin-inline: 0;
  padding-block: 0;
}

.cms-detail__body h2 {
  margin: 48px 0 20px;
  color: var(--zmz-dark);
  font-size: 36px;
  font-weight: 700;
  line-height: 46px;
}

.cms-detail__body h3 {
  margin: 40px 0 18px;
  color: var(--zmz-dark);
  font-size: 24px;
  font-weight: 700;
  line-height: 30px;
}

.cms-detail__body p,
.cms-detail__body li,
.cms-detail__rich {
  color: var(--zmz-dark);
  font-size: 16px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.cms-listing-card,
.cms-listing-card a,
.cms-related {
  overflow-wrap: anywhere;
}

.cms-detail__body img {
  max-width: 100%;
  height: auto;
}

/* Desktop article detail pages. The content remains CMS-driven; these rules
   only establish the shared Figma composition. */
@media (min-width: 1101px) {
  .blog-article .cms-detail__hero {
    padding-top: 40px;
    text-align: center;
  }

  .blog-article .cms-breadcrumb {
    width: 1200px;
    margin: 0 auto;
    color: #596470;
    font-family: "Inter", Arial, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 18px;
    text-align: left;
  }

  .blog-article .cms-breadcrumb span { color: #8d949c; }

  .blog-article .cms-detail__hero > h1 {
    width: 1200px;
    max-width: none;
    margin: 24px auto 0;
    color: #17314d;
    font-family: "Inter", Arial, sans-serif;
    font-size: 40px;
    font-weight: 600;
    letter-spacing: -0.48px;
    line-height: 48px;
    text-align: center;
  }

  .blog-article .cms-detail__hero > .blog-article__reading-meta {
    width: 738px;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    margin: 48px auto 0;
    color: #8d949c;
    font-family: "Inter", Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 18px;
  }

  .blog-article__eye {
    display: block;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    background: center / 18px 18px no-repeat url("../img/blog-reading-eye.d076bda4b730.svg");
  }

  .blog-article .cms-detail__hero > .cms-detail__lead {
    width: 738px;
    max-width: none;
    margin: 44px auto 0;
    color: #17314d;
    font-family: "Inter", Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    text-align: left;
  }

  .blog-article .cms-detail__image {
    width: 1200px;
    height: 500px;
    max-height: none;
    margin: 80px auto 0;
    border-radius: 5px;
    object-fit: cover;
  }

  .blog-article .cms-detail__body {
    width: 738px;
    max-width: none;
    padding: 80px 0 0;
  }

  .blog-article .cms-detail__body .cms-heading { margin: 56px 0 0; }
  .blog-article .cms-detail__body .cms-heading:first-child { margin-top: 0; }

  .blog-article .cms-detail__body h2,
  .blog-article .cms-detail__body h3 {
    margin: 0;
    color: #17314d;
    font-family: "Inter", Arial, sans-serif;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.24px;
    line-height: 30px;
  }

  .blog-article .cms-detail__body .cms-heading + .cms-rich-content,
  .blog-article .cms-detail__body .cms-heading + .cms-list-block { margin-top: 24px; }

  .blog-article .cms-detail__body .cms-rich-content {
    margin: 0;
    padding: 0;
  }

  .blog-article .cms-detail__body p,
  .blog-article .cms-detail__body li,
  .blog-article .cms-detail__body .cms-rich-content {
    color: #17314d;
    font-family: "Inter", Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
  }

  .blog-article .cms-detail__body .cms-rich-content p { margin: 0 0 20px; }
  .blog-article .cms-detail__body .cms-rich-content p:last-child { margin-bottom: 0; }

  .blog-article .cms-detail__body .cms-rich-content + .cms-list-block { margin-top: 20px; }
  .blog-article .cms-detail__body .cms-list-block + .cms-rich-content { margin-top: 20px; }

  .blog-article .cms-detail__body .cms-list-block ul,
  .blog-article .cms-detail__body .cms-list-block ol {
    margin: 0;
    padding-left: 24px;
  }

  .blog-article .cms-detail__body .cms-list-block ul { list-style: disc outside; }
  .blog-article .cms-detail__body .cms-list-block ol { list-style: decimal outside; }

  .blog-article .cms-detail__body .cms-list-block li {
    margin: 0 0 4px;
    padding-left: 0;
  }

  .blog-article .cms-detail__body .cms-list-block li:last-child { margin-bottom: 0; }
  .blog-article .cms-detail__body .cms-list-block li::marker { color: #17314d; }

  .blog-article .cms-detail__body .cms-rich-content ul,
  .blog-article .cms-detail__body .cms-rich-content ol {
    margin: 16px 0;
    padding-left: 24px;
  }

  .blog-article .cms-detail__body .cms-rich-content li {
    margin: 0 0 4px;
    padding-left: 0;
  }

  .blog-article .cms-detail__body .cms-image {
    width: 738px;
    margin: 80px 0;
  }

  .blog-article .cms-detail__body .cms-image img {
    display: block;
    width: 738px;
    height: 500px;
    object-fit: cover;
    filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
  }

  .blog-article__footer {
    width: 738px;
    margin: 88px auto 112px;
  }

  .blog-article__footer-line {
    width: 100%;
    height: 1px;
    background: #8d949c;
  }

  .blog-article__footer-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 0 0 24px;
    color: #585e65;
    font-family: "Inter", Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 18px;
  }

  .blog-article__tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    margin-left: auto;
  }

  .blog-article__tags span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 7px 8px;
    background: #f1f3f6;
    color: #596470;
    font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 16px;
    text-transform: uppercase;
  }
}


.cms-project-cta {
  background: var(--zmz-soft);
  padding-block: 96px;
}

.cms-project-cta .structured-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px 48px;
  align-items: end;
}

.cms-project-cta h2 {
  margin: 0;
  color: var(--zmz-blue);
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 48px;
  font-weight: 800;
  line-height: 56px;
  text-transform: uppercase;
}

.cms-project-cta p {
  max-width: 687px;
  margin: 0;
  color: var(--zmz-muted);
  font-size: 16px;
  line-height: 20px;
}

.cms-project-cta .structured-button {
  grid-row: 1 / span 2;
  grid-column: 2;
}

.cms-related {
  padding-block: 96px 112px;
}

.cms-related h2 {
  margin: 0 0 48px;
  color: var(--zmz-blue);
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 48px;
  font-weight: 800;
  line-height: 56px;
  text-transform: uppercase;
}

.figma-shell {
  width: min(100% - 32px, 1200px);
  margin-inline: auto;
}

.figma-listing {
  min-height: 60vh;
  background: #f5f6f7;
  color: var(--zmz-dark);
  padding-bottom: 112px;
}

.figma-listing__hero {
  padding-top: 64px;
}

.figma-breadcrumb {
  margin: 0;
  color: #596470;
  font-size: 16px;
  font-weight: 500;
  line-height: 18px;
}

.figma-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.figma-breadcrumb span:last-child {
  color: #8d949c;
}

.figma-listing h1,
.figma-detail h1 {
  margin: 30px 0 0;
  color: var(--zmz-dark);
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 48px;
  font-weight: 800;
  line-height: 56px;
  letter-spacing: 0;
  text-transform: uppercase;
}

.figma-listing__lead {
  max-width: 634px;
  margin: 18px 0 0;
  color: #596470;
  font-size: 16px;
  font-weight: 600;
  line-height: 20px;
}

.figma-listing__content {
  padding-top: 88px;
}

.figma-featured-project {
  display: grid;
  grid-template-columns: minmax(0, 584px) minmax(0, 1fr);
  min-height: 440px;
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
}

.figma-featured-project__image {
  display: block;
  background: #e1e4e6;
}

.figma-featured-project__image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 440px;
  object-fit: cover;
}

.figma-featured-project__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 22px;
  padding: 48px;
}

.figma-featured-project h2,
.figma-card h2 {
  margin: 0;
  color: var(--zmz-dark);
  font-family: "Inter", Arial, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
  letter-spacing: 0;
}

.figma-featured-project h2 {
  max-width: 520px;
  font-size: 28px;
  line-height: 32px;
}

.figma-featured-project a,
.figma-card a {
  color: inherit;
  text-decoration: none;
}

.figma-featured-project__text,
.figma-card__text {
  margin: 0;
  color: var(--zmz-dark);
  font-size: 16px;
  font-weight: 500;
  line-height: 20px;
}

.figma-chip {
  display: inline-flex;
  align-self: flex-start;
  margin: 0;
  padding: 7px 8px;
  background: var(--zmz-soft);
  color: #596470;
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  letter-spacing: 0;
  text-transform: uppercase;
}

.figma-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 0 22px;
  margin: 88px 0 44px;
}

.figma-filter a,
.figma-load-more a {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 30px;
  padding: 0 24px;
  color: #596470;
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: 0;
  text-decoration: none;
  text-transform: uppercase;
}

.figma-filter a.is-active,
.figma-filter a:hover,
.figma-filter a:focus-visible,
.figma-load-more a {
  border-color: var(--zmz-blue);
  color: var(--zmz-blue);
}

.figma-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 64px 32px;
}

.figma-card-grid--articles {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 64px 32px;
}

.figma-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
}

.figma-card__image {
  display: block;
  background: #e1e4e6;
}

.figma-card__image img {
  display: block;
  width: 100%;
  aspect-ratio: 584 / 300;
  object-fit: cover;
}

.figma-card__body {
  display: flex;
  min-height: 252px;
  flex: 1;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
}

.figma-card--article .figma-card__body {
  min-height: 182px;
  padding: 16px 0 0;
  background: #f5f6f7;
}

.figma-card--article {
  overflow: visible;
  border-radius: 0;
  background: transparent;
}

.figma-card--article .figma-card__image,
.figma-card--article .figma-card__image img {
  border-radius: 20px;
}

.figma-card__meta {
  display: flex;
  gap: 28px;
  margin: auto 0 0;
  color: #596470;
  font-size: 14px;
  line-height: 18px;
}

.figma-card__more {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  margin-top: auto;
  color: var(--zmz-blue);
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 24px;
  letter-spacing: 0;
  text-transform: uppercase;
}

.figma-card--static .figma-card__more {
  display: none;
}

.figma-load-more {
  margin: 72px 0 0;
  text-align: center;
}

.figma-empty {
  margin: 0;
  color: var(--zmz-muted);
}

.figma-detail {
  background: #fff;
  color: var(--zmz-dark);
}

.figma-detail__header {
  padding-top: 64px;
  text-align: center;
}

.figma-detail__topline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: start;
  text-align: left;
}

.figma-detail__header > .figma-breadcrumb {
  text-align: left;
}

.figma-detail__topline .figma-chip {
  justify-self: end;
}

.figma-detail h1 {
  max-width: 880px;
  margin-inline: auto;
  font-family: "Inter", Arial, sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 56px;
  text-transform: none;
}

.figma-detail__lead {
  max-width: 744px;
  margin: 20px auto 0;
  color: var(--zmz-dark);
  font-size: 16px;
  font-weight: 500;
  line-height: 20px;
}

.figma-detail__meta {
  display: flex;
  justify-content: center;
  gap: 28px;
  margin: 28px 0 0;
  color: #8d949c;
  font-size: 14px;
  line-height: 18px;
}

.figma-detail__hero-image {
  display: block;
  width: 100%;
  max-height: 500px;
  margin-top: 48px;
  border-radius: 0;
  object-fit: cover;
}

.figma-detail__body {
  width: min(100% - 32px, 744px);
  margin-inline: auto;
  padding-block: 80px 96px;
}

.figma-detail__body .cms-block {
  width: 100%;
  margin: 0;
  padding: 0;
}

.figma-detail__body h2 {
  margin: 48px 0 20px;
  color: var(--zmz-dark);
  font-size: 32px;
  font-weight: 700;
  line-height: 40px;
}

.figma-detail__body h3 {
  margin: 40px 0 18px;
  color: var(--zmz-dark);
  font-size: 22px;
  font-weight: 700;
  line-height: 28px;
}

.figma-detail__body p,
.figma-detail__body li,
.figma-detail__rich {
  color: var(--zmz-dark);
  font-size: 16px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.figma-detail__body p,
.figma-detail__rich p {
  margin: 0 0 16px;
}

.figma-detail__body ul,
.figma-detail__body ol {
  margin: 0 0 20px 20px;
  padding: 0;
}

.figma-detail__body li {
  margin: 0 0 6px;
}

.figma-detail__body img {
  max-width: 100%;
  height: auto;
}

.figma-detail__body .cms-image {
  margin: 56px 0;
}

.figma-detail__body .cms-image img {
  display: block;
  width: 100%;
  aspect-ratio: 800 / 600;
  object-fit: cover;
}

.figma-detail__footer-meta {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-top: 80px;
  border-top: 1px solid #e1e4e6;
  padding-top: 24px;
  color: #596470;
  font-size: 14px;
  line-height: 18px;
}

@media (width <= 900px) {
  .figma-listing {
    padding-bottom: 72px;
  }

  .figma-listing__hero,
  .figma-detail__header {
    padding-top: 56px;
  }

  .figma-listing h1,
  .figma-detail h1 {
    margin-top: 24px;
    font-size: 40px;
    line-height: 48px;
  }

  .figma-featured-project {
    grid-template-columns: 1fr;
  }

  .figma-featured-project__image img {
    min-height: 0;
    aspect-ratio: 343 / 220;
  }

  .figma-featured-project__body {
    padding: 24px;
  }

  .figma-card-grid,
  .figma-card-grid--articles {
    grid-template-columns: 1fr;
  }

  .figma-detail__topline {
    grid-template-columns: 1fr;
  }

  .figma-detail__topline .figma-chip {
    justify-self: start;
  }
}

@media (width <= 520px) {
  .figma-shell,
  .figma-detail__body {
    width: min(100% - 32px, 343px);
  }

  .figma-breadcrumb {
    font-size: 12px;
    line-height: 16px;
  }

  .figma-listing h1,
  .figma-detail h1 {
    font-size: 32px;
    line-height: 38px;
  }

  .figma-listing__lead,
  .figma-detail__lead {
    font-size: 13px;
    line-height: 18px;
  }

  .figma-listing__content {
    padding-top: 48px;
  }

  .figma-filter {
    gap: 8px;
    margin: 48px 0 32px;
  }

  .figma-filter a,
  .figma-load-more a {
    padding-inline: 18px;
    font-size: 12px;
  }

  .figma-card {
    border-radius: 10px;
  }

  .figma-card__body {
    min-height: 0;
    padding: 20px;
  }

  .figma-card--article .figma-card__body {
    padding: 14px 0 0;
  }

  .figma-card h2,
  .figma-featured-project h2 {
    font-size: 18px;
    line-height: 22px;
  }

  .figma-featured-project {
    border-radius: 10px;
  }

  .figma-detail__hero-image {
    margin-top: 32px;
    aspect-ratio: 343 / 220;
    max-height: none;
  }

  .figma-detail__body {
    padding-block: 56px 72px;
  }

  .figma-detail__body h2 {
    font-size: 24px;
    line-height: 30px;
  }

  .figma-detail__body h3 {
    font-size: 18px;
    line-height: 24px;
  }

  .figma-detail__body p,
  .figma-detail__body li,
  .figma-detail__rich {
    font-size: 13px;
    line-height: 18px;
  }
}

.cms-cta-form__status,
.cms-cta-form__error {
  display: block;
  color: #fff;
  font-size: 12px;
  line-height: 16px;
}

.cms-cta-form__status {
  border: 1px solid rgb(255 255 255 / 35%);
  border-radius: 12px;
  padding: 12px 14px;
}

.cms-cta-form__error {
  margin-top: 6px;
  color: #ffd6d6;
}

.cms-cta-form__submit:disabled {
  cursor: wait;
  opacity: .72;
}

.structured-footer {
  background: #161616;
  color: #fff;
}

.structured-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px 320px;
  gap: 72px;
  padding-block: 40px 48px;
}

.structured-brand--footer .structured-brand__text,
.structured-footer a,
.structured-footer p,
.structured-footer span {
  color: #e1e4e6;
}

.structured-footer__requisites {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 40px;
  font-size: 14px;
  line-height: 18px;
}

.structured-footer__nav {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.structured-footer__nav a {
  font-size: 14px;
  font-weight: 600;
  line-height: 18px;
  text-transform: uppercase;
  text-decoration: none;
}

.structured-footer__policy {
  display: inline-block;
  margin-top: 32px;
  color: #8d949c;
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  text-underline-offset: 3px;
}

.structured-footer__contacts {
  display: flex;
  flex-direction: column;
  gap: 16px;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
}

.structured-footer__contacts a {
  text-decoration: none;
}

@media (max-width: 1100px) {
  :root {
    --zmz-shell: min(944px, calc(100vw - 40px));
  }

  .structured-header__contacts {
    gap: 18px;
  }

  .cms-hero h1 {
    font-size: 56px;
  }

  .cms-hero .cms-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }

  .cms-stats__list,
  .cms-steps__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cms-card-grid__items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cms-card-grid[data-columns="4"] .cms-card-grid__items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cms-text-media {
    gap: 40px;
  }

  .cms-specifications {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .cms-related-pages__items,
  .cms-faq {
    grid-template-columns: 1fr;
  }

  .cms-faq h2 {
    position: static;
  }

  .cms-cta-form {
    gap: 72px;
  }

  .structured-footer__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 800px) {
  :root {
    --zmz-shell: min(704px, calc(100vw - 32px));
  }

  html.structured-menu-open,
  html.structured-menu-open body {
    overflow: hidden;
  }

  .structured-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    min-width: 24px;
    min-height: 24px;
    margin: 0 24px 0 16px;
    border: 0;
    border-radius: 0;
    padding: 0;
  }

  .structured-menu-toggle__open {
    display: block;
    width: 24px;
    height: 24px;
  }

  .structured-menu-toggle[aria-expanded="true"] .structured-menu-toggle__open {
    display: none;
  }

  .structured-menu-toggle[aria-expanded="true"] .structured-menu-toggle__close {
    display: block;
    width: 24px;
    height: 24px;
  }

  .structured-header__top-inner {
    width: 100%;
    min-height: 56px;
    justify-content: flex-start;
    gap: 0;
  }

  .structured-brand {
    gap: 6px;
  }

  .structured-brand__logo {
    display: none;
  }

  .structured-brand__mobile-logo {
    display: block;
    width: 32px;
    height: 30px;
  }

  .structured-brand__text {
    width: 130px;
    font-size: 10px;
    line-height: 14px;
  }

  .structured-header__contacts {
    display: none;
  }

  .structured-header__nav {
    display: none;
    position: fixed;
    inset: 56px 0 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 0;
  }

  .structured-header__nav.is-open {
    display: block;
  }

  .structured-header__list {
    width: 100%;
    min-height: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: 0;
  }

  .structured-header__list > li {
    width: 100%;
    border-bottom: 1px solid #d9d9d9;
  }

  .structured-header__list a,
  .structured-header__link {
    width: 100%;
    min-height: 41px;
    padding: 0 8px;
    font-weight: 500;
  }

  .structured-header__submenu-toggle {
    justify-content: space-between;
  }

  .structured-header__item.is-open > .structured-header__submenu-toggle {
    border-bottom: 1px solid #d9d9d9;
  }

  .structured-header__submenu-arrow {
    display: block;
    width: 16px;
    height: 16px;
    transition: transform .15s ease;
  }

  .structured-header__item.is-open > .structured-header__submenu-toggle .structured-header__submenu-arrow {
    transform: rotate(180deg);
  }

  .structured-header__submenu {
    position: static;
    min-width: 0;
    width: 100%;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    padding: 0;
  }

  .structured-header__submenu li {
    height: 32px;
  }

  .structured-header__submenu li:first-child {
    height: 35px;
  }

  .structured-header__submenu a,
  .structured-header__submenu span {
    min-height: 32px;
    padding: 0 16px;
    color: #696969;
    font-weight: 500;
    line-height: 16px;
  }

  .structured-header__submenu li:first-child a,
  .structured-header__submenu li:first-child span {
    min-height: 35px;
    padding-top: 3px;
  }

  .structured-header__mobile-actions {
    display: block;
    min-height: 138px;
    padding: 25px 8px 13px;
    border-bottom: 0 !important;
  }

  .structured-header__mobile-contacts {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .structured-header__mobile-contacts a {
    width: auto;
    min-height: 16px;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  .structured-header__mobile-actions > .structured-button {
    min-height: 44px;
    margin-top: 25px;
    padding: 0 32px;
    color: #fafafa;
  }

  .cms-block {
    padding-block: 72px;
  }

  .cms-rich-content {
    padding-block: 32px 0;
  }

  .cms-hero {
    display: block;
    padding-top: 56px;
  }

  .cms-hero h1 {
    font-size: 42px;
  }

  .cms-hero p,
  .cms-hero .cms-actions {
    margin-top: 24px;
  }

  .cms-hero__image {
    height: 360px;
  }

  .cms-intro h2,
  .cms-card-grid h2,
  .cms-text-media h2,
  .cms-steps h2,
  .cms-partners h2,
  .cms-testimonials h2,
  .cms-cta-form h2 {
    font-size: 34px;
  }

  .cms-intro h2 {
    font-size: 26px;
    line-height: 32px;
  }

  .cms-text-media,
  .cms-cta-form,
  .cms-testimonials,
  .cms-contact-locations__grid {
    grid-template-columns: 1fr;
  }

  .cms-featured-project,
  .cms-listing-grid,
  .cms-listing-grid--three,
  .cms-project-cta .structured-shell {
    grid-template-columns: 1fr;
  }

  .cms-featured-project__image img {
    min-height: 0;
    aspect-ratio: 358 / 260;
  }

  .cms-featured-project__body,
  .cms-listing-card__body {
    min-height: 0;
  }

  .cms-project-cta .structured-button {
    grid-row: auto;
    grid-column: auto;
    justify-self: start;
  }

  .cms-detail__hero {
    padding-top: 56px;
    text-align: left;
  }

  .cms-detail h1 {
    margin-top: 24px;
    font-size: 38px;
    line-height: 44px;
  }

  .cms-detail__lead,
  .cms-detail__meta {
    margin-top: 20px;
  }

  .cms-detail__meta {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px 18px;
  }

  .cms-detail__image {
    margin-top: 32px;
  }

  .cms-detail__body {
    padding-block: 56px 72px;
  }

  .cms-text-media__image {
    order: -1;
    height: 360px;
  }

  .cms-partners__items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 64px;
  }

  .cms-cta-form {
    gap: 48px;
  }
}

@media (max-width: 520px) {
  :root {
    --zmz-shell: min(358px, calc(100vw - 32px));
  }

  .structured-header__top-inner {
    min-height: 60px;
  }

  .structured-brand__mark {
    width: 36px;
    height: 36px;
  }

  .structured-brand__text {
    max-width: 150px;
    font-size: 12px;
    line-height: 16px;
  }

  .structured-header__contacts .structured-button {
    display: none;
  }

  .cms-hero h1 {
    font-size: 34px;
  }

  .cms-hero__image {
    height: 260px;
    border-radius: 16px;
  }

  .cms-hero .cms-actions {
    flex-direction: column;
  }

  .cms-button {
    width: 100%;
  }

  .cms-stats__list,
  .cms-card-grid__items,
  .cms-card-grid[data-columns="2"] .cms-card-grid__items,
  .cms-card-grid[data-columns="4"] .cms-card-grid__items,
  .cms-steps__list,
  .cms-gallery__items,
  .cms-partners__items {
    grid-template-columns: 1fr;
  }

  .cms-card-grid__items,
  .cms-steps__list {
    margin-top: 40px;
  }

  .cms-contact-details__list {
    grid-template-columns: 1fr;
  }

  .cms-requisites-cta {
    align-items: stretch;
    flex-direction: column;
  }

  .cms-card img,
  .cms-card {
    min-height: 360px;
  }

  .cms-text-media__image {
    height: 260px;
  }

  .cms-specifications tr {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .cms-gallery .cms-image img {
    height: 240px;
  }

  .cms-listing {
    padding-bottom: 72px;
  }

  .cms-listing__hero {
    padding-top: 48px;
  }

  .cms-listing h1 {
    margin-top: 20px;
    font-size: 38px;
    line-height: 44px;
  }

  .cms-listing__content {
    padding-top: 40px;
  }

  .cms-filter {
    gap: 8px;
    margin: 48px 0 32px;
  }

  .cms-filter a,
  .cms-load-more a {
    min-height: 36px;
    padding-inline: 18px;
    font-size: 12px;
  }

  .cms-listing-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .cms-featured-project {
    min-height: 0;
    border-radius: 14px;
  }

  .cms-featured-project__body,
  .cms-listing-card__body {
    gap: 12px;
    padding: 20px;
  }

  .cms-featured-project h2,
  .cms-listing-card h2 {
    font-size: 18px;
    line-height: 22px;
  }

  .cms-listing-card__text {
    font-size: 14px;
    line-height: 18px;
  }

  .cms-listing-card__meta {
    flex-wrap: wrap;
    gap: 8px 18px;
    font-size: 12px;
    line-height: 16px;
  }

  .cms-detail h1 {
    font-size: 32px;
    line-height: 38px;
  }

  .cms-detail__body h2,
  .cms-related h2,
  .cms-project-cta h2 {
    font-size: 28px;
    line-height: 34px;
  }

  .cms-detail__body h3 {
    font-size: 22px;
    line-height: 28px;
  }

  .cms-related,
  .cms-project-cta {
    padding-block: 72px;
  }

  .cms-related-pages {
    padding-inline: 16px;
  }

  .cms-related-card a {
    min-height: 220px;
    border-radius: 12px;
  }

  .cms-faq-item summary {
    min-height: 76px;
    font-size: 18px;
  }

  .cms-faq-item summary::after {
    width: 32px;
    height: 32px;
  }

  .cms-testimonial {
    padding: 24px;
  }

  .cms-cta-form {
    padding-block: 72px;
  }

  .cms-legal .container-zmz {
    max-width: none;
  }

  .cms-legal--intro {
    padding-top: 48px;
  }

  .cms-legal--section {
    padding-top: 32px;
  }

  .cms-legal--section:last-of-type {
    padding-bottom: 72px;
  }

  .cms-legal__breadcrumbs {
    margin-bottom: 40px;
    font-size: 12px;
    line-height: 16px;
  }

  .cms-legal h1 {
    font-size: 32px;
    line-height: 38px;
  }

  .cms-legal__lead {
    margin-top: 48px;
  }

  .structured-footer__grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

/* Stage 6C3C1 parity overrides must follow the general CMS rules above. */
.cms-listing h1 { font-weight: 700; }
.cms-detail h1 { font-weight: 600; }
.cms-detail__hero { width: 100%; }
.cms-detail__hero > .cms-breadcrumb,
.cms-detail__hero > h1,
.cms-detail__hero > .cms-detail__lead,
.cms-detail__hero > .cms-detail__meta,
.cms-detail__hero > .cms-chip { width: var(--zmz-shell); margin-inline: auto; }
.cms-detail__hero > .cms-detail__image { width: var(--zmz-shell); margin-inline: auto; }
.cms-detail--project h1 { max-width: 892px; }
.cms-detail--project .cms-chip { margin-top: 2px; }

/* Desktop project details: shared CMS layout, with page content in StreamField. */
@media (min-width: 1101px) {
  .cms-detail--project .cms-detail__hero { position: relative; padding-top: 112px; text-align: center; }
  .cms-detail--project .cms-breadcrumb { width: 1200px; margin: 0 auto; color: #596470; font-family: Inter, Arial, sans-serif; font-size: 16px; font-weight: 500; line-height: 18px; text-align: left; }
  .cms-detail--project .cms-breadcrumb span { color: #8d949c; }
  .cms-detail--project .cms-chip { display: block; width: fit-content; height: 30px; margin: 24px max(calc((100% - 1200px) / 2), 24px) 0 auto; padding: 7px 8px; color: #596470; background: #f1f3f6; font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif; font-size: 12px; font-weight: 500; line-height: 16px; text-transform: uppercase; }
  .cms-detail--project h1 { width: 892px; max-width: none; margin: 12px auto 0; color: #17314d; font-family: Inter, Arial, sans-serif; font-size: 40px; font-weight: 600; letter-spacing: -0.4px; line-height: 48px; }
  .cms-detail--project .cms-detail__lead { width: 738px; max-width: none; margin: 24px auto 0; color: #17314d; font-family: Inter, Arial, sans-serif; font-size: 16px; font-weight: 400; line-height: normal; text-align: left; }
  .cms-detail--project .cms-detail__image { width: 1200px; height: 500px; max-height: none; margin: 80px auto 0; object-fit: cover; }
  .cms-detail--project .cms-detail__body { width: 738px; padding: 80px 0 112px; }
  .cms-detail--project .cms-detail__body > .cms-block, .cms-detail--project .cms-detail__body > .cms-detail__rich { width: 100%; margin: 0; padding: 0; }
  .cms-detail--project .cms-detail__body .cms-heading { margin: 56px 0 0; }
  .cms-detail--project .cms-detail__body .cms-heading:first-child { margin-top: 0; }
  .cms-detail--project .cms-detail__body .cms-heading + .cms-rich-content { margin-top: 24px; }
  .cms-detail--project .cms-detail__body h2 { margin: 0; color: #17314d; font-family: Inter, Arial, sans-serif; font-size: 24px; font-weight: 600; letter-spacing: -0.24px; line-height: 30px; }
  .cms-detail--project .cms-detail__body h3 { font-size: 20px; line-height: 26px; }
  .cms-detail--project .cms-detail__body .cms-rich-content, .cms-detail--project .cms-detail__body .cms-rich-content p, .cms-detail--project .cms-detail__body .cms-rich-content li { color: #17314d; font-family: Inter, Arial, sans-serif; font-size: 16px; font-weight: 400; line-height: normal; }
  .cms-detail--project .cms-detail__body .cms-rich-content p { margin: 0 0 20px; }
  .cms-detail--project .cms-detail__body .cms-rich-content p:last-child { margin-bottom: 0; }
  .cms-detail--project .cms-detail__body .cms-rich-content ul { margin: 0; padding-left: 24px; list-style: disc outside; }
  .cms-detail--project .cms-detail__body .cms-rich-content li { margin: 0 0 4px; }
  .cms-detail--project .cms-detail__body .cms-rich-content li:last-child { margin-bottom: 0; }
  .cms-detail--project .cms-gallery { margin-top: 80px; }
  .cms-detail--project .cms-gallery + .cms-heading { margin-top: 80px; }
  .cms-detail--project .cms-gallery__items { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin: 0; }
  .cms-detail--project .cms-gallery .cms-image { margin: 0; }
  .cms-detail--project .cms-gallery .cms-image img { width: 353px; height: 312px; border-radius: 0; object-fit: cover; }
}

@media (min-width: 1024px) {
  .cms-detail--article .cms-detail__hero { padding-top: 106px; }
}
.cms-detail--project .cms-detail__body { width: 100%; max-width: none; }
.cms-detail--project .cms-detail__body > * { width: min(744px, var(--zmz-shell)); margin-inline: auto; }
.cms-related { width: 100%; }
.cms-related > h2,
.cms-related > .cms-listing-grid { width: var(--zmz-shell); margin-inline: auto; }
.cms-listing--articles .cms-listing-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 64px 32px; }
.cms-listing--articles .cms-listing-card__image img { aspect-ratio: 378 / 232; }
.cms-filter a { font-weight: 500; }
.structured-footer__grid { gap: 56px; padding-block: 32px; }
.structured-footer__requisites { margin-top: 28px; }

@media (min-width: 521px) and (max-width: 1023px) {
  :root { --zmz-shell: min(720px, calc(100vw - 48px)); }
  .structured-header__contact { display: inline; }
  .structured-menu-toggle { display: none; }
  .structured-header__nav { display: block; }
  .structured-header__list {
    min-height: 48px;
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    gap: 20px;
    padding-block: 0;
  }
  .structured-header__list a,
  .structured-header__link { min-height: 48px; font-size: 10px; }
  .structured-footer { min-height: 574px; }
  .cms-listing--articles h1 { font-size: 40px; line-height: 48px; }
  .cms-listing__hero { padding-top: 98px; }
  .cms-services-index__hero { padding-top: 112px; padding-bottom: 40px; }
  .cms-services-index__hero h1 {
    margin-top: 16px;
    font-size: 48px;
    line-height: normal;
    letter-spacing: -2.4px;
  }
  .cms-services-index__hero .cms-listing__lead { max-width: 700px; line-height: 20px; }
  .cms-listing-grid {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 1px;
    scrollbar-width: none;
  }
  .cms-listing--articles .cms-listing-grid {
    display: flex;
    width: 100vw;
    gap: 16px;
    margin-left: calc((var(--zmz-shell) - 100vw) / 2);
    padding: 0 0 1px 24px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .cms-listing-grid::-webkit-scrollbar { display: none; }
  .cms-listing--projects .cms-listing-card { flex: 0 0 444px; }
  .cms-listing--articles .cms-listing-card { flex: 0 0 311px; }
  .cms-listing--projects .cms-listing-card__image img { aspect-ratio: 444 / 225; }
  .cms-listing--articles .cms-listing-card__image img { aspect-ratio: 311 / 232; }
  .cms-featured-project { display: none; }
  .cms-detail h1 { font-size: 32px; line-height: 40px; }
  .cms-detail--article .cms-breadcrumb { font-size: 14px; }
  .cms-detail--article .cms-detail__body { width: min(536px, var(--zmz-shell)); }
  .cms-detail--project h1 { width: min(592px, var(--zmz-shell)); }
  .cms-detail--project .cms-breadcrumb { font-size: 14px; }
  .cms-detail--project .cms-detail__image { height: calc(var(--zmz-shell) * 0.558333); }
  .cms-detail__hero { padding-top: 72px; }
  .cms-detail__image { margin-top: 48px; }
}

@media (max-width: 520px) {
  .structured-header__top-inner { min-height: 56px; }
  .structured-header__nav { display: none; }
  .cms-listing h1 { font-size: 32px; line-height: 38px; }
  .cms-services-index__hero { padding-top: 72px; padding-bottom: 32px; }
  .cms-services-index__hero h1 {
    margin-top: 12px;
    font-size: 32px;
    line-height: normal;
    letter-spacing: -1.6px;
  }
  .cms-services-index__hero .cms-listing__lead {
    margin-top: 16px;
    font-size: 13px;
    line-height: 18px;
    letter-spacing: -0.13px;
  }
  .cms-breadcrumb { font-size: 12px; line-height: 16px; }
  .cms-filter a { font-size: 10px; font-weight: 500; line-height: 12px; }
  .cms-listing-grid {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 1px;
    scrollbar-width: none;
  }
  .cms-listing--articles .cms-listing-grid {
    display: flex;
    width: 100vw;
    gap: 8px;
    margin-left: calc((var(--zmz-shell) - 100vw) / 2);
    padding: 0 0 1px 16px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .cms-listing-grid::-webkit-scrollbar { display: none; }
  .cms-listing-card,
  .cms-listing--articles .cms-listing-card { flex: 0 0 285px; }
  .cms-listing--projects .cms-listing-card__image img { aspect-ratio: 285 / 152; }
  .cms-listing--articles .cms-listing-card__image img { aspect-ratio: 285 / 213; }
  .cms-featured-project { display: none; }
  .cms-detail h1 { font-size: 22px; line-height: 30px; }
  .cms-detail--article .cms-breadcrumb { font-size: 13px; }
  .cms-detail--project .cms-breadcrumb { font-size: 14px; }
  .cms-detail--project h1 { width: 343px; }
  .cms-detail--project .cms-chip { margin-top: 26px; }
  .cms-detail--project .cms-detail__image { height: calc(100vw * 0.62664); }
  .cms-detail__hero > .cms-detail__image { width: 100%; max-height: none; }
  .cms-detail__body { width: 100%; max-width: none; }
  .cms-detail--article .cms-detail__body { width: var(--zmz-shell); }
  .cms-detail__body > * { width: var(--zmz-shell); margin-inline: auto; }
  .cms-related > h2,
  .cms-related > .cms-listing-grid { width: var(--zmz-shell); }
  .structured-footer__grid { gap: 0; padding-block: 28px 24px; }
  .structured-footer__requisites { margin-top: 24px; }
}

/* Stage 7A: keep Services index geometry independent of later generic listing rules. */
.cms-listing--services .cms-services-index__hero h1 {
  font-size: 72px;
  line-height: normal;
  letter-spacing: -3.6px;
}

@media (min-width: 521px) and (max-width: 1023px) {
  .cms-listing--services .cms-services-index__hero h1 {
    font-size: 48px;
    line-height: normal;
    letter-spacing: -2.4px;
  }
}

@media (max-width: 520px) {
  .cms-listing--services .cms-services-index__hero h1 {
    font-size: 32px;
    line-height: normal;
    letter-spacing: -1.6px;
  }
}

/* Stage 10B1: final ownership for the shared showcase lead/footer collapse. */
.structured-brand__logo { width:46px; height:44px; flex:0 0 auto; color:var(--zmz-blue); }
.structured-brand--footer .structured-brand__logo { color:#f1f3f6; --brand-mark-secondary:#8d949c; }
.structured-header .structured-button--primary { color:var(--zmz-white); }

/* Final mobile header ownership: identical geometry in the closed and open states. */
@media (max-width:520px) {
  html.structured-menu-open .structured-header__top {
    position:fixed;
    z-index:1001;
    top:0;
    left:0;
    width:100%;
    background:#fff;
  }
  .structured-header__top { height:56px; border-bottom:0; }
  .structured-header__top-inner { position:relative; width:100%; height:56px; min-height:56px; }
  .structured-header .structured-menu-toggle {
    position:absolute;
    z-index:2;
    left:16px;
    top:16px;
    display:inline-flex;
    width:24px;
    height:24px;
    min-width:24px;
    min-height:24px;
    margin:0;
    padding:0;
  }
  .structured-header .structured-brand {
    position:absolute;
    z-index:1;
    left:64px;
    top:12px;
    display:flex;
    height:32px;
    gap:6px;
  }
  .structured-header .structured-brand__logo { display:none; }
  .structured-header .structured-brand__mobile-logo { display:block; width:32px; height:30px; flex:0 0 32px; }
  .structured-header .structured-brand__text {
    display:block;
    width:130px;
    max-width:130px;
    color:#004084;
    font-size:10px;
    font-weight:800;
    line-height:14px;
  }
  .structured-header .structured-header__contacts { display:none; }
}
.global-lead .cms-cta-form__form { width:100%; max-width:390px; justify-self:end; }
.global-lead .cms-cta-form__form input:not([type=checkbox]):not([type=file]):not([type=hidden]),
.global-lead .cms-cta-form__form textarea { border:1px solid #8d949c; outline:none; box-shadow:none; }

@media (min-width:801px) {
  .global-lead__grid { padding-block:112px; }
  /* Keep the heading and the form's introductory copy on one top line. */
  .global-lead__grid { align-items:stretch; }
  .global-lead__info h2,
  .global-lead__form,
  .global-lead .cms-cta-form__intro { margin-top:0; }
  .global-lead__info { display:flex; flex-direction:column; }
  .global-lead__info > p { margin-top:auto; }
}
.cms-listing--articles .cms-listing-card__text,
.cms-blog-recent .cms-listing-card__text { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
@media (max-width:800px) {
  .global-lead__grid { display:flex; flex-direction:column; gap:0; }
  .global-lead__info { display:contents; }
  .global-lead__info h2 { order:1; }
  .global-lead__form { order:2; max-width:none!important; margin-top:42px; }
  .global-lead__info>p { order:3; margin-top:68px; }
  .global-lead .cms-cta-form__contacts { order:4; width:100%; max-width:none; }
  .structured-footer__grid { grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); column-gap:24px; row-gap:44px; }
  .structured-footer__grid>div:first-child { display:contents; }
  .structured-brand--footer { grid-column:1/-1; order:1; }
  .structured-footer nav { grid-column:1; order:2; }
  .structured-footer__contacts { grid-column:2; order:3; }
  .structured-footer__requisites { grid-column:1/-1; order:4; margin-top:0; }
}
@media (max-width:520px) {
  .cms-filter { flex-wrap:nowrap; width:calc(100vw - 16px); overflow-x:auto; padding-right:16px; scrollbar-width:none; }
  .cms-filter::-webkit-scrollbar { display:none; }
  .cms-filter a { flex:0 0 auto; }
}

@media (max-width:1023px) {
  .cms-blog-recent__grid { display:flex; width:100vw; gap:16px; overflow-x:auto; padding-right:24px; scrollbar-width:none; }
  .cms-blog-recent__grid::-webkit-scrollbar { display:none; }
  .cms-blog-recent__item,
  .cms-blog-recent__item--featured { flex:0 0 311px; }
  .cms-blog-recent__item:not(.cms-blog-recent__item--featured) .cms-listing-card { display:block; }
  .cms-blog-recent__item:not(.cms-blog-recent__item--featured) .cms-listing-card__image img,
  .cms-blog-recent__item--featured .cms-listing-card__image img { aspect-ratio:311/232; }
  .cms-blog-recent__item:not(.cms-blog-recent__item--featured) .cms-listing-card__body,
  .cms-blog-recent__item--featured .cms-listing-card__body { min-height:0; gap:8px; padding:12px 0 0; }
  .cms-blog-recent__item:not(.cms-blog-recent__item--featured) .cms-listing-card__text { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
}
@media (max-width:520px) {
  .cms-blog-recent__grid { padding-right:16px; }
  .cms-blog-recent__item,
  .cms-blog-recent__item--featured { flex-basis:285px; }
  .cms-blog-recent__item:not(.cms-blog-recent__item--featured) .cms-listing-card__image img,
  .cms-blog-recent__item--featured .cms-listing-card__image img { aspect-ratio:285/213; }
}
.structured-scroll-reveal {
  opacity: 0 !important;
  transform: translateY(24px) !important;
  transition: opacity .55s ease, transform .55s ease !important;
}
.structured-scroll-reveal.is-scroll-revealed {
  opacity: 1 !important;
  transform: none !important;
}
@media (min-width: 1024px) {
  [data-mobile-development-cards] .snap-x {
    display: flex !important;
    overflow-x: hidden !important;
    scroll-behavior: smooth;
  }
  [data-mobile-development-cards] .snap-x > article {
    flex: 0 0 calc((100% - 48px) / 3);
  }
}

/* Service-card overlay from the approved Figma component: keep text legible
   without changing the uploaded image itself. */
article[data-service-card] > div[aria-hidden="true"] {
  background-image: linear-gradient(
    0.637672deg,
    rgb(0 0 0 / 70%) 20.42%,
    rgb(0 0 0 / 0%) 99.656%
  ) !important;
}

/* Homepage service carousel: the same desktop scroll/snap mechanics used by
   the equipment installation carousel. Three 384px cards occupy the grid;
   additional cards are revealed one card at a time by the navigation arrows. */
@media (min-width: 1024px) {
  [data-mobile-development-cards] .snap-x {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 24px !important;
    /* Native scrolling keeps the same mechanics as the equipment carousel. */
    overflow-x: scroll !important;
    overflow-y: hidden !important;
    /* Same shadow viewport as the accepted About reviews carousel:
       -8px outer margin + 40px inner gutter preserves the 32px card offset
       while giving the hover shadow its full, clean falloff. */
    margin: -8px -16px -40px !important;
    padding: 40px 16px;
    scroll-padding-inline-start: 16px;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
  }

  [data-mobile-development-cards] .snap-x::-webkit-scrollbar {
    display: none;
  }

  [data-mobile-development-cards] .snap-x > article {
    flex: 0 0 384px !important;
    width: 384px !important;
    scroll-snap-align: start;
  }

  [data-mobile-development-cards] [data-carousel-nav] button {
    color: #8d949c !important;
    opacity: 1 !important;
  }

  [data-mobile-development-cards] [data-carousel-nav] button.is-active {
    color: #004084 !important;
    opacity: 1 !important;
  }

  [data-mobile-development-cards] [data-carousel-nav] button.is-active svg {
    color: #004084 !important;
  }

  /* Useful articles use the same native scroll/snap and navigation mechanics
     as the services carousel. Their card treatment deliberately remains
     unchanged: no service-card shadow, lift, dimming or blur on hover. */
  [data-mobile-article-cards] .snap-x {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 32px !important;
    overflow-x: scroll !important;
    overflow-y: hidden !important;
    margin: -8px -16px -40px !important;
    padding: 40px 16px;
    scroll-padding-inline-start: 16px;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
  }

  [data-mobile-article-cards] .snap-x::-webkit-scrollbar {
    display: none;
  }

  [data-mobile-article-cards] .snap-x > article {
    flex: 0 0 calc((100% - 64px) / 3) !important;
    width: calc((100% - 64px) / 3) !important;
    scroll-snap-align: start;
  }

  [data-mobile-article-cards] [data-carousel-nav] button {
    color: #8d949c !important;
    opacity: 1 !important;
  }

  [data-mobile-article-cards] [data-carousel-nav] button.is-active,
  [data-mobile-article-cards] [data-carousel-nav] button.is-active svg {
    color: #004084 !important;
    opacity: 1 !important;
  }

  [data-mobile-article-cards] article {
    position: relative;
  }

  [data-mobile-article-cards] [data-article-card-hit] {
    position: absolute;
    z-index: 5;
    inset: 0;
    border-radius: inherit;
  }

  /* Services and equipment share one full-background card treatment. */
  :is(
    [data-mobile-development-cards] article[data-service-card],
    [data-mobile-equipment-cards] article[data-equipment-card]
  ) {
    /* Same resting and hover states as project cards. */
    box-shadow: 1px 1px 15px rgb(0 0 0 / 5%) !important;
    transition: transform .25s ease, box-shadow .25s ease;
  }

  :is(
    [data-mobile-development-cards] article[data-service-card],
    [data-mobile-equipment-cards] article[data-equipment-card]
  ):hover {
    /* The project/review card is 584px wide; this 384px card uses the same
       shadow proportions (384 / 584) so the falloff stays crisp, not hazy. */
    transform: translateY(-6px);
    box-shadow:
      0 8px 12px -4px rgb(0 0 0 / 38%),
      0 16px 24px -8px rgb(0 0 0 / 19%),
      0 32px 44px -14px rgb(0 0 0 / 9%) !important;
  }

  :is(
    [data-mobile-development-cards] article[data-service-card],
    [data-mobile-equipment-cards] article[data-equipment-card]
  ) > div[aria-hidden="true"] {
    transition: box-shadow .25s ease;
  }

  :is(
    [data-mobile-development-cards] article[data-service-card],
    [data-mobile-equipment-cards] article[data-equipment-card]
  ) > img {
    transition: filter .25s ease;
  }

  [data-mobile-development-cards] [data-service-card-hit] {
    position: absolute;
    z-index: 5;
    inset: 0;
    border-radius: inherit;
  }

  [data-mobile-equipment-cards] [data-equipment-card-hit] {
    position: absolute;
    z-index: 5;
    inset: 0;
    border-radius: inherit;
  }

  /* With fewer than four 384px cards the entire equipment row is already
     visible in the desktop grid, so navigation would have nothing to reveal. */
  [data-mobile-equipment-cards][data-home-equipment-card-count="1"] [data-carousel-nav],
  [data-mobile-equipment-cards][data-home-equipment-card-count="2"] [data-carousel-nav],
  [data-mobile-equipment-cards][data-home-equipment-card-count="3"] [data-carousel-nav] {
    display: none !important;
  }

  :is(
    [data-mobile-development-cards] article[data-service-card],
    [data-mobile-equipment-cards] article[data-equipment-card]
  ) p + div > span {
    border-color: rgb(255 255 255 / 80%) !important;
    color: rgb(255 255 255 / 80%) !important;
    transition: color .25s ease, border-color .25s ease;
  }

  :is(
    [data-mobile-development-cards] article[data-service-card],
    [data-mobile-equipment-cards] article[data-equipment-card]
  ):hover p + div > span {
    border-color: #fff !important;
    color: #fff !important;
  }

  :is(
    [data-mobile-development-cards] article[data-service-card],
    [data-mobile-equipment-cards] article[data-equipment-card]
  ):hover > div[aria-hidden="true"] {
    box-shadow: inset 0 0 0 999px rgb(0 0 0 / 28%);
  }

  :is(
    [data-mobile-development-cards] article[data-service-card],
    [data-mobile-equipment-cards] article[data-equipment-card]
  ):hover > img {
    filter: blur(2px);
  }
}


@media (prefers-reduced-motion: reduce) {
  .structured-scroll-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Shared mobile header — approved homepage menu composition. */
@media (max-width: 639px) {
  .structured-header { box-shadow: inset 0 -1px 0 #e1e4e6; }
  .structured-header::after { content:""; position:absolute; z-index:2; inset:auto 0 0; height:1px; background:#b8c2cc; }
  .structured-header__list > li { min-height:51px !important; border-bottom:1px solid #d9d9d9 !important; }
  .structured-header__list > li > a,
  .structured-header__list > li > .structured-header__link { display:flex !important; width:100% !important; min-height:51px !important; box-sizing:border-box; align-items:center !important; padding-inline:16px !important; }
  .structured-header__list > li > .structured-header__submenu-toggle { justify-content:space-between !important; }
  .structured-header__submenu-arrow { width:16px !important; height:16px !important; flex:0 0 16px; }
  .structured-header__item--has-submenu:not(.is-open) > .structured-header__submenu { display:none !important; }
  .structured-header__item--has-submenu.is-open > .structured-header__submenu { display:block !important; }
  .structured-header__item--has-submenu.is-open > .structured-header__submenu-toggle .structured-header__submenu-arrow { filter:invert(20%) sepia(34%) saturate(2228%) hue-rotate(171deg) brightness(88%) contrast(103%); }
  .structured-header__submenu li,
  .structured-header__submenu li:first-child { height:40px !important; background:#f5f6f7; }
  .structured-header__submenu a,
  .structured-header__submenu span,
  .structured-header__submenu li:first-child a,
  .structured-header__submenu li:first-child span { display:flex !important; min-height:40px !important; box-sizing:border-box; align-items:center !important; padding-top:0 !important; color:#313131 !important; }
  .structured-header__nav { box-sizing:border-box; padding-bottom:150px; }
  .structured-header__mobile-actions { position:fixed; z-index:50; right:auto; bottom:0; left:0; width:100%; display:block !important; min-height:0 !important; box-sizing:border-box; margin:0 !important; padding:32px 16px !important; border:0 !important; background:#fff; }
  .structured-header__mobile-contacts { display:flex !important; align-items:center !important; justify-content:space-between !important; }
  .structured-header__mobile-contacts a { display:block !important; width:auto !important; min-height:16px !important; padding:0 !important; }
  .structured-header__mobile-actions .structured-button { display:flex !important; width:100% !important; min-height:44px !important; margin-top:24px !important; }
  .structured-header__mobile-actions.has-menu-shadow { box-shadow:1px 1px 40px rgb(0 0 0 / 15%); }
}

@media (min-width: 640px) {
  .structured-header__item--has-submenu {
    display: flex;
    min-height: 48px;
    align-items: stretch;
  }
  .structured-header__item--has-submenu > .structured-header__submenu-toggle {
    height: 48px;
    min-height: 48px;
    padding-right: 16px;
    padding-left: 16px;
  }
  .structured-header__list > .structured-header__item--has-submenu:first-child > .structured-header__submenu-toggle {
    padding-left: 0;
  }
  /* The first two framed items (Services and Production) touch each other,
     so pointer movement cannot pass through a gap and close the dropdown. */
  .structured-header__list > .structured-header__item--has-submenu:first-child {
    margin-right: -36px;
  }
  .structured-header__list > .structured-header__item--has-submenu:nth-child(2) {
    margin-right: -20px;
  }
  .structured-header__item--has-submenu:hover > .structured-header__submenu,
  .structured-header__item--has-submenu:focus-within > .structured-header__submenu {
    display: block !important;
  }
}

@media (min-width: 801px) {
  .structured-header .structured-header__submenu--services {
    height: 184px !important;
    grid-template-columns: 304px 304px !important;
    grid-template-rows: repeat(5, 16px) !important;
    gap: 16px 0 !important;
    padding: 20px max(24px, calc((100vw - 1200px) / 2)) !important;
    box-sizing: border-box !important;
  }
  .structured-header .structured-header__item--has-submenu:hover > .structured-header__submenu,
  .structured-header .structured-header__item--has-submenu:focus-within > .structured-header__submenu,
  .structured-header .structured-header__item--has-submenu.is-open > .structured-header__submenu {
    display: grid !important;
  }
}

/* Homepage production-cycle cards: match the visual weight of the Cycle icon. */
@media (min-width: 1024px) {
  main > section:nth-of-type(2) [data-reveal-group] > div:nth-child(1) svg path,
  main > section:nth-of-type(2) [data-reveal-group] > div:nth-child(3) svg path,
  main > section:nth-of-type(2) [data-reveal-group] > div:nth-child(4) svg path {
    stroke-width: 1.5px;
  }

  [data-mobile-development-cards] article.group.relative p + div > a {
    width: 156px !important;
  }

  [data-mobile-development-cards] article.group.relative > div.absolute.inset-x-0.bottom-0 {
    inset-block: 0;
    gap: 0 !important;
    padding: 24px !important;
  }

  [data-mobile-development-cards] article.group.relative h3 {
    /* 24px card padding + 234px margin = 258px from card top. */
    margin-top: 234px !important;
  }

  [data-mobile-development-cards] article.group.relative h3 + p {
    margin-top: 16px !important;
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
  }

  [data-mobile-development-cards] article.group.relative p + div {
    margin-top: auto !important;
    align-self: flex-end;
  }

  /* The homepage development block is a desktop carousel.  Keep overflow
     visible only for the separate equipment-card block, whose shadow layout
     does not use the desktop carousel navigation. */
  [data-mobile-equipment-cards] [class~="snap-x"] {
    overflow: visible !important;
  }

  [data-mobile-development-cards] article.group.relative,
  [data-mobile-equipment-cards] article.group.relative {
    box-shadow: 1px 1px 15px 0 rgb(0 0 0 / 10%);
  }

  /* 40px heading + 24px gap + 36px description + 16px to navigation. */
  [data-mobile-development-cards] [data-carousel-nav] {
    margin-top: 124px !important;
  }

  [data-mobile-equipment-cards] [data-carousel-nav] {
    /* 80px from the description to cards and 32px from arrows to cards. */
    margin-top: 104px !important;
  }

  [data-mobile-equipment-cards] [class~="snap-x"] {
    margin-top: 32px !important;
  }

  /* When arrows are hidden, they no longer contribute to the flex row's
     height; retain the same 80px description-to-card interval explicitly. */
  [data-mobile-equipment-cards][data-home-equipment-card-count="1"] [class~="snap-x"],
  [data-mobile-equipment-cards][data-home-equipment-card-count="2"] [class~="snap-x"],
  [data-mobile-equipment-cards][data-home-equipment-card-count="3"] [class~="snap-x"] {
    margin-top: 80px !important;
  }

  [data-mobile-equipment-cards] article.group.relative > div.absolute.inset-x-0.bottom-0 {
    inset-block: 0;
    gap: 0 !important;
    padding: 24px !important;
  }

  [data-mobile-equipment-cards] article.group.relative h3 {
    /* 24px card padding + 234px margin = 258px from card top. */
    margin-top: 234px !important;
  }

  [data-mobile-equipment-cards] article.group.relative h3 + p {
    margin-top: 16px !important;
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
  }

  [data-mobile-equipment-cards] article.group.relative p + div {
    margin-top: auto !important;
    align-self: flex-end;
  }

  [data-mobile-equipment-cards] article.group.relative p + div > a {
    width: 156px !important;
  }

  [data-mobile-project-cards] article.group > div.flex-1 {
    padding: 24px !important;
  }

  [data-mobile-project-cards] [data-project-carousel-scroll] {
    display: flex !important;
    grid-template-columns: none !important;
    flex-wrap: nowrap !important;
    gap: 32px !important;
    /* Keep the visible card edge on the grid while reserving room inside the
       scrollport for the hover shadow on every side. */
    margin: -8px -16px -40px !important;
    /* -8px outer compensation + 72px inner top gutter gives the requested
       64px interval from the description to the carousel. */
    padding: 72px 16px 40px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-padding-inline-start: 16px;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
  }

  [data-mobile-project-cards] [data-project-carousel-scroll]::-webkit-scrollbar {
    display: none;
  }

  [data-mobile-project-cards] [data-project-carousel-frame] {
    overflow: visible !important;
  }

  [data-mobile-project-cards] article.group {
    flex: 0 0 584px !important;
    width: 584px !important;
    height: 550px !important;
    box-shadow: 1px 1px 15px 0 rgb(0 0 0 / 5%);
    scroll-snap-align: start;
    transition: transform .25s ease, box-shadow .25s ease;
  }

  /* Same card hover as the projects listing, without zooming the CMS photo. */
  [data-mobile-project-cards] article.group:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px -24px rgb(23 49 77 / 45%);
  }

  [data-mobile-project-cards] article.group > div:first-child > img {
    transform: none !important;
  }

  [data-mobile-project-cards] article.group > div:first-child {
    flex: 0 0 300px;
    height: 300px;
  }

  [data-mobile-project-cards] article.group > div:first-child > img {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
  }

  [data-mobile-project-cards] [data-carousel-nav] button {
    color: #8d949c !important;
    opacity: 1 !important;
  }

  [data-mobile-project-cards] [data-carousel-nav] button.is-active,
  [data-mobile-project-cards] [data-carousel-nav] button.is-active svg {
    color: #004084 !important;
  }

  [data-mobile-project-cards] article.group h3 {
    margin-top: 16px !important;
  }

  [data-mobile-project-cards] article.group h3 + p {
    margin-top: 12px !important;
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }

  [data-mobile-project-cards] [data-project-read-more] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    /* The flex auto margin keeps every CTA on the shared bottom edge;
       shorter descriptions simply create more breathing room above it. */
    margin-top: auto !important;
    padding-top: 32px !important;
    color: var(--zmz-blue);
    font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 16px;
    text-decoration: none;
    text-transform: uppercase;
  }

  [data-mobile-home-faq] astro-island[component-url*="FaqAccordion"] button[aria-controls]::after {
    content: "" !important;
    display: inline-block !important;
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px;
    border: 0 !important;
    border-radius: 0 !important;
    background: url("/static/img/faq-accordion-arrow.a02fcbf2713a.svg") center / 44px 44px no-repeat !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    transition: transform .15s ease;
  }

  [data-mobile-home-faq] astro-island[component-url*="FaqAccordion"] button[aria-expanded="true"]::after {
    transform: rotate(180deg);
  }

  [data-mobile-home-faq] > .container-zmz > div > div:first-child {
    position: static !important;
    top: auto !important;
    align-self: auto !important;
  }

  [data-scroll-workflow] [data-desktop-sticky-heading] {
    position: static !important;
    top: auto !important;
  }
}

/* Imported Services snapshot: first-screen proportions from the 375px Figma frame. */
@media (max-width:520px) {
  [data-services-hero] > .service-parity-breadcrumb { color:#596470; font-size:calc(13 * 100vw / 375); line-height:calc(18 * 100vw / 375); }
  [data-services-hero] > .service-parity-breadcrumb a { color:#596470; text-decoration:none; }
  [data-services-hero] > .service-parity-breadcrumb span { color:#8D949C; }
  [data-services-hero] > p:first-child { font-size:calc(12 * 100vw / 375); line-height:calc(16 * 100vw / 375); }
  [data-services-hero] > h1 { font-size:calc(32 * 100vw / 375); line-height:calc(38 * 100vw / 375); letter-spacing:calc(-1.6 * 100vw / 375); }
  [data-services-hero] > div:nth-of-type(1) > p { margin-top:calc(12 * 100vw / 375); font-size:calc(13 * 100vw / 375); line-height:calc(18 * 100vw / 375); letter-spacing:calc(-.13 * 100vw / 375); }
  [data-services-hero] > div:nth-of-type(1) > div:last-child { display:grid; grid-template-columns:calc(164 * 100vw / 375) minmax(0,1fr); gap:calc(16 * 100vw / 375); margin-top:calc(32 * 100vw / 375); }
  [data-services-hero] > div:nth-of-type(1) > div:last-child a { width:100% !important; height:calc(44 * 100vw / 375); min-height:calc(44 * 100vw / 375); padding-inline:0 !important; border-radius:calc(30 * 100vw / 375); font-size:calc(12 * 100vw / 375); line-height:calc(16 * 100vw / 375); }
  [data-services-hero] > div:last-child { margin-top:calc(40 * 100vw / 375); border-radius:calc(10 * 100vw / 375); }
}

@media (max-width:520px) {
  [data-services-reverse-intro] { padding-block:calc(72 * 100vw / 375) !important; }
  [data-services-reverse-intro] h2 { font-size:calc(24 * 100vw / 375); line-height:calc(30 * 100vw / 375); letter-spacing:calc(-1.2 * 100vw / 375); }
  [data-services-reverse-intro] h2 + p { margin-top:calc(12 * 100vw / 375); font-size:calc(13 * 100vw / 375); font-weight:500; line-height:calc(18 * 100vw / 375); letter-spacing:calc(-.13 * 100vw / 375); }
}

@media (max-width:520px) {
  [data-services-work] { padding-block:calc(72 * 100vw / 375) !important; }
  [data-services-work] h2 { font-size:calc(24 * 100vw / 375); line-height:calc(30 * 100vw / 375); letter-spacing:calc(-1.2 * 100vw / 375); }
  [data-services-work] h2 + p { margin-top:calc(12 * 100vw / 375); font-size:calc(13 * 100vw / 375); font-weight:500; line-height:calc(18 * 100vw / 375); letter-spacing:calc(-.13 * 100vw / 375); }
  [data-services-work] h2 + p + div { margin-top:calc(56 * 100vw / 375); gap:calc(56 * 100vw / 375); }
  [data-services-work] h2 + p + div > div:first-child { border-radius:calc(10 * 100vw / 375); }
  [data-services-work] h2 + p + div > div:first-child img { aspect-ratio:343 / 229; }
  [data-services-work] h2 + p + div > ul > li { min-height:calc(96 * 100vw / 375); padding-top:calc(14 * 100vw / 375); padding-bottom:calc(14 * 100vw / 375); }
  [data-services-work] h2 + p + div > ul > li > span { left:calc(12 * 100vw / 375); top:calc(14 * 100vw / 375); font-size:calc(12 * 100vw / 375); line-height:calc(14 * 100vw / 375); }
  [data-services-work] h2 + p + div > ul > li > div { padding-left:calc(40 * 100vw / 375); padding-right:calc(16 * 100vw / 375); }
  [data-services-work] h2 + p + div > ul h3 { font-size:calc(12 * 100vw / 375); line-height:calc(14 * 100vw / 375); }
  [data-services-work] h2 + p + div > ul h3 + p { margin-top:calc(6 * 100vw / 375); font-size:calc(12 * 100vw / 375); line-height:calc(14 * 100vw / 375); }
}

@media (max-width:520px) {
  [data-services-when] { padding-block:calc(72 * 100vw / 375) !important; }
  [data-services-when] h2 { font-size:calc(24 * 100vw / 375); line-height:calc(30 * 100vw / 375); letter-spacing:calc(-1.2 * 100vw / 375); }
  [data-services-when] h2 + p { margin-top:calc(12 * 100vw / 375); font-size:calc(13 * 100vw / 375); font-weight:500; line-height:calc(18 * 100vw / 375); letter-spacing:calc(-.13 * 100vw / 375); }
  [data-services-when] h2 + p + div { margin-top:calc(40 * 100vw / 375); gap:calc(8 * 100vw / 375); }
  [data-services-when] h2 + p + div > div:first-child { gap:calc(8 * 100vw / 375); }
  [data-services-when] h2 + p + div > div:first-child > div { box-sizing:border-box; height:auto; min-height:calc(116 * 100vw / 375); border-radius:calc(5 * 100vw / 375); padding:calc(8 * 100vw / 375) calc(10 * 100vw / 375) calc(16 * 100vw / 375) calc(12 * 100vw / 375); }
  [data-services-when] h2 + p + div > div:first-child span { font-size:calc(12 * 100vw / 375); line-height:calc(14 * 100vw / 375); }
  [data-services-when] h2 + p + div > div:first-child h3 { margin-top:calc(16 * 100vw / 375); font-size:calc(12 * 100vw / 375); line-height:calc(14 * 100vw / 375); }
  [data-services-when] h2 + p + div > div:first-child h3 + p { margin-top:calc(6 * 100vw / 375); font-size:calc(10 * 100vw / 375); line-height:calc(14 * 100vw / 375); }
  [data-services-when] h2 + p + div > div:last-child { height:calc(216 * 100vw / 375); border-radius:calc(5 * 100vw / 375); }
  [data-services-when] h2 + p + div > article { height:calc(216 * 100vw / 375); border-radius:calc(5 * 100vw / 375); }
  [data-services-when] h2 + p + div > article > div:nth-of-type(2) { padding:calc(8 * 100vw / 375) calc(16 * 100vw / 375) 0 calc(12 * 100vw / 375); }
  [data-services-when] h2 + p + div > article > div:nth-of-type(2) span { color:#fff; font-size:calc(12 * 100vw / 375); line-height:calc(14 * 100vw / 375); }
  [data-services-when] h2 + p + div > article > div:nth-of-type(3) { padding:0 calc(16 * 100vw / 375) calc(32 * 100vw / 375) calc(12 * 100vw / 375); }
  [data-services-when] h2 + p + div > article > div:nth-of-type(3) h3 { font-size:calc(12 * 100vw / 375); line-height:calc(14 * 100vw / 375); }
  [data-services-when] h2 + p + div > article > div:nth-of-type(3) h3 + p { margin-top:calc(6 * 100vw / 375); font-size:calc(10 * 100vw / 375); line-height:calc(14 * 100vw / 375); }
}

/* Imported Services snapshot: workflow cards use the established home-page layout. */
@media (max-width:520px) {
  [data-services-steps] { padding-block:calc(72 * 100vw / 375) !important; }
  [data-services-steps] > .container-zmz > div { gap:calc(48 * 100vw / 375); }
  [data-services-steps] h2 { font-size:calc(24 * 100vw / 375); line-height:calc(30 * 100vw / 375); letter-spacing:calc(-1.2 * 100vw / 375); }
  [data-services-steps] h2 + p { margin-top:calc(12 * 100vw / 375); font-size:calc(13 * 100vw / 375); font-weight:500; line-height:calc(18 * 100vw / 375); letter-spacing:calc(-.13 * 100vw / 375); }
  [data-services-steps] > .container-zmz > div > div:last-child { gap:calc(8 * 100vw / 375); }
  [data-services-steps] > .container-zmz > div > div:last-child > div {
    box-sizing:border-box;
    min-height:0 !important;
    border-radius:calc(5 * 100vw / 375);
    padding:calc(14 * 100vw / 375) calc(24 * 100vw / 375) calc(24 * 100vw / 375);
  }
  [data-services-steps] > .container-zmz > div > div:last-child > div > p:first-child { font-size:calc(10 * 100vw / 375); line-height:calc(12 * 100vw / 375); }
  [data-services-steps] > .container-zmz > div > div:last-child h3 { margin-top:calc(12 * 100vw / 375); font-size:calc(12 * 100vw / 375); line-height:normal; }
  [data-services-steps] > .container-zmz > div > div:last-child h3 + p { margin-top:calc(8 * 100vw / 375); font-size:calc(10 * 100vw / 375); line-height:calc(14 * 100vw / 375); }
}

@media (max-width:520px) {
  [data-scroll-workflow] > .container-zmz > div > div:last-child > div > div {
    padding-bottom:calc(24 * 100vw / 375) !important;
  }
}

/* Imported Services snapshot: results become three stacked feature cards on mobile. */
@media (max-width:520px) {
  [data-services-result] { padding-block:calc(72 * 100vw / 375) !important; }
  [data-services-result] h2 { font-size:calc(24 * 100vw / 375); line-height:calc(30 * 100vw / 375); letter-spacing:calc(-1.2 * 100vw / 375); }
  [data-services-result] h2 + p { margin-top:calc(12 * 100vw / 375); font-size:calc(13 * 100vw / 375); font-weight:500; line-height:calc(18 * 100vw / 375); letter-spacing:calc(-.13 * 100vw / 375); }
  [data-services-result] [data-carousel-nav] { display:none !important; }
  [data-services-result] [data-reveal-group] {
    display:flex !important;
    flex-direction:column;
    gap:calc(8 * 100vw / 375);
    margin:calc(40 * 100vw / 375) 0 0 !important;
    overflow:visible !important;
    padding:0 !important;
  }
  [data-services-result] [data-reveal-group] > article {
    width:100% !important;
    flex:none !important;
    aspect-ratio:auto !important;
    padding:0 !important;
    overflow:hidden;
    border-radius:calc(10 * 100vw / 375) !important;
    background:#17314d !important;
    box-shadow:calc(1 * 100vw / 375) calc(1 * 100vw / 375) calc(15 * 100vw / 375) rgb(0 0 0 / 10%);
  }
  [data-services-result] [data-reveal-group] > article:nth-child(-n+3) {
    display:block !important;
    height:auto !important;
  }
  [data-services-result] [data-reveal-group] > article:nth-child(n+4) { display:none !important; }
  [data-services-result] [data-reveal-group] > article > [data-services-result-image] {
    position:relative;
    inset:auto;
    width:100% !important;
    height:calc(130 * 100vw / 375) !important;
    overflow:hidden;
    border-radius:calc(10 * 100vw / 375);
  }
  [data-services-result] [data-reveal-group] > article > [data-services-result-image] > img {
    position:absolute !important;
    inset:0 auto auto 0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:fill;
  }
  [data-services-result] [data-reveal-group] > article:nth-child(1) > [data-services-result-image] > img {
    top:-60.54% !important;
    left:-22.64% !important;
    width:145.29% !important;
    height:216.18% !important;
  }
  [data-services-result] [data-reveal-group] > article:nth-child(2) > [data-services-result-image] > img {
    top:-44.62% !important;
    left:.12% !important;
    width:106.54% !important;
    height:198.55% !important;
  }
  [data-services-result] [data-reveal-group] > article:nth-child(3) > [data-services-result-image] > img {
    top:-172.31% !important;
    left:-42.12% !important;
    width:201.19% !important;
    height:353.77% !important;
  }
  [data-services-result] [data-reveal-group] > article:nth-child(1) > [data-services-result-image] > img,
  [data-services-result] [data-reveal-group] > article:nth-child(3) > [data-services-result-image] > img {
    top:-44.62% !important;
    left:.12% !important;
    width:106.54% !important;
    height:198.55% !important;
  }
  [data-services-result] [data-reveal-group] > article > div:not([data-services-result-image]) {
    position:static;
    z-index:1;
    margin:calc(24 * 100vw / 375) calc(40 * 100vw / 375) calc(24 * 100vw / 375) calc(24 * 100vw / 375);
    width:auto !important;
    height:auto !important;
    padding:0 !important;
    border-radius:0 !important;
    background:transparent !important;
  }
  [data-services-result] [data-reveal-group] h3 { font-family:"Roboto Condensed", "Arial Narrow", Arial, sans-serif; font-size:calc(12 * 100vw / 375); font-weight:600; line-height:calc(20 * 100vw / 375); color:#fff; }
  [data-services-result] [data-reveal-group] h3 + p { margin-top:calc(8 * 100vw / 375); font-size:calc(12 * 100vw / 375); font-weight:400; line-height:normal; color:#fff; }
  [data-services-result] [data-reveal-group] > article:nth-child(1) h3 + p { width:calc(228 * 100vw / 375); }
  [data-services-result] [data-reveal-group] > article:nth-child(2) h3 + p { width:calc(258 * 100vw / 375); }
  [data-services-result] [data-reveal-group] > article:nth-child(3) h3 + p { width:calc(212 * 100vw / 375); }
}

/* Imported Services snapshot: reuse the home equipment-card carousel on mobile. */
@media (max-width:520px) {
  [data-services-equipment] { padding-block:calc(72 * 100vw / 375) !important; }
  [data-services-equipment] > .container-zmz > div:first-child { gap:calc(24 * 100vw / 375); }
  [data-services-equipment] h2 { font-size:calc(24 * 100vw / 375); line-height:calc(30 * 100vw / 375); letter-spacing:calc(-1.2 * 100vw / 375); }
  [data-services-equipment] h2 + p { margin-top:calc(12 * 100vw / 375); font-size:calc(13 * 100vw / 375); font-weight:500; line-height:calc(18 * 100vw / 375); letter-spacing:calc(-.13 * 100vw / 375); }
  [data-services-equipment] [data-carousel-nav] { gap:calc(16 * 100vw / 375); }
  [data-services-equipment] [data-carousel-nav] svg { width:calc(24 * 100vw / 375); height:calc(24 * 100vw / 375); }
  [data-services-equipment] [data-reveal-group] {
    gap:calc(8 * 100vw / 375) !important;
    margin:calc(17 * 100vw / 375) calc(-31 * 100vw / 375) calc(-15 * 100vw / 375) calc(-15 * 100vw / 375) !important;
    padding:calc(15 * 100vw / 375) calc(31 * 100vw / 375) calc(15 * 100vw / 375) calc(15 * 100vw / 375) !important;
    overflow-x:auto !important;
    scroll-padding-inline-start:calc(15 * 100vw / 375);
  }
  [data-services-equipment] [data-reveal-group] > article {
    width:calc(255 * 100vw / 375) !important;
    height:calc(310 * 100vw / 375) !important;
    flex:0 0 calc(255 * 100vw / 375);
    aspect-ratio:auto !important;
    border-radius:calc(10 * 100vw / 375) !important;
    box-shadow:calc(1 * 100vw / 375) calc(1 * 100vw / 375) calc(15 * 100vw / 375) rgb(0 0 0 / 10%);
  }
  [data-services-equipment] [data-reveal-group] > article > div.absolute.inset-x-0.bottom-0 {
    inset-block:0;
    gap:0 !important;
    padding:calc(24 * 100vw / 375) !important;
  }
  [data-services-equipment] [data-reveal-group] h3 {
    margin-top:calc(131 * 100vw / 375) !important;
    font-size:calc(14 * 100vw / 375);
    line-height:normal;
  }
  [data-services-equipment] [data-reveal-group] h3 + p {
    margin-top:calc(12 * 100vw / 375) !important;
    display:-webkit-box !important;
    overflow:hidden !important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    line-clamp:3;
    font-size:calc(10 * 100vw / 375);
    line-height:normal;
  }
  [data-services-equipment] [data-reveal-group] p + div { margin-top:auto !important; align-self:flex-end; }
  [data-services-equipment] [data-reveal-group] p + div > a { width:calc(100 * 100vw / 375) !important; height:calc(34 * 100vw / 375) !important; }
}

/* Imported Services snapshot: FAQ mirrors the mobile component on the home page. */
@media (max-width:520px) {
  [data-services-faq] { padding-block:calc(72 * 100vw / 375) !important; }
  [data-services-faq] > .container-zmz > div { gap:calc(40 * 100vw / 375); }
  [data-services-faq] h2 { font-size:calc(24 * 100vw / 375); line-height:calc(30 * 100vw / 375); letter-spacing:calc(-1.2 * 100vw / 375); }
  [data-services-faq] h2 + * { margin-top:calc(12 * 100vw / 375) !important; }
  [data-services-faq] h2 + * > p { font-size:calc(13 * 100vw / 375); font-weight:500; line-height:calc(18 * 100vw / 375); letter-spacing:calc(-.13 * 100vw / 375); }
  [data-services-faq] h2 + * > div { margin-top:calc(24 * 100vw / 375) !important; }
  [data-services-faq] h2 + * > div > a { width:100% !important; height:calc(44 * 100vw / 375); font-size:calc(12 * 100vw / 375); line-height:calc(16 * 100vw / 375); }
  [data-services-faq] button[aria-controls] {
    align-items:center !important;
    gap:calc(16 * 100vw / 375);
    padding:calc(12 * 100vw / 375) calc(12 * 100vw / 375) calc(12 * 100vw / 375) 0 !important;
  }
  [data-services-faq] button[aria-expanded="true"] { align-items:flex-start !important; }
  [data-services-faq] button[aria-controls] > span[aria-hidden="true"] { display:none !important; }
  [data-services-faq] button[aria-controls]::after {
    content:"";
    display:block;
    width:calc(24 * 100vw / 375);
    height:calc(24 * 100vw / 375);
    flex:0 0 calc(24 * 100vw / 375);
    background:url("/static/img/faq-accordion-arrow.a02fcbf2713a.svg") center / 100% 100% no-repeat;
    transition:transform .15s ease;
  }
  [data-services-faq] button[aria-expanded="true"]::after { margin-top:calc(4 * 100vw / 375); transform:rotate(180deg); }
  [data-services-faq] button[aria-controls] > span:first-child { font-family:"Roboto Condensed", "Arial Narrow", Arial, sans-serif; font-size:calc(14 * 100vw / 375); font-weight:500; line-height:calc(16 * 100vw / 375); letter-spacing:calc(-.14 * 100vw / 375); }
  [data-services-faq] [role="region"] p { padding:0 calc(40 * 100vw / 375) calc(24 * 100vw / 375) 0 !important; font-size:calc(12 * 100vw / 375); line-height:calc(16 * 100vw / 375); color:#17314d; }
}

/* Imported Services snapshot: use the accepted mobile lead-form composition from home. */
@media (max-width:520px) {
  #lead[data-services-lead] .structured-shell { width:calc(100% - 32px) !important; padding-block:calc(72 * 100vw / 375); }
  #lead[data-services-lead] .global-lead__info h2 { font-size:calc(24 * 100vw / 375); line-height:calc(30 * 100vw / 375); letter-spacing:calc(-1.2 * 100vw / 375); }
  #lead[data-services-lead] .cms-cta-form__form { width:100%; max-width:none; gap:calc(16 * 100vw / 375) !important; margin-top:calc(32 * 100vw / 375); }
  #lead[data-services-lead] .cms-cta-form__form .cms-cta-form__error:empty { display:none; }
  #lead[data-services-lead] .cms-cta-form__intro { margin:0; font-size:calc(13 * 100vw / 375); font-weight:500; line-height:calc(18 * 100vw / 375); letter-spacing:calc(-.13 * 100vw / 375); }
  #lead[data-services-lead] .cms-cta-form__upload {
    order:1;
    display:flex !important;
    width:100%;
    height:calc(44 * 100vw / 375);
    margin:0 !important;
    gap:calc(8 * 100vw / 375) !important;
    align-items:center !important;
    justify-content:center !important;
    padding-inline:0 !important;
    text-align:left;
  }
  #lead[data-services-lead] .cms-cta-form__upload b { display:inline-flex; flex:0 0 auto; margin:0 !important; line-height:1; }
  #lead[data-services-lead] .cms-cta-form__consent { order:3; display:flex !important; align-items:flex-start !important; gap:calc(10 * 100vw / 375) !important; margin:0; }
  #lead[data-services-lead] .cms-cta-form__consent input[type="checkbox"] { width:calc(16 * 100vw / 375) !important; height:calc(16 * 100vw / 375) !important; flex:0 0 auto; margin:0 !important; }
  #lead[data-services-lead] .cms-cta-form__consent > span { font-size:calc(12 * 100vw / 375); line-height:calc(16 * 100vw / 375); }
  #lead[data-services-lead] .cms-cta-form__submit { order:4; height:calc(44 * 100vw / 375); margin-top:calc(16 * 100vw / 375) !important; }
  #lead[data-services-lead] .global-lead__info > p { margin-top:calc(56 * 100vw / 375) !important; font-size:calc(13 * 100vw / 375); line-height:calc(18 * 100vw / 375); letter-spacing:calc(-.13 * 100vw / 375); }
  #lead[data-services-lead] .cms-cta-form__contacts { width:100%; max-width:none; margin-top:calc(24 * 100vw / 375) !important; row-gap:0; }
  #lead[data-services-lead] .cms-cta-form__contacts div { padding-top:calc(8 * 100vw / 375) !important; }
  #lead[data-services-lead] .cms-cta-form__contacts div:first-child { padding-bottom:calc(40 * 100vw / 375) !important; }
  #lead[data-services-lead] .cms-cta-form__contacts dd { margin-top:calc(10 * 100vw / 375) !important; }
  #lead[data-services-lead] .cms-cta-form__contacts small { margin-top:calc(16 * 100vw / 375) !important; font-size:calc(12 * 100vw / 375) !important; line-height:calc(16 * 100vw / 375); }
}

/* The service snapshot keeps the same 375px mobile-header canvas as home. */
@media (max-width:520px) {
  header[data-services-mobile-scale] {
    width:375px;
    max-width:none !important;
    zoom:var(--mobile-canvas-scale, 1);
  }
}

/* EquipmentPage hero: the services-first-screen composition with page-owned copy. */
[data-equipment-breadcrumb] a {
  color:inherit;
  text-decoration:none;
}

[data-equipment-breadcrumb] a:hover,
[data-equipment-breadcrumb] a:focus-visible {
  text-decoration:none;
}

[data-equipment-breadcrumb] ol {
  display:flex;
  flex-wrap:wrap;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
}

@media (min-width:1101px) {
  /* About page hero, Figma 653:4406. */
  [data-about-hero] {
    position: relative;
    padding-top: 66px !important;
    padding-bottom: 0 !important;
  }

  [data-about-breadcrumb] {
    margin: 0;
    color: #596470;
    font: 500 16px/18px Inter, Arial, sans-serif;
  }

  [data-about-breadcrumb] a { color: inherit; text-decoration: none; }
  [data-about-breadcrumb] span { color: #8d949c; }

  [data-about-hero] h1 { margin-top: 18px !important; }

  [data-about-hero] > div:nth-of-type(1) {
    margin-top: 16px !important;
  }

  [data-about-hero] > div:nth-of-type(1) > p {
    font-size: 16px !important;
    line-height: normal !important;
  }

  [data-about-hero] > div:nth-of-type(1) > div > span:first-child > a {
    order: 2 !important;
    background: #004084 !important;
    color: #fafafa !important;
  }

  [data-about-hero] > div:nth-of-type(1) > div > span:last-child > a {
    order: 1 !important;
    background: #e6ebf0 !important;
    color: #17314d !important;
  }

  [data-about-hero] > div:last-child { margin-top: 40px !important; }

  body:has(main > section[data-cms-intro-text]) main > section[data-cms-intro-text] {
    padding-block: 112px;
  }

  body:has(main > section[data-cms-intro-text]) main > section[data-cms-intro-text] img {
    object-position: center top;
  }

  body:has(main > section[data-cms-intro-text]) main > section[data-cms-intro-text] h2 {
    font-weight: 500;
  }

  body:has(main > section[data-cms-intro-text]) main > section[data-cms-intro-text] [data-countup] {
    font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    font-size: 64px;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -3.2px;
  }

  body:has(main > section[data-cms-intro-text]) main > section[data-cms-intro-text] [data-countup] + span {
    font: 400 48px/normal "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    letter-spacing: -2.4px;
    margin-left: -8px;
    text-transform: lowercase;
  }

  body:has(main > section[data-cms-intro-text]) main > section[data-cms-intro-text] div.relative > div:last-child {
    inset: 0;
    height: auto;
    padding: 0;
    background-image: linear-gradient(to top, rgb(0 0 0 / 70%), transparent);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  body:has(main > section[data-cms-intro-text]) main > section[data-cms-intro-text] div.relative > div:last-child p {
    position: absolute;
    right: 24px;
    bottom: 24px;
    left: 24px;
    width: 485px;
    margin: 0;
  }

  [data-about-team] {
    padding-block: 112px !important;
  }

  [data-about-team] h2 + p {
    width: 630px;
    margin-top: 24px !important;
  }

  [data-about-team] div:has(> article) {
    margin-top: 80px !important;
  }

  [data-about-team] article {
    box-sizing: border-box;
    width: 384px !important;
    height: 440px !important;
    aspect-ratio: auto !important;
    overflow: hidden;
    border-radius: 10px !important;
    background: #17314d;
    box-shadow: 1px 1px 15px rgb(0 0 0 / 10%);
  }

  [data-about-team] article > img {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    width: 384px;
    height: 288px;
    border-radius: 10px 10px 0 0;
    object-fit: cover;
  }

  [data-about-team] article:nth-child(1) > img {
    object-position: center top;
  }

  [data-about-team] article:nth-child(2) > img {
    right: auto;
    left: -204px;
    top: -109px;
    width: 792px;
    height: 528px;
    max-width: none;
  }

  [data-about-team] article:nth-child(3) > img {
    right: auto;
    left: -263px;
    top: -42px;
    width: 718px;
    height: 479px;
    max-width: none;
  }

  [data-about-team] article > div {
    inset: 288px 0 0 !important;
    box-sizing: border-box;
    display: block;
    padding: 28px 24px 24px !important;
    border-radius: 0 !important;
    background: #17314d !important;
    color: #fff !important;
  }

  [data-about-team] article h3 {
    margin: 0;
    color: #fff !important;
    font: 600 16px/20px "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  }

  [data-about-team] article p {
    margin: 8px 0 0 !important;
    color: #fff !important;
    font: 400 14px/normal Inter, Arial, sans-serif;
  }

  [data-about-capabilities] {
    padding-top: 112px !important;
    padding-bottom: 112px !important;
  }

  [data-about-capabilities] > div > div:has(> article) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    margin-top: 63px !important;
    overflow: visible !important;
  }

  [data-about-capabilities] article {
    box-sizing: border-box;
    display: block !important;
    width: 384px !important;
    height: 270px !important;
    min-height: 270px !important;
    padding: 0 !important;
    overflow: hidden;
    border-radius: 10px !important;
    background: #d9e1eb !important;
    color: #000 !important;
  }

  [data-about-capabilities] article:nth-child(4) {
    background: #305780 !important;
    color: #fff !important;
  }

  [data-about-capabilities] article > img {
    position: absolute;
    width: 411px !important;
    height: 349px !important;
    max-width: none !important;
    inset: -39px auto auto -13px !important;
    object-fit: fill;
  }

  [data-about-capabilities] article:nth-child(3) > img {
    width: 417px !important;
    height: 355px !important;
    inset: -42px auto auto -19px !important;
  }

  [data-about-capabilities] article > [aria-hidden="true"] {
    position: absolute;
    inset: -39px auto auto -13px !important;
    width: 411px !important;
    height: 349px !important;
    background: none !important;
  }

  [data-about-capabilities] article > [aria-hidden="true"] img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
  }

  [data-about-capabilities] article:nth-child(3) > [aria-hidden="true"] {
    inset: -46px auto auto -24px !important;
    width: 427px !important;
    height: 363px !important;
  }

  [data-about-capabilities] article > div.relative {
    position: static !important;
  }

  [data-about-capabilities] article h3 {
    position: absolute;
    top: 71px;
    left: 50%;
    z-index: 1;
    width: 280px;
    margin: 0 !important;
    transform: translateX(-50%);
    color: currentColor !important;
    font: 500 24px/34px Inter, Arial, sans-serif;
    text-align: center;
  }

  [data-about-capabilities] article p {
    position: absolute;
    top: 155px;
    left: 50%;
    z-index: 1;
    width: 335px;
    margin: 0 !important;
    transform: translateX(-50%);
    color: #596470 !important;
    font: 500 16px/22px Inter, Arial, sans-serif;
    text-align: center;
  }

  [data-about-capabilities] article:nth-child(2),
  [data-about-capabilities] article:nth-child(3),
  [data-about-capabilities] article:nth-child(5) {
    color: #fff !important;
  }

  [data-about-capabilities] article:nth-child(2) p,
  [data-about-capabilities] article:nth-child(3) p,
  [data-about-capabilities] article:nth-child(5) p,
  [data-about-capabilities] article:nth-child(4) p {
    color: #fff !important;
    font-weight: 400;
  }

  [data-about-capabilities] article:nth-child(2) p {
    top: 121px;
    width: 285px;
  }

  [data-about-capabilities] article:nth-child(3) p {
    width: 309px;
  }

  [data-about-capabilities] article:nth-child(5) p {
    width: 294px;
  }

  [data-about-capabilities] article:nth-child(6) {
    width: 384px !important;
  }

  [data-about-capabilities] article:nth-child(6) p {
    width: 286px;
  }

  [data-about-sites] {
    padding-top: 112px !important;
    padding-bottom: 112px !important;
  }

  [data-about-sites] > div > p {
    width: 894px;
    max-width: none !important;
    margin-top: 24px !important;
    color: #17314d !important;
    font: 400 16px/22px Inter, Arial, sans-serif;
  }

  [data-about-sites] > div > p + div {
    display: grid !important;
    grid-template-columns: 588px 588px !important;
    gap: 24px !important;
    height: 445px;
    margin-top: 80px !important;
  }

  [data-about-sites] > div > p + div > div:first-child {
    position: relative !important;
    width: 588px;
    height: 445px !important;
    overflow: hidden !important;
    border-radius: 10px !important;
  }

  [data-about-sites] > div > p + div > div:first-child > img {
    position: absolute !important;
    inset: 0 auto auto -94px !important;
    width: 734px !important;
    height: 489px !important;
    max-width: none !important;
    object-fit: fill;
  }

  [data-about-sites] > div > p + div > div:last-child {
    display: flex !important;
    gap: 23px !important;
    width: 588px;
    height: 445px;
  }

  [data-about-sites] [data-motion-hover] {
    position: relative;
    box-sizing: border-box;
    display: block !important;
    width: 588px;
    height: 211px !important;
    min-height: 211px !important;
    flex: none !important;
    padding: 0 !important;
    overflow: hidden;
    border-radius: 10px !important;
    background: #f1f3f6 !important;
    color: #17314d !important;
  }

  [data-about-sites] [data-motion-hover] h3 {
    position: absolute;
    top: 40px;
    left: 24px;
    margin: 0 !important;
    color: #17314d !important;
    font: 600 18px/22px Inter, Arial, sans-serif;
    text-transform: uppercase;
  }

  [data-about-sites] [data-motion-hover] > p {
    position: absolute;
    top: 78px;
    left: 24px;
    width: 472px;
    margin: 0 !important;
    color: #17314d !important;
    font: 400 14px/normal Inter, Arial, sans-serif;
  }

  [data-about-sites] [data-motion-hover] > div:last-child {
    position: static !important;
    display: block !important;
    padding: 0 !important;
  }

  [data-about-sites] [data-motion-hover] [class~="items-baseline"] {
    position: absolute;
    top: 149px;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  [data-about-sites] [data-motion-hover] [class~="items-baseline"]:first-child {
    left: 24px;
  }

  [data-about-sites] [data-motion-hover] [class~="items-baseline"]:last-child {
    left: 208px;
  }

  [data-about-sites] [data-motion-hover] [class~="items-baseline"] > p:first-child {
    position: absolute;
    top: 18px;
    left: 0;
    margin: 0 !important;
    color: #17314d;
    font: 400 12px/normal Inter, Arial, sans-serif;
  }

  [data-about-sites] [data-motion-hover] [class~="items-baseline"] > p:last-child {
    position: absolute;
    top: 0;
    left: 66px;
    margin: 0 !important;
    color: #17314d;
    font: 400 32px/normal "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    letter-spacing: -1.6px;
    white-space: nowrap;
  }

  [data-about-sites] [data-motion-hover] [class~="items-baseline"]:last-child > p:last-child {
    left: 98px;
  }

  [data-about-sites] [data-motion-hover] [class~="items-baseline"] > p:last-child span:last-child {
    font-size: 20px;
    letter-spacing: -1px;
  }

  [data-about-steps] {
    padding-top: 112px !important;
    padding-bottom: 112px !important;
  }

  [data-about-steps] .lg\:sticky {
    position: static !important;
    top: auto !important;
    align-self: auto !important;
  }

  [data-about-partners] {
    min-height: 0 !important;
    padding-top: 112px !important;
    padding-bottom: 112px !important;
  }

  [data-about-partners] > div > p {
    width: 443px;
    max-width: none !important;
    margin-top: 24px !important;
    color: #17314d !important;
    font: 400 14px/normal Inter, Arial, sans-serif;
    letter-spacing: -0.14px;
  }

  [data-about-partners] > div > p + div {
    margin-top: 64px !important;
    padding-top: 32px !important;
  }

  [data-about-partners] img {
    filter: grayscale(1);
    opacity: .5 !important;
    mix-blend-mode: luminosity;
    transition: filter .2s ease, opacity .2s ease, mix-blend-mode .2s ease;
  }

  [data-about-partners] img:hover {
    filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
  }

  [data-about-reviews] .about-reviews__viewport {
    width: 100%;
    box-sizing: border-box;
    margin: -8px 0 -40px;
    padding: 40px 0;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scrollbar-width: none;
    pointer-events: auto;
  }

  [data-about-reviews] .about-reviews__viewport::-webkit-scrollbar {
    display: none;
  }

  [data-about-reviews] [data-reveal-group] {
    display: flex !important;
    gap: 24px !important;
    margin-top: 0 !important;
    overflow: visible !important;
  }

  [data-about-reviews] [data-carousel-nav] {
    position: relative;
    z-index: 1;
  }

  [data-about-reviews] article {
    flex: 0 0 588px !important;
    width: 588px !important;
    min-height: 284px !important;
    height: 284px !important;
    pointer-events: auto;
  }

  [data-about-reviews] article:not(:hover) {
    box-shadow: none !important;
  }


}

@media (max-width:520px) {
  body.structured-page--equipment header.structured-header,
  body.structured-page--vacuum-furnaces header.structured-header,
  body.structured-page--vacuum-casting-equipment header.structured-header {
    width:375px;
    max-width:none !important;
    zoom:var(--mobile-canvas-scale, 1);
  }
  body.structured-page--equipment,
  body.structured-page--vacuum-furnaces,
  body.structured-page--vacuum-casting-equipment {
    --zmz-shell:calc(100vw - 32px);
  }
  [data-equipment-hero] {
    display:block;
    margin-top:0;
    padding-top:calc(32 * 100vw / 375) !important;
    padding-bottom:calc(32 * 100vw / 375) !important;
  }
  [data-equipment-hero] > .cms-hero__content { display:flex; flex-direction:column; }
  [data-equipment-breadcrumb] { order:0; margin:0; color:#596470; font-size:calc(12 * 100vw / 375); font-weight:500; line-height:calc(16 * 100vw / 375); }
  [data-equipment-breadcrumb] [aria-current="page"] { color:#8d949c; }
  [data-equipment-hero] h1 { order:1; max-width:none; margin-top:calc(12 * 100vw / 375); font-size:calc(32 * 100vw / 375); font-weight:700; line-height:calc(38 * 100vw / 375); letter-spacing:calc(-1.6 * 100vw / 375); }
  [data-equipment-hero] h1 + p { order:2; max-width:none; margin-top:calc(12 * 100vw / 375); color:#585e65; font-size:calc(13 * 100vw / 375); font-weight:500; line-height:calc(18 * 100vw / 375); letter-spacing:calc(-.13 * 100vw / 375); }
  [data-equipment-hero] .cms-actions { order:3; flex-direction:row; flex-wrap:nowrap; gap:calc(16 * 100vw / 375); margin-top:calc(32 * 100vw / 375); }
  [data-equipment-hero] .cms-actions .cms-button { width:auto; height:calc(44 * 100vw / 375); min-height:calc(44 * 100vw / 375); padding-inline:0; font-size:calc(12 * 100vw / 375); line-height:calc(16 * 100vw / 375); }
  [data-equipment-hero] .cms-actions .cms-button:first-child { flex:0 0 calc(164 * 100vw / 375); }
  [data-equipment-hero] .cms-actions .cms-button--primary { color:#fafafa; }
  [data-equipment-hero] .cms-actions .cms-button:last-child { flex:1 1 auto; }
  [data-equipment-hero] > .cms-hero__image { width:100%; height:calc(435 * 100vw / 375); margin-top:calc(40 * 100vw / 375); border-radius:calc(10 * 100vw / 375); object-fit:cover; }
}

/* Equipment detail hero, desktop: shared composition for tanks, furnaces and
   casting equipment. The 728px title measure deliberately produces the
   two-line headline from the approved 1440px layout. */
@media (min-width:1101px) {
  [data-equipment-hero] {
    position:relative;
    display:grid;
    grid-template-columns:580px minmax(0, 1fr);
    gap:0 24px;
    padding:70px 0 56px;
  }

  [data-equipment-hero] > .cms-hero__content { display:contents; }

  [data-equipment-hero] [data-equipment-breadcrumb] {
    grid-column:1 / -1;
    grid-row:1;
    margin:0;
    color:#596470;
    font-size:16px;
    font-weight:500;
    line-height:18px;
  }

  [data-equipment-breadcrumb] [aria-current="page"] { color:#8d949c; }

  [data-equipment-hero] h1 {
    grid-column:1 / -1;
    grid-row:2;
    max-width:728px;
    margin:18px 0 0;
    color:#17314d;
    font-family:"Roboto Condensed","Arial Narrow",Arial,sans-serif;
    font-size:72px;
    font-weight:700;
    line-height:normal;
    letter-spacing:-3.6px;
  }

  body.structured-page--vacuum-furnaces [data-equipment-hero] h1 {
    max-width:820px;
  }

  body.structured-page--vacuum-furnaces [data-equipment-hero] h1 + p {
    grid-column:1 / -1;
    width:666px;
    max-width:666px;
  }

  [data-equipment-hero] h1 + p {
    grid-column:1;
    grid-row:3;
    max-width:580px;
    margin:12px 0 0;
    color:#585e65;
    font-size:16px;
    font-weight:500;
    line-height:18px;
  }

  [data-equipment-hero] .cms-actions {
    grid-column:2;
    grid-row:3;
    display:flex;
    flex-wrap:nowrap;
    gap:26px;
    margin:0;
    align-self:start;
    justify-content:flex-end;
    transform:translateY(12px);
  }

  [data-equipment-hero] .cms-actions .cms-button {
    box-sizing:border-box;
    width:174px;
    min-height:44px;
    height:44px;
    padding:0;
    white-space:nowrap;
  }

  [data-equipment-hero] .cms-actions .cms-button--primary {
    color:#fafafa;
  }

  [data-equipment-hero] .cms-actions .cms-button--secondary {
    width:178px;
  }

  [data-equipment-hero] > .cms-hero__image {
    grid-column:1 / -1;
    grid-row:4;
    width:100%;
    height:428px;
    margin-top:48px;
    border-radius:20px;
  }
}

/* Equipment detail task grid, desktop: shared by all production detail pages. */
@media (min-width:1101px) {
  [data-equipment-tasks] { padding:112px 0; }

  [data-equipment-tasks] > h2 {
    max-width:942px;
    margin:0;
    color:#17314d;
    font-family:"Roboto Condensed","Arial Narrow",Arial,sans-serif;
    font-size:40px !important;
    font-weight:700 !important;
    line-height:normal !important;
    letter-spacing:-2px !important;
    text-transform:uppercase;
  }

  [data-equipment-tasks-description] {
    max-width:533px;
    margin:16px 0 0;
    color:#17314d;
    font:500 16px/normal Inter,Arial,sans-serif;
    letter-spacing:-.16px;
  }

  [data-equipment-tasks] .cms-card-grid__items {
    display:grid;
    grid-template-columns:282px 282px minmax(0, 588px);
    grid-template-rows:repeat(2, minmax(170px, auto));
    gap:24px;
    margin-top:80px;
    counter-reset:equipment-task;
  }

  [data-equipment-tasks] .cms-card {
    position:relative;
    display:flex;
    box-sizing:border-box;
    height:auto;
    min-height:170px;
    overflow:hidden;
    border-radius:10px;
    padding:16px 20px 40px 24px;
    background:#f5f6f7;
    counter-increment:equipment-task;
    flex-direction:column;
  }

  [data-equipment-tasks] .cms-card::before {
    content:counter(equipment-task, decimal-leading-zero);
    position:relative;
    z-index:2;
    display:block;
    color:rgb(23 49 77 / 50%);
    font:600 16px/normal "Roboto Condensed","Arial Narrow",Arial,sans-serif;
  }

  [data-equipment-tasks] .cms-card::after { display:none; }

  [data-equipment-tasks] .cms-card h3,
  [data-equipment-tasks] .cms-card p {
    position:relative;
    z-index:2;
    right:auto;
    left:auto;
    margin:0;
    color:#17314d;
  }

  [data-equipment-tasks] .cms-card h3 {
    top:auto;
    bottom:auto;
    margin-top:26px;
    font:600 16px/normal "Roboto Condensed","Arial Narrow",Arial,sans-serif;
    text-transform:uppercase;
  }

  [data-equipment-tasks] .cms-card h3 + p {
    top:auto;
    bottom:auto;
    margin-top:16px;
    font:400 14px/normal Inter,Arial,sans-serif;
  }

  [data-equipment-tasks] .cms-card:nth-child(1) { grid-column:1; grid-row:1; }
  [data-equipment-tasks] .cms-card:nth-child(2) { grid-column:2; grid-row:1; background:#17314d; }
  [data-equipment-tasks] .cms-card:nth-child(3) { grid-column:1; grid-row:2; background:#f1f3f6; }
  [data-equipment-tasks] .cms-card:nth-child(4) { grid-column:2; grid-row:2; background:#c6d5e3; }

  [data-equipment-tasks] .cms-card:nth-child(2)::before,
  [data-equipment-tasks] .cms-card:nth-child(2) h3,
  [data-equipment-tasks] .cms-card:nth-child(2) p { color:#fff; }
  [data-equipment-tasks] .cms-card:nth-child(2)::before { color:rgb(255 255 255 / 50%); }

  [data-equipment-tasks] .cms-card:nth-child(5) {
    grid-column:3;
    grid-row:1 / span 2;
    height:auto;
    min-height:0;
    padding:16px 20px 40px 24px;
    background:#17314d;
  }

  [data-equipment-tasks] .cms-card:nth-child(5) img {
    position:absolute;
    inset:0;
    z-index:0;
    display:block;
    width:100%;
    height:100%;
    max-width:none;
    min-height:0;
    object-fit:cover;
    object-position:bottom;
  }

  [data-equipment-tasks] .cms-card:nth-child(5)::after {
    position:absolute;
    z-index:1;
    inset:0;
    display:block;
    height:auto;
    border-radius:10px;
    background:linear-gradient(to top, rgb(0 0 0 / 40%) 0%, transparent 67.857%);
    content:"";
  }

  [data-equipment-tasks] .cms-card:nth-child(5)::before {
    position:absolute;
    top:16px;
    left:24px;
    color:#fff;
  }
  [data-equipment-tasks] .cms-card:nth-child(5) h3,
  [data-equipment-tasks] .cms-card:nth-child(5) p {
    z-index:3;
    right:auto;
    left:auto;
    color:#fff;
  }
  [data-equipment-tasks] .cms-card:nth-child(5) h3 {
    top:auto;
    bottom:auto;
    margin-top:auto;
  }
  [data-equipment-tasks] .cms-card:nth-child(5) h3 + p {
    top:auto;
    bottom:auto;
    margin-top:16px;
  }

  body.structured-page--vacuum-furnaces [data-equipment-tasks] .cms-card:nth-child(5) img {
    inset:auto;
    width:221.77%;
    height:268.68%;
    max-width:none;
    top:-98.67%;
    left:-63.69%;
    object-fit:fill;
  }

  body.structured-page--vacuum-furnaces [data-equipment-tasks] .cms-card:nth-child(5)::after {
    background:linear-gradient(to top, rgb(0 0 0 / 70%) 0%, transparent 100%);
  }

  body.structured-page--vacuum-casting-equipment [data-equipment-tasks] .cms-card:nth-child(5)::after {
    background:linear-gradient(to top, rgb(0 0 0 / 70%) 0%, transparent 100%);
  }

  body.structured-page--vacuum-furnaces [data-equipment-tasks-description] {
    width:636px;
    max-width:636px;
  }
}

/* Equipment solutions, desktop: six 384×440 cards in the approved 3-column grid. */
@media (min-width:1101px) {
  [data-equipment-solutions] { padding:112px 0; }

  [data-equipment-solutions] > h2 {
    max-width:987px;
    margin:0;
    color:#17314d;
    font-family:"Roboto Condensed","Arial Narrow",Arial,sans-serif;
    font-size:40px !important;
    font-weight:700 !important;
    line-height:normal !important;
    letter-spacing:-2px !important;
    text-transform:uppercase;
  }

  [data-equipment-solutions-description] {
    max-width:703px;
    margin:15px 0 0;
    color:#17314d;
    font:500 16px/normal Inter,Arial,sans-serif;
    letter-spacing:-.16px;
  }

  body.structured-page--vacuum-casting-equipment [data-equipment-solutions-description] {
    max-width:741px;
  }

  [data-equipment-solutions] .cms-card-grid__items {
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
    margin-top:80px;
  }

  [data-equipment-solutions] .cms-card {
    position:relative;
    box-sizing:border-box;
    min-height:440px;
    height:440px;
    overflow:hidden;
    border-radius:10px;
    background:#17314d;
    box-shadow:1px 1px 15px rgb(0 0 0 / 10%);
  }

  [data-equipment-solutions] .cms-card::after { display:none; }

  [data-equipment-solutions] .cms-card img {
    position:absolute;
    inset:0 0 auto;
    z-index:0;
    display:block;
    width:100%;
    height:298px;
    min-height:0;
    border-radius:10px;
    object-fit:cover;
  }

  [data-equipment-solutions] .cms-card h3,
  [data-equipment-solutions] .cms-card p {
    position:absolute;
    z-index:1;
    right:20px;
    left:24px;
    margin:0;
    color:#fff;
  }

  [data-equipment-solutions] .cms-card h3 {
    top:338px;
    font:600 16px/20px "Roboto Condensed","Arial Narrow",Arial,sans-serif;
    text-transform:uppercase;
  }

  [data-equipment-solutions] .cms-card h3 + p {
    top:366px;
    font:400 14px/normal Inter,Arial,sans-serif;
  }

}

/* Equipment detail: specifications followed by a horizontally scrollable
   examples gallery, matching the mobile composition from Figma. */
@media (min-width:1101px) {
  /* Desktop equipment: technical options and examples, Figma 580:1195. */
  [data-equipment-specifications] {
    display: block;
    width: var(--zmz-shell);
    padding: 112px 0 0;
  }

  [data-equipment-specifications] h2 {
    max-width: 870px;
    margin: 0;
    color: #17314d;
    font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    font-size: 40px;
    font-weight: 700;
    line-height: normal;
    letter-spacing: -2px;
    text-transform: uppercase;
  }

  [data-equipment-specifications-description] {
    max-width: 533px;
    margin: 16px 0 80px;
    color: #17314d;
    font: 500 16px/normal Inter, Arial, sans-serif;
    letter-spacing: -.16px;
  }

  [data-equipment-specifications] table,
  [data-equipment-specifications] tbody {
    display: block;
    width: 100%;
  }

  [data-equipment-specifications] tbody {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 588px));
    grid-template-rows: 74px repeat(3, 54px);
    grid-auto-flow: column;
    column-gap: 24px;
  }

  [data-equipment-specifications] tr {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    column-gap: 110px;
    align-items: center;
    min-height: 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid #8d949c;
  }

  [data-equipment-specifications] tr:last-child {
    border-bottom: 1px solid #8d949c;
  }

  [data-equipment-specifications] th,
  [data-equipment-specifications] td {
    padding: 0;
    text-align: left;
    vertical-align: middle;
  }

  [data-equipment-specifications] th {
    color: #17314d;
    font: 500 14px/normal "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    text-transform: uppercase;
  }

  [data-equipment-specifications] td {
    color: #000;
    font: 400 14px/normal Inter, Arial, sans-serif;
  }

  /* Vacuum casting equipment: seven specification rows per column. */
  body.structured-page--vacuum-casting-equipment [data-equipment-specifications-description] {
    max-width: 900px;
    margin-bottom: 80px;
  }

  body.structured-page--vacuum-casting-equipment [data-equipment-specifications] tbody {
    grid-template-rows: repeat(7, 54px);
  }

  body.structured-page--vacuum-casting-equipment [data-equipment-specifications] tr {
    grid-template-columns: 264px minmax(0, 1fr);
    column-gap: 0;
  }

  body.structured-page--vacuum-casting-equipment [data-equipment-specifications] tr:nth-child(n + 8) {
    grid-template-columns: 283px minmax(0, 1fr);
    padding-left: 24px;
  }

  [data-equipment-examples] {
    width: var(--zmz-shell);
    margin: 100px auto 0;
    padding: 0 0 112px;
  }

  body.structured-page--vacuum-casting-equipment [data-equipment-examples] {
    margin-top: 80px;
  }

  [data-equipment-examples-heading] {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  [data-equipment-examples] h2 {
    margin: 0;
    color: #17314d;
    font: 700 24px/normal "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    text-transform: uppercase;
  }

  [data-equipment-examples-nav] {
    display: flex;
    gap: 24px;
  }

  [data-equipment-examples-nav] button {
    display: grid;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    place-items: center;
  }

  [data-equipment-examples-nav] img {
    width: 32px;
    height: 32px;
  }

  [data-equipment-examples-nav] button:first-child img { transform: rotate(180deg); }

  [data-equipment-examples] .cms-gallery__items {
    display: flex;
    gap: 24px;
    margin-top: 40px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  [data-equipment-examples] .cms-gallery__items::-webkit-scrollbar { display: none; }

  [data-equipment-examples] .cms-image {
    flex: 0 0 384px;
    width: 384px;
    height: 298px;
    margin: 0;
    scroll-snap-align: start;
  }

  [data-equipment-examples] .cms-image img {
    display: block;
    width: 100%;
    height: 298px;
    min-height: 0;
    border-radius: 10px;
    object-fit: cover;
  }

  /* Vacuum furnace: the Figma block contains two rows of specifications,
     followed by its own cropped three-image examples gallery. */
  body.structured-page--vacuum-furnaces [data-equipment-specifications-description] {
    max-width: 713px;
  }

  body.structured-page--vacuum-furnaces [data-equipment-specifications] tbody {
    grid-template-rows: repeat(2, 54px);
  }

  body.structured-page--vacuum-furnaces [data-equipment-specifications] tr {
    grid-template-columns: 413px minmax(0, 1fr);
    column-gap: 0;
  }

  body.structured-page--vacuum-furnaces [data-equipment-specifications] tr:nth-child(n + 3) {
    grid-template-columns: 223px minmax(0, 1fr);
    padding-left: 24px;
  }

  body.structured-page--vacuum-furnaces [data-equipment-examples] {
    margin-top: 133px;
  }

  body.structured-page--vacuum-furnaces [data-equipment-examples] .cms-image {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
  }

  body.structured-page--vacuum-furnaces [data-equipment-examples] .cms-image:nth-child(1) img {
    position: absolute;
    top: -19.71%;
    left: -17.13%;
    width: 123.71%;
    height: 119.56%;
    max-width: none;
    object-fit: fill;
  }

  body.structured-page--vacuum-furnaces [data-equipment-examples] .cms-image:nth-child(2) img {
    position: absolute;
    top: -15.77%;
    left: -11.1%;
    width: 123.11%;
    height: 119.17%;
    max-width: none;
    object-fit: fill;
  }
}

/* The carousel uses its actual scroll position to expose only the available
   direction in blue. A mask keeps the supplied Figma arrow geometry intact. */
[data-equipment-examples-nav] button {
  position: relative;
}

[data-equipment-examples-nav] button img {
  display: none;
}

[data-equipment-examples-nav] button::before {
  width: 100%;
  height: 100%;
  content: "";
  background-color: #8d949c;
  mask: url("/static/img/equipment-gallery-arrow.4ae6ce9b8a3e.svg") center / contain no-repeat;
  -webkit-mask: url("/static/img/equipment-gallery-arrow.4ae6ce9b8a3e.svg") center / contain no-repeat;
}

[data-equipment-examples-nav] button:first-child::before {
  transform: rotate(180deg);
}

[data-equipment-examples-nav] button.is-active::before {
  background-color: #004084;
}

[data-equipment-examples-nav] button:disabled {
  cursor: default;
}

@media (max-width:520px) {
  [data-equipment-specifications] {
    display: block;
    padding-block: calc(72 * 100vw / 375) calc(56 * 100vw / 375);
  }
  [data-equipment-specifications] h2 {
    max-width: none;
    margin: 0;
    color: #17314d;
    font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    font-size: calc(24 * 100vw / 375) !important;
    font-weight: 700 !important;
    line-height: calc(30 * 100vw / 375) !important;
    letter-spacing: calc(-1.2 * 100vw / 375) !important;
    text-transform: uppercase;
  }
  [data-equipment-specifications-description] {
    margin: calc(12 * 100vw / 375) 0 calc(40 * 100vw / 375);
    color: #17314d;
    font-family: Inter, Arial, sans-serif;
    font-size: calc(13 * 100vw / 375);
    font-weight: 500;
    line-height: calc(18 * 100vw / 375);
    letter-spacing: calc(-.13 * 100vw / 375);
  }
  [data-equipment-specifications] table { width: 100%; }
  [data-equipment-specifications] tr {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: calc(135 * 100vw / 375) minmax(0, 1fr);
    gap: calc(18 * 100vw / 375);
    min-height: calc(42 * 100vw / 375);
    padding: calc(8 * 100vw / 375) 0;
    border: 0;
    border-bottom: 1px solid #8d949c;
  }
  [data-equipment-specifications] tr:first-child { min-height: calc(74 * 100vw / 375); }
  [data-equipment-specifications] tr:nth-child(4),
  [data-equipment-specifications] tr:nth-child(7),
  [data-equipment-specifications] tr:nth-child(8) { min-height: calc(58 * 100vw / 375); }
  [data-equipment-specifications] tr:nth-child(5) { min-height: calc(90 * 100vw / 375); }
  [data-equipment-specifications] th,
  [data-equipment-specifications] td {
    align-self: center;
    padding: 0;
    color: #17314d;
    font-size: calc(12 * 100vw / 375);
    line-height: calc(16 * 100vw / 375);
    text-align: left;
    vertical-align: middle;
  }
  [data-equipment-specifications] th {
    font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    font-weight: 500;
    line-height: normal;
    text-transform: uppercase;
  }
  [data-equipment-specifications] td { font-family: Inter, Arial, sans-serif; font-weight: 400; color: #000; }

  [data-equipment-examples] {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-right: 0;
    margin-left: -50vw;
    padding-block: 0 calc(72 * 100vw / 375);
  }
  [data-equipment-examples-heading] {
    display: flex;
    width: calc(100vw - 32px);
    margin-inline: auto;
    align-items: center;
    justify-content: space-between;
  }
  [data-equipment-examples] h2 {
    margin: 0;
    color: #17314d;
    font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    font-size: calc(18 * 100vw / 375) !important;
    font-weight: 700 !important;
    line-height: calc(24 * 100vw / 375) !important;
    letter-spacing: normal;
    text-transform: uppercase;
  }
  [data-equipment-examples-nav] { display: flex; gap: calc(16 * 100vw / 375); }
  [data-equipment-examples-nav] button {
    display: grid;
    width: calc(24 * 100vw / 375);
    height: calc(24 * 100vw / 375);
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    place-items: center;
  }
  [data-equipment-examples-nav] img { width: 100%; height: 100%; }
  [data-equipment-examples-nav] button:first-child img { transform: rotate(180deg); }
  [data-equipment-examples] .cms-gallery__items {
    box-sizing: border-box;
    display: flex;
    width: calc(100vw - 16px);
    margin-left: 16px;
    margin-top: calc(32 * 100vw / 375);
    padding: 0 calc(16 * 100vw / 375) 0 0;
    gap: calc(8 * 100vw / 375);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  [data-equipment-examples] .cms-gallery__items::-webkit-scrollbar { display: none; }
  [data-equipment-examples] .cms-image {
    flex: 0 0 calc(226 * 100vw / 375);
    width: calc(226 * 100vw / 375);
    height: calc(176 * 100vw / 375);
    scroll-snap-align: start;
  }
  [data-equipment-examples] .cms-image img {
    width: 100%;
    height: 100%;
    min-height: 0;
    border-radius: calc(5 * 100vw / 375);
    object-fit: cover;
  }
  [data-equipment-examples] .cms-image:nth-child(2) img { object-position: center 35%; }
}

/* Equipment detail: individual configurations. */
@media (min-width:1101px) {
  /* Desktop equipment: individual configurations, Figma 580:1242. */
  [data-equipment-customizations] {
    position: relative;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 588px));
    grid-template-rows: 48px 32px repeat(3, 117px);
    column-gap: 24px;
    row-gap: 24px;
    min-height: 750px;
    padding: 112px 0;
  }

  [data-equipment-customizations] h2 {
    grid-column: 1 / -1;
    grid-row: 1;
    margin: 0;
    color: #17314d;
    font: 600 40px/48px "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    letter-spacing: -2px;
    text-transform: uppercase;
    white-space: nowrap;
  }

  [data-equipment-customizations-description] {
    grid-column: 1;
    grid-row: 3;
    align-self: start;
    width: 556px;
    margin: 0;
    color: #17314d;
    font: 500 16px/normal Inter, Arial, sans-serif;
    letter-spacing: -.16px;
  }

  [data-equipment-customizations] .cms-card-grid__items {
    display: contents;
    margin: 0;
  }

  [data-equipment-customizations] .cms-card {
    box-sizing: border-box;
    min-height: 117px;
    height: 117px;
    padding: 24px;
    overflow: hidden;
    border-radius: 10px;
    background: #f1f3f6;
  }

  [data-equipment-customizations] .cms-card:nth-child(1) {
    grid-column: 1;
    grid-row: 4;
  }

  [data-equipment-customizations] .cms-card:nth-child(2) {
    grid-column: 1;
    grid-row: 5;
    background: #c6d5e3;
  }

  [data-equipment-customizations] .cms-card:nth-child(3) {
    grid-column: 2;
    grid-row: 3;
  }

  [data-equipment-customizations] .cms-card:nth-child(4) {
    grid-column: 2;
    grid-row: 4;
    background: #c6d5e3;
  }

  [data-equipment-customizations] .cms-card:nth-child(5) {
    grid-column: 2;
    grid-row: 5;
    background: #17314d;
  }

  [data-equipment-customizations] .cms-card h3,
  [data-equipment-customizations] .cms-card p {
    position: static;
    margin: 0;
    color: #17314d;
  }

  [data-equipment-customizations] .cms-card h3 {
    font: 600 16px/normal Inter, Arial, sans-serif;
    text-transform: uppercase;
  }

  [data-equipment-customizations] .cms-card p {
    margin-top: 15px;
    font: 400 14px/14px Inter, Arial, sans-serif;
  }

  [data-equipment-customizations] .cms-card:nth-child(5) h3,
  [data-equipment-customizations] .cms-card:nth-child(5) p {
    color: #fff;
  }

  [data-equipment-customizations] .cms-card::after {
    display: none;
  }

  /* Vacuum furnaces: individual executions, Figma 1011:2028. */
  body.structured-page--vacuum-furnaces [data-equipment-customizations] {
    display: block;
    min-height: 0;
    padding: 112px 0;
  }

  body.structured-page--vacuum-furnaces [data-equipment-customizations] h2 {
    display: block;
    margin: 0;
    white-space: nowrap;
  }

  body.structured-page--vacuum-furnaces [data-equipment-customizations-description] {
    display: block;
    width: 713px;
    max-width: 713px;
    margin: 16px 0 0;
  }

  body.structured-page--vacuum-furnaces [data-equipment-customizations] .cms-card-grid__items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 588px));
    grid-template-rows: 117px 134px;
    gap: 24px;
    margin-top: 98px;
  }

  body.structured-page--vacuum-furnaces [data-equipment-customizations] .cms-card {
    grid-column: auto;
    grid-row: auto;
    min-height: 0;
    height: auto;
    padding: 24px;
  }

  body.structured-page--vacuum-furnaces [data-equipment-customizations] .cms-card:nth-child(1) {
    background: #f1f3f6;
  }

  body.structured-page--vacuum-furnaces [data-equipment-customizations] .cms-card:nth-child(2),
  body.structured-page--vacuum-furnaces [data-equipment-customizations] .cms-card:nth-child(3) {
    background: #c6d5e3;
  }

  body.structured-page--vacuum-furnaces [data-equipment-customizations] .cms-card:nth-child(4) {
    background: #17314d;
  }

  body.structured-page--vacuum-furnaces [data-equipment-customizations] .cms-card:nth-child(4) h3,
  body.structured-page--vacuum-furnaces [data-equipment-customizations] .cms-card:nth-child(4) p {
    color: #fff;
  }

  body.structured-page--vacuum-furnaces [data-equipment-customizations] .cms-card:nth-child(4) h3 {
    font-weight: 500;
  }

  body.structured-page--vacuum-furnaces [data-equipment-customizations] .cms-card:nth-child(1) p {
    width: 516px;
  }

  body.structured-page--vacuum-furnaces [data-equipment-customizations] .cms-card:nth-child(2) p {
    width: 413px;
  }

  body.structured-page--vacuum-furnaces [data-equipment-customizations] .cms-card:nth-child(3) p {
    width: 420px;
  }

  body.structured-page--vacuum-furnaces [data-equipment-customizations] .cms-card:nth-child(4) p {
    width: 427px;
  }
}

@media (max-width:520px) {
  [data-equipment-customizations] {
    padding-block: calc(72 * 100vw / 375);
  }
  [data-equipment-customizations] h2 {
    margin: 0;
    color: #17314d;
    font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    font-size: calc(24 * 100vw / 375) !important;
    font-weight: 700 !important;
    line-height: calc(30 * 100vw / 375) !important;
    letter-spacing: calc(-1.2 * 100vw / 375) !important;
    text-transform: uppercase;
  }
  [data-equipment-customizations-description] {
    margin: calc(12 * 100vw / 375) 0 0;
    color: #17314d;
    font-family: Inter, Arial, sans-serif;
    font-size: calc(13 * 100vw / 375);
    font-weight: 500;
    line-height: calc(18 * 100vw / 375);
    letter-spacing: calc(-.13 * 100vw / 375);
  }
  [data-equipment-customizations] .cms-card-grid__items {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(16 * 100vw / 375);
    margin-top: calc(48 * 100vw / 375);
  }
  [data-equipment-customizations] .cms-card {
    box-sizing: border-box;
    min-height: calc(85 * 100vw / 375);
    height: calc(85 * 100vw / 375);
    padding: calc(18 * 100vw / 375) calc(24 * 100vw / 375);
    overflow: hidden;
    border-radius: calc(5 * 100vw / 375);
  }
  [data-equipment-customizations] .cms-card h3,
  [data-equipment-customizations] .cms-card p {
    position: static;
    left: auto;
    right: auto;
    margin: 0;
    color: #17314d;
  }
  [data-equipment-customizations] .cms-card h3 {
    font-family: Inter, Arial, sans-serif;
    font-size: calc(12 * 100vw / 375);
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
  }
  [data-equipment-customizations] .cms-card p {
    margin-top: calc(7 * 100vw / 375);
    font-family: Inter, Arial, sans-serif;
    font-size: calc(10 * 100vw / 375);
    font-weight: 400;
    line-height: calc(14 * 100vw / 375);
  }
  [data-equipment-customizations] .cms-card::after { display: none; }
  [data-equipment-customizations] .cms-card:nth-child(5),
  [data-equipment-customizations] .cms-card:nth-child(5) h3,
  [data-equipment-customizations] .cms-card:nth-child(5) p { color: #fff; }
}

@media (min-width:1101px) {
  /* Vacuum casting equipment: construction and technology, Figma 998:1471. */
  body.structured-page--vacuum-casting-equipment [data-equipment-customizations] {
    display: block;
    min-height: 0;
    padding: 112px 0;
  }

  body.structured-page--vacuum-casting-equipment [data-equipment-customizations] h2 {
    display: block;
    margin: 0;
    white-space: nowrap;
  }

  body.structured-page--vacuum-casting-equipment [data-equipment-customizations-description] {
    display: block;
    width: 667px;
    max-width: 667px;
    margin: 15px 0 0;
  }

  body.structured-page--vacuum-casting-equipment [data-equipment-customizations] .cms-card-grid__items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 588px));
    grid-template-rows: repeat(2, 134px);
    gap: 24px;
    margin-top: 80px;
  }

  body.structured-page--vacuum-casting-equipment [data-equipment-customizations] .cms-card {
    grid-column: auto;
    grid-row: auto;
    min-height: 134px;
    height: 134px;
    padding: 24px;
  }

  body.structured-page--vacuum-casting-equipment [data-equipment-customizations] .cms-card:nth-child(1) {
    background: #f1f3f6;
  }

  body.structured-page--vacuum-casting-equipment [data-equipment-customizations] .cms-card:nth-child(2),
  body.structured-page--vacuum-casting-equipment [data-equipment-customizations] .cms-card:nth-child(3) {
    background: #c6d5e3;
  }

  body.structured-page--vacuum-casting-equipment [data-equipment-customizations] .cms-card:nth-child(4) {
    background: #17314d;
  }

  body.structured-page--vacuum-casting-equipment [data-equipment-customizations] .cms-card:nth-child(4) h3,
  body.structured-page--vacuum-casting-equipment [data-equipment-customizations] .cms-card:nth-child(4) p {
    color: #fff;
  }

  body.structured-page--vacuum-casting-equipment [data-equipment-customizations] .cms-card:nth-child(4) h3 {
    font-weight: 500;
  }

  body.structured-page--vacuum-casting-equipment [data-equipment-customizations] .cms-card p {
    margin-top: 16px;
  }

  body.structured-page--vacuum-casting-equipment [data-equipment-customizations] .cms-card:nth-child(1) p { width: 516px; }
  body.structured-page--vacuum-casting-equipment [data-equipment-customizations] .cms-card:nth-child(2) p { width: 413px; }
  body.structured-page--vacuum-casting-equipment [data-equipment-customizations] .cms-card:nth-child(3) p { width: 420px; }
  body.structured-page--vacuum-casting-equipment [data-equipment-customizations] .cms-card:nth-child(4) p { width: 365px; }
}

/* Equipment detail: delivery contents. */
@media (min-width:1101px) {
  /* Desktop equipment: delivery contents, Figma 580:1265. */
  [data-equipment-delivery-contents] {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 493px 588px;
    gap: 69px;
    align-items: start;
    padding: 112px 0;
  }

  [data-equipment-delivery-contents] .cms-text-media__content {
    min-width: 0;
  }

  [data-equipment-delivery-contents] h2 {
    width: 588px;
    margin: 0;
    color: #17314d;
    font: 700 40px/48px "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    letter-spacing: -2px;
    text-transform: uppercase;
    white-space: nowrap;
  }

  [data-equipment-delivery-contents] .cms-text-media__content > p,
  [data-equipment-delivery-contents] .cms-text-media__content > ul,
  [data-equipment-delivery-contents] .cms-text-media__content li {
    color: #17314d;
    font: 500 16px/20px Inter, Arial, sans-serif;
    letter-spacing: -.16px;
  }

  [data-equipment-delivery-contents] .cms-text-media__content > p {
    margin: 0;
  }

  [data-equipment-delivery-contents] .cms-text-media__content > p:first-of-type {
    margin-top: 39px;
    margin-bottom: 32px;
  }

  [data-equipment-delivery-contents] .cms-text-media__content > p:nth-of-type(2) {
    margin-bottom: 16px;
  }

  [data-equipment-delivery-contents] .cms-text-media__content > ul {
    margin: 0;
    padding-left: 24px;
  }

  [data-equipment-delivery-contents] .cms-text-media__content > ul li {
    margin: 0 0 8px;
    padding-left: 0;
  }

  [data-equipment-delivery-contents] .cms-text-media__content > ul + p {
    margin-top: 24px;
  }

  [data-equipment-delivery-contents] .cms-text-media__image {
    width: 588px;
    height: 401px;
    min-height: 0;
    margin-top: 87px;
    border-radius: 10px;
    object-fit: cover;
  }

  body.structured-page--vacuum-casting-equipment [data-equipment-delivery-contents] .cms-text-media__content > p:first-of-type {
    margin-top: 64px;
  }

  body.structured-page--vacuum-casting-equipment [data-equipment-delivery-contents] {
    align-items: stretch;
  }

  body.structured-page--vacuum-casting-equipment [data-equipment-delivery-contents] .cms-text-media__image {
    align-self: stretch;
    height: auto;
    min-height: 0;
    margin-top: 112px;
  }
}

@media (max-width:520px) {
  [data-equipment-delivery-contents] {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(56 * 100vw / 375);
    padding-block: calc(72 * 100vw / 375);
  }
  [data-equipment-delivery-contents] h2 {
    margin: 0;
    color: #17314d;
    font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    font-size: calc(24 * 100vw / 375) !important;
    font-weight: 700 !important;
    line-height: calc(30 * 100vw / 375) !important;
    letter-spacing: calc(-1.2 * 100vw / 375) !important;
    text-transform: uppercase;
  }
  [data-equipment-delivery-contents] .cms-text-media__content > p:first-of-type {
    margin-top: calc(12 * 100vw / 375);
  }
  [data-equipment-delivery-contents] .cms-text-media__content > p,
  [data-equipment-delivery-contents] .cms-text-media__content > li,
  [data-equipment-delivery-contents] .cms-text-media__content > ul li {
    margin: 0;
    color: #17314d;
    font-family: Inter, Arial, sans-serif;
    font-size: calc(13 * 100vw / 375);
    font-weight: 500;
    line-height: calc(18 * 100vw / 375);
    letter-spacing: calc(-.13 * 100vw / 375);
  }
  [data-equipment-delivery-contents] .cms-text-media__content > p:first-of-type { margin-bottom: calc(36 * 100vw / 375); }
  [data-equipment-delivery-contents] .cms-text-media__content > ul {
    margin: 0;
    padding-left: calc(20 * 100vw / 375);
  }
  [data-equipment-delivery-contents] .cms-text-media__content > ul + p { margin-top: calc(36 * 100vw / 375); }
  [data-equipment-delivery-contents] .cms-text-media__image {
    order: 2;
    width: 100%;
    height: calc(225 * 100vw / 375);
    min-height: 0;
    border-radius: calc(10 * 100vw / 375);
    object-fit: cover;
  }
}

/* Equipment detail: installation, commissioning and support carousel. */
[data-equipment-installation-nav] button {
  position: relative;
}

[data-equipment-installation-nav] button img {
  display: none;
}

[data-equipment-installation-nav] button::before {
  width: 100%;
  height: 100%;
  content: "";
  background-color: #8d949c;
  mask: url("/static/img/equipment-installation-arrow.4ae6ce9b8a3e.svg") center / contain no-repeat;
  -webkit-mask: url("/static/img/equipment-installation-arrow.4ae6ce9b8a3e.svg") center / contain no-repeat;
}

[data-equipment-installation-nav] button:first-child::before {
  transform: rotate(180deg);
}

[data-equipment-installation-nav] button.is-active::before {
  background-color: #004084;
}

[data-equipment-installation-nav] button:disabled {
  cursor: default;
}

@media (min-width:1101px) {
  /* Desktop equipment: installation, commissioning and support, Figma 1255:7564. */
  [data-equipment-installation] {
    position: relative;
    box-sizing: border-box;
    display: block;
    padding: 112px 0;
  }

  [data-equipment-installation] h2 {
    max-width: 987px;
    margin: 0;
    color: #17314d;
    font: 600 40px/48px "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    letter-spacing: -2px;
    text-transform: uppercase;
  }

  [data-equipment-installation-description] {
    width: 622px;
    margin: 23px 0 0;
    color: #17314d;
    font: 500 16px/19px Inter, Arial, sans-serif;
    letter-spacing: -.16px;
  }

  [data-equipment-installation-nav] {
    position: absolute;
    top: 237px;
    right: 0;
    display: flex;
    gap: 24px;
  }

  [data-equipment-installation-nav] button {
    display: grid;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    place-items: center;
  }

  [data-equipment-installation-nav] img {
    width: 32px;
    height: 32px;
  }

  [data-equipment-installation-nav] button:first-child img {
    transform: rotate(180deg);
  }

  [data-equipment-installation] .cms-card-grid__items {
    display: flex;
    gap: 24px;
    margin-top: 80px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  [data-equipment-installation] .cms-card-grid__items::-webkit-scrollbar {
    display: none;
  }

  [data-equipment-installation] .cms-card {
    box-sizing: border-box;
    flex: 0 0 384px;
    width: 384px;
    min-height: 440px;
    height: 440px;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 1px 1px 15px rgb(0 0 0 / 10%);
    scroll-snap-align: start;
  }

  [data-equipment-installation] .cms-card img {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    border-radius: 10px;
    object-fit: cover;
  }

  [data-equipment-installation] .cms-card:first-child img,
  [data-equipment-installation] .cms-card:nth-child(4) img {
    object-position: 19% 100%;
  }

  [data-equipment-installation] .cms-card:nth-child(3) img {
    object-position: 66% 100%;
  }

  [data-equipment-installation] .cms-card::after {
    z-index: 0;
    display: block;
    background: linear-gradient(1.5deg, rgb(0 0 0 / 40%) 41.49%, transparent 98.57%);
  }

  [data-equipment-installation] .cms-card:nth-child(2)::after {
    background: linear-gradient(0deg, rgb(0 0 0 / 70%) 29.28%, transparent 99.93%);
  }

  [data-equipment-installation] .cms-card:nth-child(3)::after {
    background: linear-gradient(0deg, rgb(0 0 0 / 80%) 25.63%, transparent 99.74%);
  }

  [data-equipment-installation] .cms-card h3,
  [data-equipment-installation] .cms-card p {
    position: absolute;
    z-index: 1;
    right: 24px;
    left: 24px;
    margin: 0;
    color: #fff;
  }

  [data-equipment-installation] .cms-card h3 {
    top: 258px;
    font: 600 20px/normal Inter, Arial, sans-serif;
    text-transform: uppercase;
  }

  [data-equipment-installation] .cms-card p {
    top: 298px;
    font: 400 14px/normal Inter, Arial, sans-serif;
  }

  [data-equipment-installation] .cms-card:first-child p,
  [data-equipment-installation] .cms-card:nth-child(4) p {
    top: 322px;
  }

  [data-equipment-installation] .cms-card__link {
    position: absolute;
    z-index: 1;
    right: 24px;
    left: auto;
    bottom: 24px;
    display: inline-grid;
    width: 156px;
    height: 44px;
    min-height: 0;
    padding: 0;
    border: 1px solid #fff;
    border-radius: 30px;
    color: #fff;
    font: 500 12px/16px "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    text-transform: uppercase;
    place-items: center;
  }
}

@media (max-width:520px) {
  [data-equipment-installation] {
    display: block;
    padding-block: calc(72 * 100vw / 375);
  }
  [data-equipment-installation] h2 {
    margin: 0;
    color: #17314d;
    font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    font-size: calc(24 * 100vw / 375) !important;
    font-weight: 700 !important;
    line-height: calc(30 * 100vw / 375) !important;
    letter-spacing: calc(-1.2 * 100vw / 375) !important;
    text-transform: uppercase;
  }
  [data-equipment-installation-description] {
    margin: calc(12 * 100vw / 375) 0 0;
    color: #17314d;
    font-family: Inter, Arial, sans-serif;
    font-size: calc(13 * 100vw / 375);
    font-weight: 500;
    line-height: calc(18 * 100vw / 375);
    letter-spacing: calc(-.13 * 100vw / 375);
  }
  [data-equipment-installation-nav] {
    display: flex;
    width: max-content;
    gap: calc(16 * 100vw / 375);
    margin-top: calc(24 * 100vw / 375);
    margin-left: auto;
  }
  [data-equipment-installation-nav] button {
    display: grid;
    width: calc(24 * 100vw / 375);
    height: calc(24 * 100vw / 375);
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    place-items: center;
  }
  [data-equipment-installation-nav] img { width: 100%; height: 100%; }
  [data-equipment-installation-nav] button:first-child img { transform: rotate(180deg); }
  [data-equipment-installation] .cms-card-grid__items {
    box-sizing: border-box;
    display: flex;
    width: calc(100vw - 16px);
    margin-top: calc(32 * 100vw / 375);
    padding: 0 calc(16 * 100vw / 375) 0 0;
    gap: calc(8 * 100vw / 375);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  [data-equipment-installation] .cms-card-grid__items::-webkit-scrollbar { display: none; }
  [data-equipment-installation] .cms-card {
    flex: 0 0 calc(255 * 100vw / 375);
    width: calc(255 * 100vw / 375);
    min-height: calc(310 * 100vw / 375);
    height: calc(310 * 100vw / 375);
    overflow: hidden;
    border-radius: calc(10 * 100vw / 375);
    box-shadow: 1px 1px 15px rgb(0 0 0 / 10%);
    scroll-snap-align: start;
  }
  [data-equipment-installation] .cms-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
  }
  [data-equipment-installation] .cms-card:first-child img {
    top: calc(-93 * 100vw / 375);
    left: calc(-104 * 100vw / 375);
    width: calc(602 * 100vw / 375);
    height: calc(403 * 100vw / 375);
    max-width: none;
  }
  [data-equipment-installation] .cms-card::after {
    z-index: 0;
    background: linear-gradient(1.59deg, rgb(0 0 0 / 40%) 41.49%, transparent 98.57%);
  }
  [data-equipment-installation] .cms-card:nth-child(2)::after {
    background: linear-gradient(0deg, rgb(0 0 0 / 70%) 29.28%, transparent 99.93%);
  }
  [data-equipment-installation] .cms-card h3,
  [data-equipment-installation] .cms-card p {
    position: absolute;
    bottom: auto;
    right: auto;
    left: calc(24 * 100vw / 375);
    z-index: 1;
    margin: 0;
    color: #fff;
  }
  [data-equipment-installation] .cms-card h3 {
    top: calc(155 * 100vw / 375);
    width: calc(168 * 100vw / 375);
    font-family: Inter, Arial, sans-serif;
    font-size: calc(14 * 100vw / 375);
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
  }
  [data-equipment-installation] .cms-card p {
    top: calc(201 * 100vw / 375);
    width: calc(207 * 100vw / 375);
    font-family: Inter, Arial, sans-serif;
    font-size: calc(10 * 100vw / 375);
    font-weight: 400;
    line-height: normal;
  }
  [data-equipment-installation] .cms-card:nth-child(2) p {
    top: calc(184 * 100vw / 375);
    width: calc(164 * 100vw / 375);
  }
  [data-equipment-installation] .cms-card__link {
    display: grid;
    width: calc(100 * 100vw / 375);
    height: calc(34 * 100vw / 375);
    min-height: 0;
    right: calc(24 * 100vw / 375);
    bottom: calc(24 * 100vw / 375);
    left: auto;
    padding: 0;
    border: 1px solid #fff;
    border-radius: calc(30 * 100vw / 375);
    color: #fff;
    font-size: calc(10 * 100vw / 375);
    font-weight: 500;
    line-height: calc(16 * 100vw / 375);
    place-items: center;
  }
}

@media (max-width:520px) {
  [data-equipment-projects] { width:100%; padding:calc(72 * 100vw / 375) 0; background:#f5f6f7; }
  [data-equipment-projects-head] { width:calc(100vw - 32px); margin:auto; }
  [data-equipment-projects] h2 { margin:0; color:#17314d; font-family:"Roboto Condensed","Arial Narrow",Arial,sans-serif; font-size:calc(24 * 100vw / 375)!important; font-weight:700!important; line-height:calc(30 * 100vw / 375)!important; letter-spacing:calc(-1.2 * 100vw / 375)!important; text-transform:uppercase; }
  [data-equipment-projects-head] > div:first-child > p { width:calc(285 * 100vw / 375); margin:calc(12 * 100vw / 375) 0 0; color:#585e65; font:500 calc(13 * 100vw / 375)/calc(18 * 100vw / 375) Inter,Arial,sans-serif; letter-spacing:calc(-.13 * 100vw / 375); }
  [data-equipment-projects-nav] { display:flex; width:max-content; gap:calc(16 * 100vw / 375); margin-top:calc(12 * 100vw / 375); margin-left:auto; }
  [data-equipment-projects-nav] button { display:grid; width:calc(24 * 100vw / 375); height:calc(24 * 100vw / 375); padding:0; border:0; background:transparent; place-items:center; }
  [data-equipment-projects-nav] img { width:100%; height:100%; } [data-equipment-projects-nav] button:first-child img { transform:rotate(180deg); }
  [data-equipment-projects-track] { box-sizing:border-box; display:flex; width:calc(100vw - 16px); margin-top:calc(32 * 100vw / 375); margin-left:calc(16 * 100vw / 375); padding-right:calc(16 * 100vw / 375); gap:calc(8 * 100vw / 375); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  [data-equipment-projects-track]::-webkit-scrollbar { display:none; }
  [data-equipment-projects-track] article { position:relative; display:flex; flex:0 0 calc(285 * 100vw / 375); width:calc(285 * 100vw / 375); height:calc(318 * 100vw / 375); overflow:hidden; border:1px solid #f1f3f6; border-radius:calc(10 * 100vw / 375); background:#fff; box-shadow:1px 1px 15px rgb(0 0 0 / 5%); scroll-snap-align:start; flex-direction:column; }
  [data-equipment-projects-track] article > img { width:calc(284 * 100vw / 375); height:calc(152 * 100vw / 375); object-fit:cover; }
  [data-equipment-projects-track] article > div { box-sizing:border-box; display:flex; flex:1; flex-direction:column; padding:calc(8 * 100vw / 375) calc(12 * 100vw / 375) calc(12 * 100vw / 375); }
  [data-equipment-projects-track] span { display:inline-flex; width:max-content; height:calc(16 * 100vw / 375); align-items:center; padding-inline:calc(4 * 100vw / 375); background:#f1f3f6; color:#596470; font:500 calc(8 * 100vw / 375)/calc(10 * 100vw / 375) "Roboto Condensed",Arial,sans-serif; text-transform:uppercase; }
  [data-equipment-projects-track] h3 { min-height:calc(36 * 100vw / 375); margin:calc(8 * 100vw / 375) 0 0; color:#17314d; font:600 calc(14 * 100vw / 375)/calc(18 * 100vw / 375) Inter,Arial,sans-serif; letter-spacing:calc(-.28 * 100vw / 375); }
  [data-equipment-projects-track] h3 + p { min-height:calc(42 * 100vw / 375); margin:calc(8 * 100vw / 375) 0 0; color:#17314d; font:400 calc(11 * 100vw / 375)/calc(14 * 100vw / 375) Inter,Arial,sans-serif; }
  [data-equipment-projects-track] a { display:inline-flex; width:max-content; align-items:center; gap:calc(4 * 100vw / 375); margin-top:auto; color:#004084; font:500 calc(10 * 100vw / 375)/calc(12 * 100vw / 375) "Roboto Condensed",Arial,sans-serif; text-decoration:none; text-transform:uppercase; }
  [data-equipment-projects-track] a img { display:block; flex:0 0 calc(12 * 100vw / 375); width:calc(12 * 100vw / 375); height:calc(12 * 100vw / 375); transform:scale(1.15); }
}

@media (min-width:1101px) {
  /* Desktop equipment: projects inherited from the home-page projects block. */
  [data-equipment-projects] {
    position: relative;
    width: var(--zmz-shell);
    padding: 112px 0;
    background: #f5f6f7;
    box-shadow: 0 0 0 100vmax #f5f6f7;
    clip-path: inset(0 -100vmax);
  }

  [data-equipment-projects-head] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }

  [data-equipment-projects] h2 {
    margin: 0;
    color: #17314d;
    font: 700 40px/48px "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    letter-spacing: -.4px;
    text-transform: uppercase;
  }

  [data-equipment-projects-head] > div:first-child > p {
    width: 456px;
    margin: 24px 0 0;
    color: #17314d;
    font: 400 14px/normal Inter, Arial, sans-serif;
  }

  [data-equipment-projects-nav] {
    display: flex;
    gap: 24px;
    margin-top: 71px;
  }

  [data-equipment-projects-nav] button {
    display: grid;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    place-items: center;
  }

  [data-equipment-projects-nav] img {
    width: 32px;
    height: 32px;
  }

  [data-equipment-projects-nav] button:first-child img {
    transform: rotate(180deg);
  }

  [data-equipment-projects-track] {
    display: flex;
    gap: 32px;
    margin-top: 40px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  [data-equipment-projects-track]::-webkit-scrollbar {
    display: none;
  }

  [data-equipment-projects-track] article {
    box-sizing: border-box;
    display: flex;
    flex: 0 0 584px;
    width: 584px;
    height: 550px;
    overflow: hidden;
    border: 1px solid #e6ebf0;
    border-radius: 20px;
    background: #fff;
    box-shadow: 1px 1px 15px rgb(0 0 0 / 5%);
    scroll-snap-align: start;
    flex-direction: column;
  }

  [data-equipment-projects-track] article > img {
    display: block;
    width: 584px;
    height: 300px;
    border-radius: 5px 5px 0 0;
    object-fit: cover;
  }

  [data-equipment-projects-track] article:nth-child(2) > img {
    object-position: center 21%;
  }

  [data-equipment-projects-track] article > div {
    box-sizing: border-box;
    position: relative;
    display: block;
    flex: 1;
    padding: 23px;
  }

  [data-equipment-projects-track] span {
    position: absolute;
    top: 23px;
    left: 23px;
    display: inline-flex;
    width: max-content;
    height: 30px;
    align-items: center;
    padding-inline: 8px;
    background: #f1f3f6;
    color: #596470;
    box-shadow: 1px 1px 7.5px rgb(0 0 0 / 5%);
    font: 500 12px/16px "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    text-transform: uppercase;
  }

  [data-equipment-projects-track] h3 {
    position: absolute;
    top: 69px;
    right: 23px;
    left: 23px;
    margin: 0;
    color: #17314d;
    font: 600 20px/24px Inter, Arial, sans-serif;
    letter-spacing: -.4px;
  }

  [data-equipment-projects-track] h3 + p {
    position: absolute;
    right: 23px;
    bottom: 78px;
    left: 23px;
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: #17314d;
    font: 400 16px/20px Inter, Arial, sans-serif;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }

  [data-equipment-projects-track] a {
    position: absolute;
    bottom: 23px;
    left: 23px;
    display: inline-flex;
    width: max-content;
    height: 24px;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #17314d;
    font: 500 14px/24px "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    text-decoration: none;
    text-transform: uppercase;
  }

  [data-equipment-projects-track] a img {
    display: block;
    width: 24px;
    height: 24px;
  }
}

[data-equipment-projects-nav] button {
  position: relative;
}

[data-equipment-projects-nav] button img {
  display: none;
}

[data-equipment-projects-nav] button::before {
  width: 100%;
  height: 100%;
  content: "";
  background-color: #8d949c;
  mask: url("/static/img/equipment-project-arrow.4ae6ce9b8a3e.svg") center / contain no-repeat;
  -webkit-mask: url("/static/img/equipment-project-arrow.4ae6ce9b8a3e.svg") center / contain no-repeat;
}

[data-equipment-projects-nav] button:first-child::before {
  transform: rotate(180deg);
}

[data-equipment-projects-nav] button.is-active::before {
  background-color: #004084;
}

[data-equipment-projects-nav] button:disabled {
  cursor: default;
}

@media (max-width:520px) {
  .equipment-faq-mobile { display:block; padding-block:calc(72 * 100vw / 375); }
  .equipment-faq-mobile__intro { display:flex; flex-direction:column; gap:calc(24 * 100vw / 375); }
  .equipment-faq-mobile h2 { margin:0; color:#17314d; font:700 calc(24 * 100vw / 375)/calc(30 * 100vw / 375) "Roboto Condensed",Arial,sans-serif; letter-spacing:calc(-1.2 * 100vw / 375); text-transform:uppercase; }
  .equipment-faq-mobile__intro p { margin:calc(-12 * 100vw / 375) 0 0; color:#000; font:500 calc(13 * 100vw / 375)/calc(18 * 100vw / 375) Inter,Arial,sans-serif; letter-spacing:calc(-.13 * 100vw / 375); }
  .equipment-faq-mobile__intro > a { display:grid; height:calc(44 * 100vw / 375); border-radius:calc(30 * 100vw / 375); background:#004084; color:#fff; font:500 calc(12 * 100vw / 375)/calc(16 * 100vw / 375) "Roboto Condensed",Arial,sans-serif; text-decoration:none; text-transform:uppercase; place-items:center; }
  .equipment-faq-mobile__list { margin-top:calc(40 * 100vw / 375); }
  .equipment-faq-mobile details { border-bottom:1px solid #8d949c; }
  .equipment-faq-mobile summary { display:grid; grid-template-columns:minmax(0,1fr) calc(24 * 100vw / 375); gap:calc(12 * 100vw / 375); align-items:center; padding:calc(12 * 100vw / 375) calc(12 * 100vw / 375) calc(12 * 100vw / 375) 0; color:#17314d; font:500 calc(14 * 100vw / 375)/calc(16 * 100vw / 375) "Roboto Condensed",Arial,sans-serif; letter-spacing:calc(-.14 * 100vw / 375); list-style:none; cursor:pointer; }
  .equipment-faq-mobile summary::-webkit-details-marker { display:none; }
  .equipment-faq-mobile summary i { display:grid; width:calc(24 * 100vw / 375); height:calc(24 * 100vw / 375); border:1px solid #17314d; border-radius:50%; place-items:center; }
  .equipment-faq-mobile summary img { width:calc(13 * 100vw / 375); height:calc(13 * 100vw / 375); }
  .equipment-faq-mobile details[open] summary img { transform:rotate(180deg); }
  .equipment-faq-mobile details > div { margin:calc(16 * 100vw / 375) calc(48 * 100vw / 375) calc(24 * 100vw / 375) 0; color:#17314d; font:400 calc(12 * 100vw / 375)/calc(16 * 100vw / 375) Inter,Arial,sans-serif; }
  .equipment-faq-mobile details > div p { margin:0; }
}

/* Equipment FAQ — final mobile composition from Figma. */
@media (max-width:520px) {
  [data-equipment-faq] { display:block !important; padding-block:calc(72 * 100vw / 375) !important; }
  [data-equipment-faq] h2 { margin:0 !important; color:#17314d !important; font-family:"Roboto Condensed","Arial Narrow",Arial,sans-serif !important; font-size:calc(24 * 100vw / 375) !important; font-weight:700 !important; line-height:calc(30 * 100vw / 375) !important; letter-spacing:calc(-1.2 * 100vw / 375) !important; text-transform:uppercase; }
  [data-equipment-faq-description] { margin:calc(12 * 100vw / 375) 0 0 !important; color:#000 !important; font:500 calc(13 * 100vw / 375)/calc(18 * 100vw / 375) Inter,Arial,sans-serif !important; letter-spacing:calc(-.13 * 100vw / 375); }
  [data-equipment-faq-button] { display:grid !important; height:calc(44 * 100vw / 375) !important; margin-top:calc(24 * 100vw / 375) !important; border-radius:calc(30 * 100vw / 375); background:#004084; color:#fff !important; font:500 calc(12 * 100vw / 375)/calc(16 * 100vw / 375) "Roboto Condensed",Arial,sans-serif; text-decoration:none; text-transform:uppercase; place-items:center; }
  [data-equipment-faq] .cms-faq-item { position:relative !important; display:block !important; box-sizing:border-box; margin:0 !important; padding:calc(13 * 100vw / 375) calc(48 * 100vw / 375) calc(13 * 100vw / 375) 0 !important; border:0 !important; border-bottom:1px solid #8d949c !important; }
  [data-equipment-faq] .cms-faq-item:first-of-type { margin-top:calc(40 * 100vw / 375) !important; }
  [data-equipment-faq] summary { position:relative; display:block; margin:0; padding:0; color:#17314d; font:500 calc(14 * 100vw / 375)/calc(16 * 100vw / 375) "Roboto Condensed",Arial,sans-serif; letter-spacing:calc(-.14 * 100vw / 375); list-style:none; cursor:pointer; }
  [data-equipment-faq] summary::-webkit-details-marker { display:none; }
  [data-equipment-faq] summary::after { content:""; position:absolute; top:50%; right:calc(-36 * 100vw / 375); width:calc(24 * 100vw / 375); height:calc(24 * 100vw / 375); border:1px solid #17314d; border-radius:50%; background:center / calc(13 * 100vw / 375) calc(13 * 100vw / 375) no-repeat url("/static/img/equipment-faq-arrow.1b13737f8dc8.svg"); transform:translateY(-50%); }
  [data-equipment-faq] details[open] summary::after { transform:translateY(-50%) rotate(180deg); }
  [data-equipment-faq] details > div { margin:calc(16 * 100vw / 375) 0 0 !important; color:#17314d; font:400 calc(12 * 100vw / 375)/calc(16 * 100vw / 375) Inter,Arial,sans-serif; }
  [data-equipment-faq] details > div p { margin:0 !important; }
  /* Same metrics as /services/: 12px vertical padding, natural row height. */
  [data-equipment-faq] .cms-faq-item,
  [data-equipment-faq] .cms-faq-item~.cms-faq-item { height:auto !important; min-height:0 !important; padding-top:calc(12 * 100vw / 375) !important; padding-bottom:calc(12 * 100vw / 375) !important; }
  [data-equipment-faq] summary::after { top:0 !important; transform:none !important; }
  [data-equipment-faq] details[open] summary::after { transform:rotate(180deg) !important; }
}

/* Must follow legacy FAQ rules. */
@media (max-width:520px) {
  [data-equipment-faq] { display:block !important; padding-block:calc(72 * 100vw / 375) !important; }
  [data-equipment-faq] h2 { margin:0 !important; font-size:calc(24 * 100vw / 375) !important; line-height:calc(30 * 100vw / 375) !important; }
  [data-equipment-faq-description] { margin:calc(12 * 100vw / 375) 0 0 !important; font-size:calc(13 * 100vw / 375) !important; line-height:calc(18 * 100vw / 375) !important; }
  [data-equipment-faq-button] { display:grid !important; height:calc(44 * 100vw / 375) !important; margin-top:calc(24 * 100vw / 375) !important; place-items:center; }
  [data-equipment-faq] .cms-faq-item { position:relative !important; display:block !important; margin:calc(40 * 100vw / 375) 0 0 !important; padding:calc(12 * 100vw / 375) calc(48 * 100vw / 375) calc(12 * 100vw / 375) 0 !important; border:0 !important; border-bottom:1px solid #8d949c !important; }
  [data-equipment-faq] .cms-faq-item~.cms-faq-item { min-height:calc(42 * 100vw / 375) !important; margin-top:0 !important; }
  [data-equipment-faq] summary { font-size:calc(14 * 100vw / 375) !important; line-height:calc(16 * 100vw / 375) !important; }
  [data-equipment-faq] summary::after { content:"" !important; top:calc(12 * 100vw / 375) !important; right:calc(12 * 100vw / 375) !important; width:calc(24 * 100vw / 375) !important; height:calc(24 * 100vw / 375) !important; border:1px solid #17314d !important; border-radius:50%; background:center / calc(13 * 100vw / 375) calc(13 * 100vw / 375) no-repeat url("/static/img/equipment-faq-arrow.1b13737f8dc8.svg"); }
  [data-equipment-faq-button] { color:#fff !important; }
  [data-equipment-faq] summary { position:relative; display:block; padding:0; color:#17314d; font-family:"Roboto Condensed","Arial Narrow",Arial,sans-serif; font-size:calc(14 * 100vw / 375) !important; font-weight:500; line-height:calc(16 * 100vw / 375) !important; }
  [data-equipment-faq] summary::after { top:50% !important; right:calc(-36 * 100vw / 375) !important; transform:translateY(-50%); }
  [data-equipment-faq] details[open] summary::after { transform:translateY(-50%) rotate(180deg); }
  [data-equipment-faq] .cms-faq-item { box-sizing:border-box; height:auto !important; min-height:0 !important; padding-top:calc(13 * 100vw / 375) !important; padding-bottom:calc(13 * 100vw / 375) !important; }
  [data-equipment-faq] .cms-faq-item~.cms-faq-item { height:auto !important; min-height:0 !important; padding-top:calc(13 * 100vw / 375) !important; padding-bottom:calc(13 * 100vw / 375) !important; }
  [data-equipment-faq] details > div p { margin:0 !important; }
}

/* Final desktop article geometry: the title uses the full 1200px grid. */
@media (min-width: 1101px) {
  .blog-article.blog-article .cms-detail__hero > h1 {
    width: 1200px !important;
    max-width: 1200px !important;
    font-size: 40px !important;
    font-weight: 600 !important;
    line-height: 48px !important;
  }
}

/* Shared useful-articles carousel for article pages. */
@media (min-width: 1101px) {
  .article-useful { padding:112px 0 112px; background:#fff; }
  .article-useful__header { display:flex; align-items:flex-end; justify-content:space-between; }
  .article-useful h2 { margin:0; color:#17314d; font:700 24px/30px "Roboto Condensed", "Arial Narrow", Arial, sans-serif; letter-spacing:-.24px; text-transform:uppercase; }
  .article-useful__header > div:first-child > p { width:584px; margin:24px 0 0; color:#585e65; font:500 16px/18px Inter, Arial, sans-serif; }
  .article-useful__nav { display:flex; gap:24px; margin-bottom:1px; transform:translateY(48px); }
  .article-useful__nav button { width:32px; height:32px; padding:0; border:0; background:#8d949c; cursor:pointer; mask:center / 32px 32px no-repeat url("../img/equipment-project-arrow.4ae6ce9b8a3e.svg"); -webkit-mask:center / 32px 32px no-repeat url("../img/equipment-project-arrow.4ae6ce9b8a3e.svg"); }
  .article-useful__nav button[data-dir="prev"] { transform:rotate(180deg); }
  .article-useful__nav button:not(:disabled) { background-color:#004084; }
  .article-useful__nav button:disabled { opacity:1; cursor:default; }
  .article-useful__viewport { width:1200px; margin:80px auto 0; overflow:hidden; }
  .article-useful__track { display:flex; gap:32px; overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory; scroll-padding-left:0; scrollbar-width:none; }
  .article-useful__track::-webkit-scrollbar { display:none; }
  .article-useful__card { display:flex; flex:0 0 379px; width:379px; height:414px; flex-direction:column; scroll-snap-align:start; scroll-snap-stop:always; }
  .article-useful__image { display:block; width:379px; height:232px; overflow:hidden; border-radius:5px; background:#f5f6f7; }
  .article-useful__image img { display:block; width:100%; height:100%; object-fit:cover; }
  .article-useful__category { margin:16px 0 0; color:#596470; font:500 12px/16px "Roboto Condensed", "Arial Narrow", Arial, sans-serif; text-transform:uppercase; }
  .article-useful h3 { display:-webkit-box; overflow:hidden; margin:8px 0 0; color:#17314d; font:600 20px/24px Inter, Arial, sans-serif; letter-spacing:-.4px; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .article-useful h3 a { color:inherit; text-decoration:none; }
  .article-useful__lead { display:-webkit-box; overflow:hidden; margin:12px 0 0; color:#17314d; font:400 16px/20px Inter, Arial, sans-serif; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .article-useful__meta { display:flex; align-items:center; gap:20px; margin:auto 0 0; color:#8d949c; font:500 14px/18px Inter, Arial, sans-serif; }
  .article-useful__meta span { display:inline-flex; align-items:center; gap:8px; }
  .article-useful__meta b { display:block; width:18px; height:18px; background:center / 18px 18px no-repeat url("../img/blog-reading-eye.d076bda4b730.svg"); }
}

@media (max-width: 1100px) {
  /* Mobile article footer carousel — Figma 624:837. It intentionally uses
     the same article data and scrolling controller as the desktop carousel. */
  .article-useful { display:block; overflow:hidden; padding:calc(100 * 100vw / 375) 0 calc(112 * 100vw / 375); background:#fff; }
  .article-useful__header { display:block; width:calc(100% - (32 * 100vw / 375)); margin:0 auto; }
  .article-useful h2 { margin:0; color:#17314d; font:700 calc(24 * 100vw / 375)/calc(30 * 100vw / 375) "Roboto Condensed", "Arial Narrow", Arial, sans-serif; letter-spacing:calc(-1.2 * 100vw / 375); text-transform:uppercase; }
  .article-useful__header > div:first-child > p { width:100%; margin:calc(12 * 100vw / 375) 0 0; color:#585e65; font:500 calc(13 * 100vw / 375)/calc(16 * 100vw / 375) Inter, Arial, sans-serif; }
  .article-useful__nav { display:flex; width:calc(64 * 100vw / 375); height:calc(24 * 100vw / 375); gap:calc(16 * 100vw / 375); margin:calc(24 * 100vw / 375) 0 0 auto; }
  .article-useful__nav button { display:grid; width:calc(24 * 100vw / 375); height:calc(24 * 100vw / 375); padding:0; border:0; background:transparent; color:#17314d; cursor:pointer; place-items:center; }
  .article-useful__nav button:not(:disabled) { color:#004084; opacity:1; }
  .article-useful__nav button:disabled { color:#17314d; opacity:.3; cursor:default; }
  .article-useful__arrow { display:block; width:100%; height:100%; background:currentColor; -webkit-mask:url("/static/img/projects-carousel-arrow.9d571c403319.svg") center / 100% 100% no-repeat; mask:url("/static/img/projects-carousel-arrow.9d571c403319.svg") center / 100% 100% no-repeat; }
  .article-useful__arrow--next { transform:rotate(180deg); }
  .article-useful__viewport { width:100vw; margin:calc(40 * 100vw / 375) 0 0; overflow:visible; }
  .article-useful__track { display:flex; gap:calc(16 * 100vw / 375); box-sizing:border-box; padding:0 calc(16 * 100vw / 375); overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory; scroll-padding-left:calc(16 * 100vw / 375); scrollbar-width:none; }
  .article-useful__track::-webkit-scrollbar { display:none; }
  .article-useful__card { display:flex; flex:0 0 calc(285 * 100vw / 375); width:calc(285 * 100vw / 375); height:calc(335 * 100vw / 375); flex-direction:column; scroll-snap-align:start; scroll-snap-stop:always; }
  .article-useful__image { display:block; width:100%; height:calc(213 * 100vw / 375); overflow:hidden; border-radius:calc(5 * 100vw / 375); background:#f5f6f7; }
  .article-useful__image img { display:block; width:100%; height:100%; object-fit:cover; }
  .article-useful__category { margin:calc(8 * 100vw / 375) 0 0; color:#596470; font:500 calc(8 * 100vw / 375)/calc(10 * 100vw / 375) "Roboto Condensed", "Arial Narrow", Arial, sans-serif; text-transform:uppercase; }
  .article-useful h3 { display:-webkit-box; overflow:hidden; margin:calc(8 * 100vw / 375) 0 0; color:#17314d; font:600 calc(14 * 100vw / 375)/calc(18 * 100vw / 375) Inter, Arial, sans-serif; letter-spacing:calc(-.28 * 100vw / 375); -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .article-useful h3 a { color:inherit; text-decoration:none; }
  .article-useful__lead { display:-webkit-box; width:calc(249 * 100vw / 375); overflow:hidden; margin:calc(8 * 100vw / 375) 0 0; color:#17314d; font:400 calc(11 * 100vw / 375)/calc(14 * 100vw / 375) Inter, Arial, sans-serif; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .article-useful__meta { display:flex; align-items:center; gap:calc(16 * 100vw / 375); margin:auto 0 0; color:#8d949c; font:500 calc(10 * 100vw / 375)/calc(12 * 100vw / 375) Inter, Arial, sans-serif; }
  .article-useful__meta span { display:inline-flex; align-items:center; gap:calc(4 * 100vw / 375); }
  .article-useful__meta b { display:block; width:calc(12 * 100vw / 375); height:calc(12 * 100vw / 375); background:center / 100% 100% no-repeat url("../img/blog-reading-eye.d076bda4b730.svg"); }
}

/* Blog article — mobile composition from Figma node 624:790.
   The article body remains fully CMS-driven. */
@media (max-width:520px) {
  .blog-article .cms-detail__hero {
    padding:calc(74 * 100vw / 375) 0 0;
    text-align:left;
  }
  .blog-article .cms-breadcrumb {
    width:calc(100% - (32 * 100vw / 375));
    margin:0 auto;
    color:#596470;
    font:500 calc(13 * 100vw / 375)/calc(16 * 100vw / 375) Inter,Arial,sans-serif;
  }
  .blog-article .cms-breadcrumb a { color:#596470; text-decoration:none; }
  .blog-article .cms-breadcrumb span { color:#8d949c; }
  .blog-article .cms-detail__hero > h1 {
    width:calc(100% - (32 * 100vw / 375));
    max-width:none;
    margin:calc(12 * 100vw / 375) auto 0;
    color:#17314d;
    font:600 calc(22 * 100vw / 375)/calc(30 * 100vw / 375) Inter,Arial,sans-serif;
    letter-spacing:calc(-.22 * 100vw / 375);
    text-align:center;
  }
  .blog-article .cms-detail__hero > .blog-article__reading-meta {
    width:calc(100% - (32 * 100vw / 375));
    justify-content:flex-start;
    gap:calc(4 * 100vw / 375);
    margin:calc(12 * 100vw / 375) auto 0;
    color:#8d949c;
    font:500 calc(13 * 100vw / 375)/calc(18 * 100vw / 375) Inter,Arial,sans-serif;
  }
  .blog-article .blog-article__eye {
    width:calc(18 * 100vw / 375);
    height:calc(18 * 100vw / 375);
    flex:0 0 calc(18 * 100vw / 375);
    background:center / 100% 100% no-repeat url("/static/img/blog-reading-eye.d076bda4b730.svg");
  }
  .blog-article .cms-detail__hero > .cms-detail__lead {
    width:calc(100% - (32 * 100vw / 375));
    max-width:none;
    margin:calc(24 * 100vw / 375) auto 0;
    color:#17314d;
    font:400 calc(13 * 100vw / 375)/calc(18 * 100vw / 375) Inter,Arial,sans-serif;
  }
  .blog-article .cms-detail__hero > .cms-detail__image {
    display:block;
    width:100%;
    height:calc(280 * 100vw / 375);
    max-height:none;
    margin:calc(40 * 100vw / 375) 0 0;
    object-fit:cover;
  }
  .blog-article .cms-detail__body {
    width:calc(100% - (32 * 100vw / 375));
    max-width:none;
    padding:calc(40 * 100vw / 375) 0 0;
  }
  .blog-article .cms-detail__body > * { width:100%; }
  .blog-article .cms-detail__body .cms-heading { margin:calc(24 * 100vw / 375) 0 0; }
  .blog-article .cms-detail__body .cms-heading:first-child { margin-top:0; }
  .blog-article .cms-detail__body h2,
  .blog-article .cms-detail__body h3 {
    margin:0;
    color:#17314d;
    font:600 calc(16 * 100vw / 375)/calc(20 * 100vw / 375) Inter,Arial,sans-serif;
    letter-spacing:calc(-.16 * 100vw / 375);
  }
  .blog-article .cms-detail__body .cms-heading + .cms-rich-content,
  .blog-article .cms-detail__body .cms-heading + .cms-list-block { margin-top:calc(12 * 100vw / 375); }
  .blog-article .cms-detail__body .cms-rich-content,
  .blog-article .cms-detail__body p,
  .blog-article .cms-detail__body li {
    color:#17314d;
    font:400 calc(13 * 100vw / 375)/calc(18 * 100vw / 375) Inter,Arial,sans-serif;
  }
  .blog-article .cms-detail__body .cms-rich-content { margin:0; padding:0; }
  .blog-article .cms-detail__body .cms-rich-content p { margin:0 0 calc(18 * 100vw / 375); }
  .blog-article .cms-detail__body .cms-rich-content p:last-child { margin-bottom:0; }
  .blog-article .cms-detail__body .cms-rich-content + .cms-heading,
  .blog-article .cms-detail__body .cms-list-block + .cms-heading { margin-top:calc(40 * 100vw / 375); }
  .blog-article .cms-detail__body .cms-list-block { margin:0; }
  .blog-article .cms-detail__body .cms-list-block ul,
  .blog-article .cms-detail__body .cms-list-block ol { margin:0; padding-left:calc(18 * 100vw / 375); }
  .blog-article .cms-detail__body .cms-list-block li { margin:0 0 calc(4 * 100vw / 375); padding-left:0; }
  .blog-article .cms-detail__body .cms-list-block li:last-child { margin-bottom:0; }
  .blog-article .cms-detail__body .cms-image {
    width:100%;
    margin:calc(56 * 100vw / 375) 0;
  }
  .blog-article .cms-detail__body .cms-image img {
    display:block;
    width:100%;
    height:calc(240 * 100vw / 375);
    object-fit:cover;
    filter:none !important;
    opacity:1 !important;
    mix-blend-mode:normal !important;
  }
  .blog-article__footer {
    width:calc(100% - (32 * 100vw / 375));
    margin:calc(56 * 100vw / 375) auto calc(44 * 100vw / 375);
  }
  .blog-article__footer-meta { display:flex; align-items:center; justify-content:space-between; }
  .blog-article__footer-meta time { color:#585e65; font:500 calc(10 * 100vw / 375)/calc(16 * 100vw / 375) Inter,Arial,sans-serif; }
  .blog-article__tags { display:flex; gap:calc(8 * 100vw / 375); justify-content:flex-end; }
  .blog-article__tags span { display:inline-flex; min-height:calc(16 * 100vw / 375); align-items:center; padding:0 calc(4 * 100vw / 375); background:#f1f3f6; color:#596470; font:500 calc(8 * 100vw / 375)/calc(10 * 100vw / 375) "Roboto Condensed","Arial Narrow",Arial,sans-serif; text-transform:uppercase; }
  .blog-article__footer-line { height:1px; margin-top:calc(24 * 100vw / 375); background:#8d949c; }
}

@media (max-width:520px) {
  .blog-article .cms-detail__hero > h1 { text-align:left !important; }
}

/* Project detail — mobile composition from Figma node 618:532.
   Content remains CMS-driven; these rules define the shared reading layout. */
@media (max-width:520px) {
  .cms-detail--project .cms-detail__hero { padding:calc(74 * 100vw / 375) 0 0; text-align:center; }
  .cms-detail--project .cms-breadcrumb { width:calc(100% - (32 * 100vw / 375)); margin:0 auto; color:#596470; font:500 calc(14 * 100vw / 375)/calc(16 * 100vw / 375) Inter,Arial,sans-serif; text-align:left; }
  .cms-detail--project .cms-breadcrumb span { color:#8d949c; }
  .cms-detail--project .cms-chip { display:block; width:max-content; height:calc(22 * 100vw / 375); margin:calc(40 * 100vw / 375) auto 0 calc(16 * 100vw / 375); padding:calc(5 * 100vw / 375) calc(6 * 100vw / 375); color:#596470; background:#f1f3f6; font:500 calc(10 * 100vw / 375)/calc(12 * 100vw / 375) "Roboto Condensed","Arial Narrow",Arial,sans-serif; text-transform:uppercase; }
  .cms-detail--project h1 { width:calc(100% - (32 * 100vw / 375)); max-width:none; margin:calc(16 * 100vw / 375) auto 0; color:#17314d; font:600 calc(22 * 100vw / 375)/calc(26 * 100vw / 375) Inter,Arial,sans-serif; letter-spacing:calc(-.22 * 100vw / 375); text-align:left; }
  .cms-detail--project .cms-detail__lead { width:calc(100% - (32 * 100vw / 375)); margin:calc(24 * 100vw / 375) auto 0; color:#17314d; font:400 calc(13 * 100vw / 375)/calc(18 * 100vw / 375) Inter,Arial,sans-serif; text-align:left; }
  .cms-detail--project .cms-detail__image { display:block; width:100%; height:calc(260 * 100vw / 375); max-height:none; margin:calc(40 * 100vw / 375) 0 0; object-fit:cover; }

  .cms-detail--project .cms-detail__body { width:calc(100% - (32 * 100vw / 375)); max-width:none; margin:0 auto; padding:calc(56 * 100vw / 375) 0 calc(112 * 100vw / 375); }
  .cms-detail--project .cms-detail__body > * { width:100%; margin-inline:0; }
  .cms-detail--project .cms-detail__body > .cms-heading { margin:calc(56 * 100vw / 375) 0 0; }
  .cms-detail--project .cms-detail__body > .cms-heading:first-child { margin-top:0; }
  .cms-detail--project .cms-detail__body h2 { margin:0; color:#17314d; font:600 calc(18 * 100vw / 375)/calc(22 * 100vw / 375) Inter,Arial,sans-serif; letter-spacing:calc(-.18 * 100vw / 375); }
  .cms-detail--project .cms-detail__body .cms-heading + .cms-rich-content { margin-top:calc(12 * 100vw / 375); }
  .cms-detail--project .cms-detail__body .cms-rich-content,
  .cms-detail--project .cms-detail__body .cms-rich-content p,
  .cms-detail--project .cms-detail__body .cms-rich-content li { color:#17314d; font:400 calc(13 * 100vw / 375)/calc(18 * 100vw / 375) Inter,Arial,sans-serif; }
  .cms-detail--project .cms-detail__body .cms-rich-content p { margin:0 0 calc(24 * 100vw / 375); }
  .cms-detail--project .cms-detail__body .cms-rich-content p:last-child { margin-bottom:0; }
  .cms-detail--project .cms-detail__body .cms-rich-content strong,
  .cms-detail--project .cms-detail__body .cms-rich-content b { font-weight:500; }
  .cms-detail--project .cms-detail__body .cms-rich-content ul,
  .cms-detail--project .cms-detail__body .cms-rich-content ol { margin:0; padding-left:calc(18 * 100vw / 375); }
  .cms-detail--project .cms-detail__body .cms-rich-content li { margin:0 0 calc(2 * 100vw / 375); padding-left:calc(2 * 100vw / 375); }
  .cms-detail--project .cms-detail__body .cms-rich-content li:last-child { margin-bottom:0; }
  .cms-detail--project .cms-detail__body h3,
  .cms-detail--project .cms-detail__body .cms-rich-content h3 { margin:calc(24 * 100vw / 375) 0 calc(12 * 100vw / 375); color:#17314d; font:600 calc(16 * 100vw / 375)/calc(20 * 100vw / 375) Inter,Arial,sans-serif; letter-spacing:calc(-.16 * 100vw / 375); }

  .cms-detail--project .cms-detail__body .cms-gallery { width:100%; margin:calc(56 * 100vw / 375) 0 0; }
  .cms-detail--project .cms-detail__body .cms-gallery__items { display:grid; grid-template-columns:1fr; gap:calc(16 * 100vw / 375); margin:0; }
  .cms-detail--project .cms-detail__body .cms-gallery .cms-image { width:100%; margin:0; }
  .cms-detail--project .cms-detail__body .cms-gallery .cms-image img { display:block; width:100%; height:calc(230 * 100vw / 375) !important; border-radius:0; object-fit:cover; }
  .cms-detail--project .cms-detail__body .cms-gallery__items:has(> .cms-image:only-child) { grid-template-columns:1fr; }
  .cms-detail--project .cms-detail__body .cms-gallery__items:has(> .cms-image:only-child) .cms-image img { height:calc(230 * 100vw / 375) !important; }
  .cms-detail--project .cms-detail__body .cms-gallery + .cms-heading { margin-top:calc(56 * 100vw / 375); }

  /* Project call-to-action — Figma 618:600. */
  .cms-project-cta { padding:calc(72 * 100vw / 375) 0; background:#f1f3f6; }
  .cms-project-cta .structured-shell { display:block; width:calc(100% - (32 * 100vw / 375)); margin:0 auto; }
  .cms-project-cta h2 { width:100%; margin:0; color:#004084; font:700 calc(24 * 100vw / 375)/calc(30 * 100vw / 375) "Roboto Condensed","Arial Narrow",Arial,sans-serif; letter-spacing:calc(-1.2 * 100vw / 375); text-transform:uppercase; }
  .cms-project-cta p { width:calc(293 * 100vw / 375); margin:calc(12 * 100vw / 375) 0 0; color:#585e65; font:500 calc(13 * 100vw / 375)/calc(16 * 100vw / 375) Inter,Arial,sans-serif; }
  .cms-project-cta .structured-button,
  .cms-project-cta .structured-button--primary { display:flex; width:100%; height:calc(44 * 100vw / 375); min-height:calc(44 * 100vw / 375); align-items:center; justify-content:center; margin:calc(24 * 100vw / 375) 0 0; padding:0; border-radius:calc(30 * 100vw / 375); background:#004084; color:#fafafa !important; font:500 calc(12 * 100vw / 375)/calc(16 * 100vw / 375) "Roboto Condensed","Arial Narrow",Arial,sans-serif; text-align:center; text-decoration:none; text-transform:uppercase; }
}

@media (min-width: 1101px) {
  .cms-detail--project .cms-detail__body {
    width: 738px;
    max-width: none;
    margin-inline: auto;
    padding-bottom: 112px;
  }

  .cms-detail--project .cms-detail__body .cms-rich-content + .cms-gallery {
    margin-top: 80px !important;
  }

  .cms-detail--project .cms-detail__body .cms-gallery + .cms-heading {
    margin-top: 80px !important;
  }

  .cms-project-cta {
    background: #f1f3f6;
    padding: 112px 0;
  }

  .cms-project-cta .structured-shell {
    grid-template-columns: minmax(0, 821px) 276px;
    column-gap: 103px;
    row-gap: 24px;
  }

  .cms-project-cta h2 {
    max-width: 821px;
    color: #17314d;
    font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
    font-size: 40px;
    font-weight: 700;
    letter-spacing: -2.4px;
    line-height: 48px;
  }

  .cms-project-cta p {
    width: 687px;
    max-width: 100%;
    color: #585e65;
    font-family: Inter, Arial, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 20px;
  }

  .cms-project-cta .structured-button {
    width: 276px;
    min-height: 44px;
    padding-inline: 32px;
    color: #fafafa;
    font-size: 12px;
    font-weight: 500;
  }

  .project-showcase { background:#fff; padding:112px 0; }
  .project-showcase__header { display:flex; align-items:flex-end; justify-content:space-between; }
  .project-showcase h2 { width:795px; margin:0; color:#17314D; font:700 40px/normal "Roboto Condensed", "Arial Narrow", Arial, sans-serif; letter-spacing:-.4px; text-transform:uppercase; }
  .project-showcase__header p { width:456px; margin:24px 0 0; color:#17314d; font:400 14px/normal Inter, Arial, sans-serif; }
  .project-showcase__nav { display:flex; gap:24px; margin-bottom:1px; }
  .project-showcase__nav button { display:block; width:32px; height:32px; padding:0; border:0; background:#004084; cursor:pointer; mask:center / 32px 32px no-repeat url("../img/equipment-project-arrow.4ae6ce9b8a3e.svg"); -webkit-mask:center / 32px 32px no-repeat url("../img/equipment-project-arrow.4ae6ce9b8a3e.svg"); }
  .project-showcase__nav button:first-child { transform:rotate(180deg); }
  .project-showcase__nav button:disabled { background:#8d949c; cursor:default; }
  .project-showcase__nav img { display:none; }
  .project-showcase__grid { display:flex; gap:32px; margin-top:36px; padding-block:24px; overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .project-showcase__grid::-webkit-scrollbar { display:none; }
  .project-showcase__card { position:relative; display:flex; flex:0 0 584px; flex-direction:column; height:550px; overflow:hidden; border:1px solid #e6ebf0; border-radius:20px; background:#fff; box-shadow:1px 1px 15px rgba(0,0,0,.05); color:inherit; text-decoration:none; scroll-snap-align:start; scroll-snap-stop:always; transition:transform .25s ease, box-shadow .25s ease; }
  .project-showcase__card:hover { transform:translateY(-4px); box-shadow:0 18px 40px -24px rgb(23 49 77 / 45%); }
  .project-showcase__image { display:block; width:100%; height:300px; border-radius:5px; object-fit:cover; }
  .project-showcase__body { display:flex; flex:1; flex-direction:column; padding:23px; }
  .project-showcase__tag { width:max-content; height:30px; margin:0; padding:7px 8px; color:#596470; background:#f1f3f6; font:500 12px/16px "Roboto Condensed", "Arial Narrow", Arial, sans-serif; text-transform:uppercase; }
  .project-showcase h3 { margin:16px 0 0; color:#17314d; font:600 20px/24px Inter, Arial, sans-serif; letter-spacing:-.4px; }
  .project-showcase__text { margin:12px 0 0; color:#17314d; font:400 16px/20px Inter, Arial, sans-serif; }
  .project-showcase__link, a.project-showcase__link { display:inline-flex; align-items:center; gap:8px; margin-top:auto; color:#8d949c !important; font:500 14px/24px "Roboto Condensed", "Arial Narrow", Arial, sans-serif; text-decoration:none; text-transform:uppercase; transition:color .2s ease; }
  .project-showcase__link:hover, a.project-showcase__link:hover, .project-showcase__card:hover .project-showcase__link { color:#004084 !important; }
  .project-showcase__chevron { display:block; width:24px; height:24px; background:#8d949c; -webkit-mask:url("../img/projects-chevron-right.cca8d22c5cc6.svg") center / 24px 24px no-repeat; mask:url("../img/projects-chevron-right.cca8d22c5cc6.svg") center / 24px 24px no-repeat; transition:background-color .2s ease; }
  .project-showcase__link:hover .project-showcase__chevron, .project-showcase__card:hover .project-showcase__chevron { background:#004084; }
}
