@charset "UTF-8";
*, ::before, ::after {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

button {
  background: none;
  border: none;
  cursor: pointer;
}

/* Color of Site */
.color-white {
  color: #ffffff;
}

.color-black {
  color: #000000;
}

.color-blue {
  color: #20469A;
}

.color-gray-text {
  color: #808080;
}

/* Font of Site */
.google-sans-flex {
  font-family: "Google Sans Flex", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "slnt" 0, "wdth" 100, "GRAD" 0, "ROND" 0;
}

.helvetica {
  font-family: Helvetica, sans-serif;
}

.fw100-thin {
  font-weight: 100 !important;
}

.fw400-extra-light {
  font-weight: 200 !important;
}

.fw400-light {
  font-weight: 300 !important;
}

.fw400-regular {
  font-weight: 400 !important;
}

.fw500-medium {
  font-weight: 500 !important;
}

.fw600-semi-bold {
  font-weight: 600 !important;
}

.fw700-bold {
  font-weight: 700 !important;
}

.fw800-extra-bold {
  font-weight: 800 !important;
}

.fw900-black {
  font-weight: 900 !important;
}

/* Show & Hide */
.show-laptop {
  display: none !important;
}
@media only screen and (max-width: 1180px) {
  .show-laptop {
    display: table !important;
  }
}

.show-tablet {
  display: none !important;
}
@media only screen and (max-width: 850px) {
  .show-tablet {
    display: table !important;
  }
}

.show-mobile {
  display: none !important;
}
@media only screen and (max-width: 750px) {
  .show-mobile {
    display: table !important;
  }
}

@media only screen and (max-width: 1180px) {
  .hide-laptop {
    display: none !important;
  }
}

@media only screen and (max-width: 850px) {
  .hide-tablet {
    display: none !important;
  }
}

@media only screen and (max-width: 750px) {
  .hide-mobile {
    display: none !important;
  }
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Stylesheet */
html {
  width: 100%;
  height: auto;
  font-size: 62.5%;
}

body {
  width: 100%;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  -webkit-text-size-adjust: 100%;
  font-family: "Google Sans Flex", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "slnt" 0, "wdth" 100, "GRAD" 0, "ROND" 0;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 400;
  font-style: normal;
  color: #000000;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  vertical-align: top;
  outline: none;
}

strong {
  font-weight: 700;
}

.bold {
  font-weight: bold;
}

#mask {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  width: 100%;
  height: 100vh;
  background-color: #ffffff;
}

/* Link */
.transition, .library-list .item a, a .cover img, a::before, a::after, a, button, img {
  -webkit-transition: all 0.25s cubic-bezier(0.75, 0.3, 0.25, 1);
  transition: all 0.25s cubic-bezier(0.75, 0.3, 0.25, 1);
}

button:hover {
  opacity: 1;
}

a {
  color: currentColor;
  text-decoration: none;
  outline: none;
}
a:hover {
  opacity: 1;
}
a:hover img {
  opacity: 0.7;
}
a:hover .cover img {
  opacity: 1;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
a:hover .hover-underline {
  background-size: 100% 1px;
}
a .cover {
  overflow: hidden;
}
.anchor {
  display: block;
  position: relative;
  top: -140px;
  visibility: hidden;
}
@media only screen and (max-width: 1180px) {
  .anchor {
    top: -120px;
  }
}

.hover-underline {
  position: relative;
  display: inline;
  background-image: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0% 1px;
  -webkit-transition: background-size 0.3s cubic-bezier(0.75, 0.3, 0.25, 1);
  transition: background-size 0.3s cubic-bezier(0.75, 0.3, 0.25, 1);
}
.hover-underline:hover {
  background-size: 100% 1px;
}

/* Content */
main {
  position: relative;
}

.content-1440 {
  width: 100%;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}

.content-1176 {
  width: 90%;
  max-width: 1176px;
  margin-left: auto;
  margin-right: auto;
}

.content-1142 {
  width: 90%;
  max-width: 1142px;
  margin-left: auto;
  margin-right: auto;
}

.content-1300 {
  width: 90%;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}

.pad120 {
  padding-top: 120px;
  padding-bottom: 120px;
}
@media only screen and (max-width: 750px) {
  .pad120 {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

/* Animate */
.fade-up {
  opacity: 0;
  -webkit-transform: translateY(15px);
          transform: translateY(15px);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
}
@media only screen and (max-width: 1180px) {
  .fade-up {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.fade-up.show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.zoom-in-fade {
  opacity: 0;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
}
@media only screen and (max-width: 1180px) {
  .zoom-in-fade {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

.zoom-in-fade.show {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

/* ==========================================================================
   Heading
========================================================================== */
.heading-lg {
  font-size: 3.6rem;
  line-height: 4rem;
  font-weight: 700;
  color: #20469A;
}
@media only screen and (max-width: 750px) {
  .heading-lg {
    font-size: 2.8rem;
    line-height: 3.2rem;
  }
}

.heading-card {
  font-size: 2.6rem;
  line-height: 3rem;
  font-weight: 700;
  color: #20469A;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .heading-card {
    font-size: 2.2rem;
    line-height: 2.6rem;
  }
}

/* ==========================================================================
   Button
========================================================================== */
.btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  height: 48px;
  padding: 8px 20px;
  border: 1px solid #20469A;
  border-radius: 4px;
  background-color: #ffffff;
  color: #20469A;
  font-size: 1.6rem;
  font-weight: 700;
  white-space: nowrap;
}
.btn:hover {
  background-color: #20469A;
  color: #ffffff;
}
.btn:hover img {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

.btn-pill {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 8px 8px 8px 16px;
  border: 1px solid #cccccc;
  border-radius: 100px;
  background-color: #ffffff;
  color: #000000;
  font-size: 1.6rem;
  font-weight: 700;
  white-space: nowrap;
  -webkit-transition-property: border-color, color;
  transition-property: border-color, color;
}
.btn-pill:hover {
  border-color: #20469A;
  color: #20469A;
}

header {
  position: relative;
  z-index: 550;
}

.header {
  background-color: #ffffff;
  /* Part 1: logo row (top page only) */
}
.header-top {
  padding: 16px 0 0;
}
.header-top .content-1142 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.header-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 120px;
}
@media only screen and (max-width: 1180px) {
  .header-logo {
    gap: 40px;
  }
}
@media only screen and (max-width: 750px) {
  .header-logo {
    gap: 16px;
    padding-right: 100px;
  }
}
.header {
  /* Part 2 + 3 wrapper */
}
.header-main {
  padding: 32px 0 8px 0;
}
@media only screen and (max-width: 750px) {
  .header-main {
    padding: 24px 0 8px 0;
  }
}

/* Part 2: key message */
.key-message {
  font-size: 3.6rem;
  line-height: 4rem;
  font-weight: 700;
  color: #000000;
  text-align: center;
  margin-bottom: 32px;
}
.key-message .accent {
  font-weight: 800;
  color: #20469A;
}
.key-message .regular {
  font-weight: 400;
  font-size: 3.2rem;
}
@media only screen and (max-width: 1180px) {
  .key-message {
    font-size: 2.8rem;
    line-height: 3.2rem;
  }
  .key-message .regular {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 750px) {
  .key-message {
    font-size: 2.2rem;
    line-height: 2.6rem;
    margin-bottom: 24px;
  }
  .key-message .regular {
    font-size: 1.8rem;
  }
}

/* Part 3: main nav menu */
.header-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}
@media only screen and (max-width: 1180px) {
  .header-menu {
    overflow: auto;
    scrollbar-width: none;
  }
  .header-menu::-webkit-scrollbar {
    display: none;
  }
}
.header-menu-group {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -ms-grid;
  display: grid;
}
@media only screen and (max-width: 1180px) {
  .header-menu-group {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(33.333% - 6px);
  }
}
@media only screen and (max-width: 750px) {
  .header-menu-group {
    width: auto;
  }
}
.header-menu-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 64px;
  padding: 8px 20px;
  border: 1px solid #20469A;
  border-radius: 4px;
  background-color: #ffffff;
  color: #20469A;
  font-size: 1.6rem;
  line-height: 1.8rem;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}
@media only screen and (max-width: 750px) {
  .header-menu-item {
    font-size: 1.4rem;
    height: 54px;
  }
}
.header-menu-item:hover {
  background-color: #20469A;
  color: #ffffff;
}
.header-menu {
  /* Dropdown (PC only): sub menu list shared with the footer, opens on hover / keyboard focus */
}
.header-menu-dropdown {
  position: absolute;
  inset-block-start: 100%;
  inset-inline-start: 0;
  min-inline-size: 100%;
  inline-size: -webkit-max-content;
  inline-size: -moz-max-content;
  inline-size: max-content;
  -webkit-padding-before: 4px;
          padding-block-start: 4px;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.25s, visibility 0.25s;
  transition: opacity 0.25s, visibility 0.25s;
}
@media only screen and (max-width: 1180px) {
  .header-menu-dropdown {
    display: none;
  }
}
.header-menu-group:nth-last-child(-n+2) .header-menu-dropdown {
  inset-inline-start: auto;
  inset-inline-end: 0;
}
.header-menu-group:focus-within .header-menu-dropdown {
  visibility: visible;
  opacity: 1;
}
.header-menu-group:focus-within .header-menu-item {
  background-color: #20469A;
  color: #ffffff;
}
@media (any-hover: hover) {
  .header-menu-group:hover .header-menu-dropdown {
    visibility: visible;
    opacity: 1;
  }
  .header-menu-group:hover .header-menu-item {
    background-color: #20469A;
    color: #ffffff;
  }
}
.header-menu-dropdown-list {
  display: -ms-grid;
  display: grid;
  row-gap: 8px;
  padding: 12px 16px;
  background-color: rgba(255, 255, 255, 0.95);
  border-radius: 4px;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.08);
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.08);
}
.header-menu-dropdown-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  color: #000000;
  font-size: 1.4rem;
  line-height: 1.8rem;
  font-weight: 400;
}

/* Sticky Header Menu: duplicate of the main nav, fixed to the viewport top.
   Hidden by default; shown/hidden by the .is-visible toggle from function.js (scroll direction). */
.header-sticky {
  position: fixed;
  inset-inline: 0;
  top: 0;
  z-index: 600;
  padding: 12px 0;
  background-color: #ffffff;
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  pointer-events: none;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.header-sticky.is-visible {
  pointer-events: auto;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.header-sticky .header-menu {
  margin: 0;
}

.active-mn-01 .mn-01,
.active-mn-02 .mn-02,
.active-mn-03 .mn-03,
.active-mn-04 .mn-04,
.active-mn-05 .mn-05,
.active-mn-06 .mn-06,
.active-mn-07 .mn-07 {
  background-color: #20469A;
  color: #ffffff;
}

/* Extra: language switch, top-right of header */
.header-language {
  position: absolute;
  top: 16px;
  right: 24px;
  z-index: 100;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.header-language a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 24px;
  height: 32px;
  font-size: 1.4rem;
  font-weight: 700;
  color: #000000;
}
.header-language a.is-active {
  color: #20469A;
  border-bottom: 2px solid #20469A;
}
.header-language .divider {
  width: 1px;
  height: 7px;
  background-color: #000000;
}

footer {
  position: relative;
  border-top: 1px solid #cccccc;
}

.footer {
  padding-top: 64px;
  padding-bottom: 32px;
}
@media only screen and (max-width: 750px) {
  .footer {
    padding-top: 40px;
    padding-bottom: 24px;
  }
}
.footer {
  /* Top: logos + address */
}
.footer-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 32px;
  padding-bottom: 56px;
  border-bottom: 1px solid #cccccc;
}
@media only screen and (max-width: 1180px) {
  .footer-top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media only screen and (max-width: 750px) {
  .footer-top {
    gap: 24px;
    padding-bottom: 32px;
  }
}
.footer-logo {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 64px 1fr 64px 1fr;
  grid-template-columns: repeat(3, 1fr);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 64px;
}
@media only screen and (max-width: 1180px) {
  .footer-logo {
    width: 100%;
  }
}
@media only screen and (max-width: 750px) {
  .footer-logo {
    gap: 16px;
  }
}
.footer-address {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 16px;
}
.footer-address-text .company {
  font-size: 2rem;
  line-height: 2.4rem;
  font-weight: 700;
}
.footer-address-text .address {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 400;
}
.footer-contacts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (max-width: 750px) {
  .footer-contacts {
    gap: 16px;
  }
}
.footer-contact-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
}
.footer {
  /* Sitemap menu */
}
.footer-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 61px;
  padding: 86px 0;
}
@media only screen and (max-width: 1180px) {
  .footer-menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 32px;
    padding: 40px 0;
  }
}
@media only screen and (max-width: 750px) {
  .footer-menu {
    gap: 24px;
    padding: 24px 0;
  }
}
.footer-menu-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 32px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media only screen and (max-width: 1180px) {
  .footer-menu-col {
    width: 100%;
  }
}
@media only screen and (max-width: 750px) {
  .footer-menu-col {
    gap: 24px;
  }
}
.footer-menu-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px;
  width: 100%;
}
.footer-menu-topic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 0;
}
.footer-menu-topic a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.footer-menu-topic .title {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 700;
  white-space: nowrap;
}
.footer-menu-topic .line {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  min-width: 24px;
  height: 0;
  border-bottom: 1px solid #cccccc;
}
.footer-menu-sub {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding-left: 16px;
}
.footer-menu-sub span {
  font-size: 1.4rem;
  line-height: 1.8rem;
  font-weight: 400;
}
.footer {
  /* Certificate row */
}
.footer-cert {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 24px;
}
.footer {
  /* Copyright row */
}
.footer-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16px;
  padding-top: 24px;
  border-top: 1px solid #cccccc;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (max-width: 1290px) {
  .footer-bottom {
    padding-right: 90px;
  }
}
@media only screen and (max-width: 750px) {
  .footer-bottom {
    padding-right: 0;
  }
}
.footer-copyright {
  font-size: 1.2rem;
  line-height: 1.4rem;
  font-weight: 400;
  color: #808080;
}
.footer-social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
.footer {
  /* Back to top */
}
.footer-gototop {
  position: fixed;
  right: 24px;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  width: 50px;
  padding: 16px 0;
  background-color: #20469A;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: transform 0.4s ease, opacity 0.4s ease;
  transition: transform 0.4s ease, opacity 0.4s ease, -webkit-transform 0.4s ease;
}
.footer-gototop.show {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}
.footer-gototop span {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  font-size: 1.2rem;
  font-weight: 700;
  color: #ffffff;
}
@media only screen and (max-width: 750px) {
  .footer-gototop {
    display: none;
  }
}

/* Fixed side buttons: call / contact (shared across welding-services, laser-welding-wires, surface-processing, service-maintenance) */
.btn-fixed {
  position: fixed;
  right: 1.2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 1rem;
}
@media only screen and (max-width: 1180px) {
  .btn-fixed {
    display: none;
  }
}

.btn-fixed-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 5.4rem;
  border-radius: 100px;
  background-color: #20469A;
  overflow: hidden;
}

.btn-fixed-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0;
  max-width: 0;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  opacity: 0;
  overflow: hidden;
  color: #ffffff;
  font-size: 1.4rem;
  line-height: 2rem;
  font-weight: 700;
  white-space: nowrap;
  -webkit-transition: max-width 0.3s ease, opacity 0.3s ease, -webkit-padding-start 0.3s ease;
  transition: max-width 0.3s ease, opacity 0.3s ease, -webkit-padding-start 0.3s ease;
  transition: max-width 0.3s ease, opacity 0.3s ease, padding-inline-start 0.3s ease;
  transition: max-width 0.3s ease, opacity 0.3s ease, padding-inline-start 0.3s ease, -webkit-padding-start 0.3s ease;
}
.btn-fixed-label a {
  color: inherit;
}

.btn-fixed-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 5.4rem;
  height: 5.4rem;
}
.btn-fixed-icon img {
  display: block;
  width: 100%;
  height: 100%;
}

@media (any-hover: hover) {
  .btn-fixed-item:hover .btn-fixed-label {
    max-width: 20rem;
    -webkit-padding-start: 2rem;
            padding-inline-start: 2rem;
    opacity: 1;
  }
}
#mv-video video {
  display: block;
  width: 100%;
  aspect-ratio: 1440/480;
  -o-object-fit: cover;
     object-fit: cover;
}

#menu-down {
  padding: 8px 0;
}

.menu-down-row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 16px auto 16px 1fr;
  grid-template-columns: 1fr auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
@media only screen and (max-width: 750px) {
  .menu-down-row {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    justify-items: center;
  }
}

.menu-down-links {
  -ms-grid-column-align: start;
      justify-self: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (max-width: 750px) {
  .menu-down-links {
    -ms-grid-column-align: center;
        justify-self: center;
  }
}
.menu-down-links .btn {
  width: 180px;
}
@media only screen and (max-width: 750px) {
  .menu-down-links .btn {
    width: auto;
    padding-inline: 12px;
  }
}

.menu-down-cert {
  -ms-grid-column-align: center;
      justify-self: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.menu-down-scroll {
  -ms-grid-column-align: end;
      justify-self: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  font-family: Helvetica, sans-serif;
  font-weight: 700;
  font-size: 1.4rem;
  color: #000000;
}
@media only screen and (max-width: 750px) {
  .menu-down-scroll {
    -ms-grid-column-align: center;
        justify-self: center;
  }
}

#services {
  background-color: #edeeef;
  border-radius: 8px;
  padding: 64px 0 120px;
}
@media only screen and (max-width: 750px) {
  #services {
    padding: 40px 0 64px;
  }
}

.services-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 48px;
}

.service-card {
  position: relative;
  width: 340px;
}

.service-card-photo {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 182px;
  z-index: 1;
}
.service-card-photo img {
  -webkit-filter: drop-shadow(0 0 20px rgba(0, 0, 0, 0.08));
          filter: drop-shadow(0 0 20px rgba(0, 0, 0, 0.08));
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  will-change: transform;
}
.service-card-photo a {
  display: block;
}
.service-card-photo a:hover {
  opacity: 1;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.service-card-photo a:hover img {
  opacity: 1;
}

.service-card-body {
  margin-top: 71px;
  background-color: #ffffff;
  border-radius: 8px;
  -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.08);
          box-shadow: 0 0 40px rgba(0, 0, 0, 0.08);
  padding: 120px 24px 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}
.service-card-body .heading-card.is-wrap {
  max-width: 254px;
}

#map {
  padding: 64px 0;
}
@media only screen and (max-width: 750px) {
  #map {
    padding: 40px 0;
  }
}

/* Map + pins + boxes + callout are all baked into one image (map-composite) — only the
   Vision & Mission text and the network CTA button stay live, overlaid on the image. */
.map-wrap {
  position: relative;
}

@media only screen and (max-width: 1180px) {
  .map-visual {
    max-width: 500px;
    margin: 0 auto;
  }
}

.map-base {
  display: block;
  width: 1074px;
  max-width: 100%;
  height: auto;
}

.map-info {
  position: absolute;
  left: 62%;
  top: 16%;
  width: 36%;
}
.map-info .heading-lg {
  margin-bottom: 16px;
}
@media only screen and (max-width: 1180px) {
  .map-info {
    position: static;
    width: 100%;
    margin-top: 24px;
    text-align: center;
  }
}

.map-quote {
  font-size: 2.6rem;
  line-height: 6.4rem;
  font-weight: 700;
  font-style: italic;
  color: #20469A;
  text-align: center;
}
@media only screen and (max-width: 1180px) {
  .map-quote {
    font-size: 1.6rem;
    line-height: 3.2rem;
  }
}
@media only screen and (max-width: 750px) {
  .map-quote {
    font-size: 1.6rem;
    line-height: 2.8rem;
  }
}

.btn-network {
  position: absolute;
  left: 4.58%;
  top: 91.43%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
  padding: 8px 20px;
  border-radius: 100px;
  background-color: #20469A;
  color: #ffffff;
  font-size: 1.6rem;
  line-height: 2rem;
  font-weight: 700;
  white-space: nowrap;
}
@media (any-hover: hover) {
  .btn-network:hover {
    opacity: 0.7;
  }
}
@media only screen and (max-width: 1180px) {
  .btn-network {
    position: static;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 24px auto 0;
    white-space: normal;
    text-align: center;
  }
}
.btn-network span {
  text-align: center;
}

#history {
  padding: 64px 0;
}
@media only screen and (max-width: 750px) {
  #history {
    padding: 40px 0;
  }
}

.history-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1440/808;
}
@media only screen and (max-width: 1180px) {
  .history-wrap {
    aspect-ratio: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 24px;
    padding-inline: 5%;
  }
}

.history-text {
  position: absolute;
  left: 4.58%;
  top: 13.49%;
}
@media only screen and (max-width: 1180px) {
  .history-text {
    position: static;
    text-align: center;
  }
}

.history-title {
  font-size: clamp(2.2rem, 2.778vw, 4rem);
  line-height: clamp(2rem, 2.5vw, 3.6rem);
  font-weight: 700;
  font-style: italic;
  color: #20469A;
  margin-bottom: 35px;
  white-space: nowrap;
}
@media only screen and (max-width: 1180px) {
  .history-title {
    font-size: 2.8rem;
    line-height: 3.2rem;
    white-space: normal;
    margin-bottom: 25px;
  }
}
@media only screen and (max-width: 750px) {
  .history-title {
    font-size: 2.2rem;
    line-height: 2.6rem;
    margin-bottom: 15px;
  }
}

.history-subtitle {
  font-size: clamp(1.4rem, 1.806vw, 2.6rem);
  line-height: clamp(2rem, 2.778vw, 4rem);
  font-weight: 400;
  color: #20469A;
  white-space: nowrap;
}
@media only screen and (max-width: 1180px) {
  .history-subtitle {
    font-size: 1.8rem;
    line-height: 2.8rem;
    white-space: normal;
  }
}

.history-cert {
  position: absolute;
  left: 7.15%;
  top: 36.63%;
}
@media only screen and (max-width: 1180px) {
  .history-cert {
    position: static;
  }
}
.history-cert img {
  display: block;
  width: 313px;
  max-width: 100%;
  height: auto;
  border: 1px solid #20469A;
}

.history-timeline {
  position: absolute;
  left: 35.14%;
  top: 6.93%;
}
@media only screen and (max-width: 1180px) {
  .history-timeline {
    position: static;
    width: 90%;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }
}
.history-timeline img {
  display: block;
  width: 855px;
  max-width: 100%;
  height: auto;
}

#branch {
  padding: 120px 0;
  background-color: #edeeef;
}
@media only screen and (max-width: 750px) {
  #branch {
    padding: 40px 0;
  }
}

.branch-wrap {
  border-radius: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 48px;
}
@media only screen and (max-width: 1180px) {
  .branch-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.branch-cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 48px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media only screen and (max-width: 1180px) {
  .branch-cards {
    width: 100%;
    gap: 38px;
  }
}
@media only screen and (max-width: 750px) {
  .branch-cards {
    gap: 24px;
  }
}

.branch-card {
  background-color: #ffffff;
  border-radius: 8px;
  padding: 24px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  width: calc(50% - 24px);
}
@media only screen and (max-width: 750px) {
  .branch-card {
    width: 100%;
  }
}

.branch-card-photo {
  width: 100%;
  aspect-ratio: 420/250;
}
.branch-card-photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.branch-card-address {
  width: 356px;
  max-width: 85%;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
}
.branch-card-address strong {
  font-weight: 700;
}

.branch-features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 1180px) {
  .branch-features {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }
}
@media (max-width: 540px) {
  .branch-features {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.feature {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 24px 0;
  border-bottom: 1px solid #20469A;
}
.feature:first-child {
  padding-top: 0;
}
.feature:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
@media only screen and (max-width: 1180px) {
  .feature {
    padding: 0 16px;
    border-bottom: none;
    border-right: 1px solid #20469A;
  }
  .feature:first-child {
    padding-left: 0;
  }
  .feature:last-child {
    padding-right: 0;
    border-right: none;
  }
}
@media (max-width: 540px) {
  .feature {
    padding: 24px 0;
    border-bottom: 1px solid #20469A;
    border-right: none;
  }
  .feature:first-child {
    padding-top: 0;
    padding-left: 0;
  }
  .feature:last-child {
    padding-bottom: 0;
    padding-right: 0;
    border-bottom: none;
  }
}

.feature-number {
  font-size: 4.8rem;
  line-height: 4.4rem;
  font-weight: 700;
  color: #20469A;
}
.feature-number .counter {
  display: inline-block;
  font-variant-numeric: tabular-nums;
}
.feature-number .unit {
  font-size: 2.6rem;
  line-height: 3rem;
  font-weight: 400;
}

.feature-label {
  font-size: 2.6rem;
  line-height: 3rem;
  font-weight: 500;
  color: #000000;
}

#library {
  padding-bottom: 0;
}

.library-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  font-size: 4.8rem;
  line-height: 5.6rem;
  font-weight: 700;
  color: #20469A;
}
@media only screen and (max-width: 750px) {
  .library-heading {
    font-size: 3.2rem;
    line-height: 3.8rem;
  }
}
.library-heading img {
  width: 56px;
}
@media only screen and (max-width: 750px) {
  .library-heading img {
    width: 40px;
  }
}

.library-list {
  margin-top: 80px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 50px 1fr 50px 1fr 50px 1fr;
  grid-template-columns: repeat(4, 1fr);
  -webkit-column-gap: 50px;
     -moz-column-gap: 50px;
          column-gap: 50px;
  row-gap: 75px;
}
@media only screen and (max-width: 750px) {
  .library-list {
    margin-top: 40px;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
.library-list .item a {
  display: block;
  position: relative;
}
.library-list .item a:hover {
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px);
}
.library-list .item a:hover img {
  opacity: 1;
}
.library-list .item .shadow {
  position: relative;
  margin-top: 50px;
  display: block;
  width: 100%;
  height: 10px;
}
@media only screen and (max-width: 750px) {
  .library-list .item .shadow {
    margin-top: 30px;
  }
}
.library-list .item .shadow::before {
  content: "";
  position: absolute;
  inset: -25px -15px;
  background: radial-gradient(closest-side, color-mix(in srgb, #000000 22%, transparent), transparent);
}

.contact-form-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  font-size: 4.8rem;
  line-height: 5.6rem;
  font-weight: 700;
  color: #20469A;
}
@media only screen and (max-width: 750px) {
  .contact-form-heading {
    font-size: 3.2rem;
    line-height: 3.8rem;
  }
}
.contact-form-heading img {
  width: 56px;
}
@media only screen and (max-width: 750px) {
  .contact-form-heading img {
    width: 40px;
  }
}

.contact-form-frame {
  padding-top: 48px;
}
@media only screen and (max-width: 750px) {
  .contact-form-frame {
    padding-top: 25px;
  }
}
.contact-form-frame iframe {
  display: block;
  width: 100%;
  min-height: 700px;
  border: 0;
}
@media only screen and (max-width: 750px) {
  .contact-form-frame iframe {
    min-height: 900px;
  }
}

.contact-form-fields {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 62px;
  padding-top: 48px;
}
@media only screen and (max-width: 750px) {
  .contact-form-fields {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    padding-top: 25px;
  }
}

.contact-form-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 8px;
  width: 540px;
  max-width: 100%;
}
@media only screen and (max-width: 750px) {
  .contact-form-col {
    width: 100%;
    gap: 20px;
  }
}

.contact-form-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
.contact-form-field label {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 700;
  color: #000000;
}
.contact-form-field input[type=text],
.contact-form-field input[type=tel],
.contact-form-field input[type=email],
.contact-form-field textarea {
  width: 100%;
  height: 55px;
  padding: 0 16px;
  background-color: #f7f7f7;
  border: 1px solid #000000;
  font-family: "Google Sans Flex", sans-serif;
  font-size: 1.6rem;
}
.contact-form-field textarea {
  height: 184px;
  padding-top: 16px;
  resize: vertical;
}

.contact-form-required {
  color: #ee210a;
}

.contact-form-file {
  position: relative;
  width: 187px;
  max-width: 100%;
  height: 55px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #ffffff;
  border: 1px solid #000000;
  font-size: 1.6rem;
  font-weight: 300;
}
.contact-form-file input[type=file] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.contact-form-submit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  width: 100%;
  height: 60px;
  margin-top: 32px;
  background-color: #ffffff;
  border: 1px solid #20469A;
  border-radius: 4px;
  color: #20469A;
  font-size: 1.6rem;
  font-weight: 700;
  cursor: pointer;
}
@media (any-hover: hover) {
  .contact-form-submit:hover {
    background-color: #20469A;
    color: #ffffff;
  }
  .contact-form-submit:hover img {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
  }
}

.contact-form-note {
  padding-top: 24px;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
}

/* Shared ribbon heading (flag-shaped h2, used across lww sections) */
.lww-heading-ribbon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  background-color: #20469A;
  color: #ffffff;
  font-weight: 700;
  white-space: nowrap;
}

.lww-heading-ribbon--lg {
  padding-inline: 3.2rem 6.4rem;
  padding-left: 6.9rem;
  padding-block: 1.6rem;
  font-size: 4.8rem;
  line-height: 5.6rem;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 3.6rem 100%);
}
@media only screen and (max-width: 1180px) {
  .lww-heading-ribbon--lg {
    padding-inline: 6rem 4rem;
    font-size: 3.8rem;
    line-height: 4.6rem;
  }
}
@media only screen and (max-width: 850px) {
  .lww-heading-ribbon--lg {
    font-size: 3.3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 750px) {
  .lww-heading-ribbon--lg {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-inline: 5%;
    padding-block: 1.5rem;
    font-size: 2.4rem;
    line-height: 3.2rem;
    white-space: normal;
    text-align: center;
    clip-path: none;
  }
}

.lww-heading-ribbon--md {
  padding-inline: 14.9rem 6.1rem;
  padding-block: 1.6rem;
  font-size: 3.6rem;
  line-height: 4rem;
  clip-path: polygon(0 0, 100% 0, calc(100% - 2.9rem) 100%, 0 100%);
}
@media only screen and (max-width: 1180px) {
  .lww-heading-ribbon--md {
    padding-inline: 3.2rem 4rem;
    font-size: 3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 850px) {
  .lww-heading-ribbon--md {
    font-size: 2.6rem;
    line-height: 3.3rem;
  }
}
@media only screen and (max-width: 750px) {
  .lww-heading-ribbon--md {
    padding-inline: 5% 4rem;
    padding-block: 1.6rem;
    font-size: 2.2rem;
    line-height: 2.6rem;
    white-space: normal;
  }
}

/* MV Inside */
#lww-mv-inside {
  position: relative;
  -webkit-border-before: 1px solid #20469A;
          border-block-start: 1px solid #20469A;
  background: -webkit-gradient(linear, left top, left bottom, from(#f0f3f6), color-stop(77.143%, rgba(240, 243, 246, 0)));
  background: linear-gradient(180deg, #f0f3f6 0%, rgba(240, 243, 246, 0) 77.143%);
  padding-block: 5.3rem 8rem;
}
@media only screen and (max-width: 1180px) {
  #lww-mv-inside {
    padding-block: 4rem;
  }
}

.lww-mv-wrap {
  position: relative;
}

.lww-mv-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 1180px) {
  .lww-mv-top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 24px;
  }
}

.lww-mv-logo {
  -webkit-padding-start: 6.9rem;
          padding-inline-start: 6.9rem;
}
@media only screen and (max-width: 1180px) {
  .lww-mv-logo {
    -webkit-padding-start: 0;
            padding-inline-start: 0;
  }
}

.lww-mv-badge {
  -webkit-margin-before: 0.6rem;
          margin-block-start: 0.6rem;
}
@media only screen and (max-width: 1180px) {
  .lww-mv-badge {
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
}

.lww-mv-catalogs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8rem;
  -webkit-margin-before: 5rem;
          margin-block-start: 5rem;
}
@media only screen and (max-width: 1180px) {
  .lww-mv-catalogs {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 4rem;
  }
}
@media only screen and (max-width: 750px) {
  .lww-mv-catalogs {
    gap: 2rem;
  }
}

.lww-mv-catalog {
  border: 1px solid #20469A;
}
@media only screen and (max-width: 750px) {
  .lww-mv-catalog {
    width: 24rem;
  }
}
.lww-mv-catalog a {
  display: block;
  -webkit-transition: opacity var(--base-transition, 0.25s ease);
  transition: opacity var(--base-transition, 0.25s ease);
}
@media (any-hover: hover) {
  .lww-mv-catalog a:hover {
    opacity: 0.7;
  }
}
.lww-mv-catalog img {
  display: block;
  width: 100%;
  height: auto;
}

/* Material Groups */
#lww-material-groups {
  padding-block: 0 8rem;
}
@media only screen and (max-width: 750px) {
  #lww-material-groups {
    padding-block: 0 4rem;
  }
}

/* Material Groups heading row: ribbon on the left, search on the right (right edge lines up with the 1142px diagram) */
.lww-mg-topic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2.4rem;
}
@media only screen and (max-width: 1180px) {
  .lww-mg-topic {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}

.lww-mg-topic .lww-heading-ribbon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media only screen and (max-width: 1180px) {
  .lww-mg-topic .lww-heading-ribbon {
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
}

.lww-mg-search {
  position: relative;
  /* Fits the placeholder: text 54.6rem + padding 3.2rem + icon 2rem + gap 0.8rem + border 0.2rem + clear button of type="search" 2.6rem */
  -webkit-box-flex: 0;
      -ms-flex: 0 1 63.6rem;
          flex: 0 1 63.6rem;
  -webkit-margin-end: max(2rem, (100% - 114.2rem) / 2);
          margin-inline-end: max(2rem, (100% - 114.2rem) / 2);
}
@media only screen and (max-width: 1180px) {
  .lww-mg-search {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
    margin-inline: 2rem;
  }
}

.lww-mg-search-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  height: 4.4rem;
  padding-inline: 1.6rem;
  background-color: #ffffff;
  border: 1px solid #20469A;
  border-radius: 2.2rem;
  cursor: text;
}
.lww-mg-search-box:focus-within {
  outline: 2px solid #20469A;
  outline-offset: 1px;
}
.lww-mg-search-box input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  height: 100%;
  border: 0;
  background: none;
  font-family: "Google Sans Flex", sans-serif;
  font-size: 1.4rem;
  color: #000000;
}
.lww-mg-search-box input::-webkit-input-placeholder {
  color: #555555;
}
.lww-mg-search-box input::-moz-placeholder {
  color: #555555;
}
.lww-mg-search-box input:-ms-input-placeholder {
  color: #555555;
}
.lww-mg-search-box input::-ms-input-placeholder {
  color: #555555;
}
.lww-mg-search-box input::placeholder {
  color: #555555;
}
.lww-mg-search-box input:focus {
  outline: none;
}

.lww-mg-search-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  -webkit-mask-image: url(/assets/images/laser-welding-wires/icon-search.svg);
          mask-image: url(/assets/images/laser-welding-wires/icon-search.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #555555;
}

.lww-mg-search-results {
  position: absolute;
  top: 100%;
  inset-inline: 1.6rem;
  z-index: 10;
  max-height: 36rem;
  overflow-y: auto;
  background-color: #ffffff;
  border: 1px solid #20469A;
}
.lww-mg-search-results[hidden] {
  display: none;
}

.lww-mg-search-list {
  list-style: none;
}

.lww-mg-search-item + .lww-mg-search-item {
  -webkit-border-before: 1px solid #20469A;
          border-block-start: 1px solid #20469A;
}

.lww-mg-search-item[hidden] {
  display: none;
}

.lww-mg-search-item a {
  display: -ms-grid;
  display: grid;
  row-gap: 0.2rem;
  padding: 0.8rem 1.6rem;
  -webkit-transition: background-color 0.25s;
  transition: background-color 0.25s;
}
@media (any-hover: hover) {
  .lww-mg-search-item a:hover {
    background-color: #eef2fa;
  }
}
.lww-mg-search-item a:focus-visible {
  outline: 2px solid #20469A;
  outline-offset: -2px;
}

.lww-mg-search-name {
  font-size: 1.5rem;
  line-height: 2.2rem;
  font-weight: 700;
  color: var(--tab-color, #ee210a);
}

.lww-mg-search-spec {
  font-size: 1.3rem;
  line-height: 2rem;
  color: #000000;
}

.lww-mg-search-empty {
  padding: 1.2rem 1.6rem;
  font-size: 1.3rem;
  color: #808080;
}

.lww-material-groups-diagram {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 4.8rem minmax(0, 1fr) 4.8rem minmax(0, 1fr);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 4.8rem;
  -webkit-margin-before: 6rem;
          margin-block-start: 6rem;
}
@media only screen and (max-width: 1180px) {
  .lww-material-groups-diagram {
    -ms-grid-columns: minmax(0, 1fr) 3.8rem minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3.8rem;
  }
}
@media only screen and (max-width: 850px) {
  .lww-material-groups-diagram {
    gap: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .lww-material-groups-diagram {
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    gap: 3.2rem;
    -webkit-margin-before: 3rem;
            margin-block-start: 3rem;
  }
}

.lww-mg-column {
  display: -ms-grid;
  display: grid;
  gap: 0.8rem;
}

.lww-mg-column-title {
  -webkit-padding-after: 1.6rem;
          padding-block-end: 1.6rem;
  font-size: 2.2rem;
  line-height: 2.8rem;
  font-weight: 700;
  color: #20469A;
  text-align: center;
}
@media only screen and (max-width: 1180px) {
  .lww-mg-column-title {
    -webkit-padding-after: 1.3rem;
            padding-block-end: 1.3rem;
    font-size: 2.1rem;
    line-height: 2.7rem;
  }
}
@media only screen and (max-width: 850px) {
  .lww-mg-column-title {
    -webkit-padding-after: 1rem;
            padding-block-end: 1rem;
    font-size: 2rem;
    line-height: 2.6rem;
  }
}
@media only screen and (max-width: 750px) {
  .lww-mg-column-title {
    -webkit-padding-after: 0.8rem;
            padding-block-end: 0.8rem;
    font-size: 1.9rem;
    line-height: 2.4rem;
  }
}

.lww-mg-tab {
  --tab-color: #20469A;
  --tab-border: #012677;
  interpolate-size: allow-keywords;
}
.lww-mg-tab::details-content {
  block-size: 0;
  overflow: hidden;
  -webkit-transition: block-size var(--base-transition, 0.25s ease), content-visibility var(--base-transition, 0.25s ease) allow-discrete;
  transition: block-size var(--base-transition, 0.25s ease), content-visibility var(--base-transition, 0.25s ease) allow-discrete;
}
.lww-mg-tab[open]::details-content {
  block-size: auto;
}

.lww-mg-tab--steel,
.lww-mg-search-item--steel {
  --tab-color: #ee210a;
  --tab-border: #ad1100;
}

.lww-mg-tab--hardfacing,
.lww-mg-search-item--hardfacing {
  --tab-color: #8c150a;
  --tab-border: #640800;
}

.lww-mg-tab--cobalt,
.lww-mg-search-item--cobalt {
  --tab-color: #854cc2;
  --tab-border: #6529a4;
}

.lww-mg-tab--nickel,
.lww-mg-search-item--nickel {
  --tab-color: #27b11f;
  --tab-border: #147b0e;
}

.lww-mg-tab--copper,
.lww-mg-search-item--copper {
  --tab-color: #ca6016;
  --tab-border: #9f4a0f;
}

.lww-mg-tab--aluminium,
.lww-mg-search-item--aluminium {
  --tab-color: #20469A;
  --tab-border: #012677;
}

.lww-mg-tab--titanium,
.lww-mg-search-item--titanium {
  --tab-color: #8e8e8e;
  --tab-border: #727272;
}

.lww-mg-tab--tin,
.lww-mg-search-item--tin {
  --tab-color: #ff9400;
  --tab-border: #aa6300;
}

.lww-mg-tab-summary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.6rem;
  min-block-size: 6rem;
  padding-block: 0.6rem;
  padding-inline: 2.4rem 1.6rem;
  border: 1px solid var(--tab-border);
  background-color: var(--tab-color);
  color: #ffffff;
  cursor: pointer;
  list-style: none;
  -webkit-transition: background-color var(--base-transition, 0.25s ease);
  transition: background-color var(--base-transition, 0.25s ease);
}
.lww-mg-tab-summary::-webkit-details-marker {
  display: none;
}
@media only screen and (max-width: 1180px) {
  .lww-mg-tab-summary {
    min-block-size: 5.6rem;
    padding-inline: 2rem 1.4rem;
  }
}
@media only screen and (max-width: 850px) {
  .lww-mg-tab-summary {
    min-block-size: 5.2rem;
    padding-inline: 1.8rem 1.2rem;
  }
}
@media only screen and (max-width: 750px) {
  .lww-mg-tab-summary {
    min-block-size: 5rem;
    padding-inline: 1.6rem 1.2rem;
  }
}
@media (any-hover: hover) {
  .lww-mg-tab-summary:hover {
    background-color: var(--tab-border);
  }
}

.lww-mg-tab-label {
  font-size: 2rem;
  line-height: 2.4rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 1180px) {
  .lww-mg-tab-label {
    font-size: 1.9rem;
    line-height: 2.3rem;
  }
}
@media only screen and (max-width: 850px) {
  .lww-mg-tab-label {
    font-size: 1.8rem;
    line-height: 2.2rem;
  }
}
@media only screen and (max-width: 750px) {
  .lww-mg-tab-label {
    font-size: 1.7rem;
    line-height: 2.1rem;
  }
}

.lww-mg-tab-icon {
  display: -ms-grid;
  display: grid;
  place-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  inline-size: 3.2rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #ffffff;
  color: var(--tab-color);
}
@media only screen and (max-width: 750px) {
  .lww-mg-tab-icon {
    inline-size: 2.8rem;
  }
}
.lww-mg-tab-icon::before {
  content: "";
  inline-size: 1.4rem;
  aspect-ratio: 15.4142/9.12132;
  background-color: currentColor;
  -webkit-mask-image: url("/assets/images/laser-welding-wires/icon-accordion-arrow.svg");
          mask-image: url("/assets/images/laser-welding-wires/icon-accordion-arrow.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-transition: rotate var(--base-transition, 0.25s ease);
  transition: rotate var(--base-transition, 0.25s ease);
}
.lww-mg-tab[open] .lww-mg-tab-icon::before {
  rotate: 180deg;
}

.lww-mg-tab-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-block-size: 4.8rem;
  border: 1px solid #bfbfbf;
  background-color: #ffffff;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 700;
  color: var(--tab-color);
  text-align: center;
}
@media only screen and (max-width: 1180px) {
  .lww-mg-tab-list li {
    min-block-size: 4.6rem;
    font-size: 1.55rem;
  }
}
@media only screen and (max-width: 850px) {
  .lww-mg-tab-list li {
    min-block-size: 4.4rem;
    font-size: 1.5rem;
    line-height: 2.2rem;
  }
}
@media only screen and (max-width: 750px) {
  .lww-mg-tab-list li {
    min-block-size: 4.2rem;
    font-size: 1.45rem;
    line-height: 2rem;
  }
}
.lww-mg-tab-list li + li {
  -webkit-border-before: 0;
          border-block-start: 0;
}
.lww-mg-tab-list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  padding-block: 0.8rem;
  padding-inline: 1.6rem;
  color: inherit;
  text-decoration: none;
  -webkit-transition: background-color var(--base-transition, 0.25s ease);
  transition: background-color var(--base-transition, 0.25s ease);
}
@media (any-hover: hover) {
  .lww-mg-tab-list a:hover {
    background-color: color-mix(in srgb, var(--tab-color) 10%, transparent);
  }
}

/* How to Select */
#lww-howto-select {
  background-color: #edeeef;
}

.lww-howto-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4.8rem;
  padding-block: 4.8rem 8.6rem;
}
@media only screen and (max-width: 1180px) {
  .lww-howto-contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-inline: 5%;
  }
}
@media only screen and (max-width: 750px) {
  .lww-howto-contents {
    gap: 3.5rem;
    padding-block: 3.5rem 4rem;
  }
}

.lww-howto-features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.8rem;
}
@media only screen and (max-width: 750px) {
  .lww-howto-features {
    gap: 2rem;
  }
}

.lww-howto-feature {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
}
.lww-howto-feature img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.lww-howto-feature p {
  font-size: 2rem;
  line-height: 2.4rem;
  font-weight: 400;
  color: #000000;
}
@media only screen and (max-width: 750px) {
  .lww-howto-feature p {
    font-size: 1.8rem;
  }
}
.lww-howto-feature strong {
  font-weight: 700;
  color: #20469A;
}

.lww-howto-diagram {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 58.8rem;
  max-width: 100%;
}
@media only screen and (max-width: 750px) {
  .lww-howto-diagram {
    width: 80%;
  }
}
.lww-howto-diagram img {
  display: block;
  width: 100%;
  height: auto;
}

/* App Molds Dies */
#lww-app-molds-dies {
  -webkit-padding-after: 12rem;
          padding-block-end: 12rem;
}
@media only screen and (max-width: 750px) {
  #lww-app-molds-dies {
    -webkit-padding-after: 4rem;
            padding-block-end: 4rem;
  }
}

.lww-thumb-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 35.9rem) 3.2rem minmax(0, 35.9rem) 3.2rem minmax(0, 35.9rem);
  grid-template-columns: repeat(3, minmax(0, 35.9rem));
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3.2rem;
  -webkit-padding-before: 4.8rem;
          padding-block-start: 4.8rem;
}
@media only screen and (max-width: 1180px) {
  .lww-thumb-grid {
    -ms-grid-columns: (minmax(0, 35.9rem))[2];
    grid-template-columns: repeat(2, minmax(0, 35.9rem));
  }
}
@media only screen and (max-width: 750px) {
  .lww-thumb-grid {
    -ms-grid-columns: minmax(0, 35.9rem);
    grid-template-columns: minmax(0, 35.9rem);
    gap: 3.5rem;
  }
}

.lww-thumb-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.6rem;
  width: 100%;
}
@media only screen and (max-width: 750px) {
  .lww-thumb-card {
    gap: 1.5rem;
  }
}

.lww-thumb-photo {
  width: 100%;
  aspect-ratio: 359/240;
}
.lww-thumb-photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.lww-thumb-badge {
  display: block;
  padding: 1.2rem 2.4rem;
  border-radius: 8px;
  color: #ffffff;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

@media (any-hover: hover) {
  .lww-thumb-badge:hover {
    opacity: 0.7;
  }
}
.lww-thumb-badge--red {
  background-color: #ee210a;
}

.lww-thumb-badge--brown {
  background-color: #8c150a;
}

.lww-thumb-badge--blue {
  background-color: #025dd2;
}

.lww-thumb-badge--orange {
  background-color: #ca6016;
}

.lww-thumb-badge--violet {
  background-color: #854cc2;
}

.lww-thumb-badge--green {
  background-color: #27b11f;
}

/* App Industry */
#lww-app-industry {
  background-color: #edeeef;
  -webkit-padding-after: 12rem;
          padding-block-end: 12rem;
}
@media only screen and (max-width: 750px) {
  #lww-app-industry {
    -webkit-padding-after: 4rem;
            padding-block-end: 4rem;
  }
}

/* Quality */
#lww-quality {
  -webkit-padding-after: 12rem;
          padding-block-end: 12rem;
}
@media only screen and (max-width: 750px) {
  #lww-quality {
    -webkit-padding-after: 4rem;
            padding-block-end: 4rem;
  }
}

/* Section topic: heading ribbon + "More infos" badge button (same shape as .ws-more-info) */
.lww-section-topic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 1180px) {
  .lww-section-topic {
    display: block;
  }
}

.lww-more-info {
  position: relative;
  z-index: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 7.2rem;
  margin-left: -17px;
}
@media only screen and (max-width: 1180px) {
  .lww-more-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-inline: auto;
    -webkit-margin-before: 2.4rem;
            margin-block-start: 2.4rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media only screen and (max-width: 750px) {
  .lww-more-info {
    height: 5.6rem;
  }
}

.lww-more-info-ribbon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  padding-inline: 4.8rem;
  background-color: #20469A;
  color: #ffffff;
  font-size: 2.2rem;
  font-weight: 700;
  white-space: nowrap;
  clip-path: polygon(2.9rem 0, calc(100% - 2.9rem) 0, 100% 50%, calc(100% - 2.9rem) 100%, 0 100%);
}
@media only screen and (max-width: 750px) {
  .lww-more-info-ribbon {
    padding-inline: 2.4rem 3.6rem;
    font-size: 1.8rem;
    clip-path: polygon(1.6rem 0, calc(100% - 1.6rem) 0, 100% 50%, calc(100% - 1.6rem) 100%, 0 100%);
  }
}

.lww-more-info-badge {
  position: absolute;
  z-index: -1;
  inset-inline-start: 85%;
  inset-block-start: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 12.2rem;
  height: 100%;
  -webkit-padding-end: 2rem;
          padding-inline-end: 2rem;
  background-color: #ffffff;
  border: 3px solid #20469A;
}
@media only screen and (max-width: 750px) {
  .lww-more-info-badge {
    position: static;
    z-index: auto;
    inset-inline-start: auto;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: auto;
    padding-inline: 3rem 1.6rem;
    -webkit-margin-start: -1.6rem;
            margin-inline-start: -1.6rem;
    border-width: 2px;
  }
}

.lww-more-info-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 4.6rem;
  height: 4.6rem;
  border-radius: 50%;
}
.lww-more-info-icon img {
  display: block;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 750px) {
  .lww-more-info-icon {
    width: 3.6rem;
    height: 3.6rem;
  }
}

.lww-quality-columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-padding-before: 8.6rem;
          padding-block-start: 8.6rem;
}
@media only screen and (max-width: 1180px) {
  .lww-quality-columns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
    padding-inline: 5%;
  }
}
@media only screen and (max-width: 750px) {
  .lww-quality-columns {
    padding-inline: 0;
    -webkit-padding-before: 3.5rem;
            padding-block-start: 3.5rem;
  }
}

.lww-quality-column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.8rem;
  width: 50%;
}
@media only screen and (max-width: 1180px) {
  .lww-quality-column {
    width: 100%;
  }
}
@media only screen and (max-width: 750px) {
  .lww-quality-column {
    gap: 2rem;
  }
}

.lww-quality-column--offset {
  -webkit-padding-before: 8rem;
          padding-block-start: 8rem;
}
@media only screen and (max-width: 1180px) {
  .lww-quality-column--offset {
    -webkit-padding-before: 0;
            padding-block-start: 0;
  }
}

.lww-quality-title {
  font-size: 2.6rem;
  line-height: 3rem;
  font-weight: 700;
  color: #000000;
}
@media only screen and (max-width: 750px) {
  .lww-quality-title {
    font-size: 2rem;
  }
}

.lww-quality-feature {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
}
.lww-quality-feature p {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}

.lww-quality-feature-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  inline-size: 4rem;
}
@media only screen and (max-width: 750px) {
  .lww-quality-feature-icon {
    inline-size: 3rem;
  }
}

.lww-quality-feature-icon--rotate img {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.lww-quality-certificate {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.2rem;
  width: 100%;
}
.lww-quality-certificate img {
  display: block;
  width: 25.3rem;
  max-width: 100%;
  height: auto;
}

.lww-quality-column--offset .lww-quality-certificate {
  -webkit-padding-before: 0.8rem;
          padding-block-start: 0.8rem;
}

.lww-quality-certificate-caption {
  font-size: 1.4rem;
  line-height: 1.8rem;
  font-weight: 700;
  text-align: center;
  color: #000000;
}

/* Contact form (layout only; base field styles: .contact-form-* in _top.scss) */
#lww-contact {
  background-color: #ffffff;
  border-top: 1px solid #e5e5e5;
}

.lww-contact-row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 3rem minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -webkit-column-gap: 3rem;
     -moz-column-gap: 3rem;
          column-gap: 3rem;
}
@media only screen and (max-width: 750px) {
  .lww-contact-row {
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    row-gap: 2rem;
  }
}

.lww-contact-label {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 700;
  color: #000000;
}

.contact-form-field textarea.lww-contact-message {
  height: 55px;
  min-height: 55px;
}

.lww-contact-attachment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}
@media only screen and (max-width: 750px) {
  .lww-contact-attachment {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.8rem;
  }
}

.lww-contact-attachment .contact-form-file {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.lww-contact-hint {
  font-size: 1.3rem;
  line-height: 1.9rem;
  font-weight: 300;
  color: #808080;
}

/* Wires type picker: a dropdown whose options have pictures */
.lww-contact-picker {
  position: relative;
}

.lww-contact-picker-current {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 55px;
  padding-inline: 1.6rem 4.8rem;
  background-color: #f7f7f7;
  border: 1px solid #000000;
  font-size: 1.6rem;
  list-style: none;
  cursor: pointer;
}
.lww-contact-picker-current::-webkit-details-marker {
  display: none;
}
.lww-contact-picker-current::after {
  content: "";
  position: absolute;
  top: 21px;
  right: 20px;
  width: 9px;
  height: 9px;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: -webkit-transform 0.25s;
  transition: -webkit-transform 0.25s;
  transition: transform 0.25s;
  transition: transform 0.25s, -webkit-transform 0.25s;
}
.lww-contact-picker-current:focus-visible {
  outline: 2px solid #20469A;
  outline-offset: 1px;
}

.lww-contact-picker[open] .lww-contact-picker-current::after {
  top: 25px;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.lww-contact-picker-options {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 2;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (minmax(0, 1fr))[4];
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
  background-color: #ffffff;
  border: 1px solid #000000;
  border-top: 0;
}
@media only screen and (max-width: 750px) {
  .lww-contact-picker-options {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.contact-form-field .lww-contact-picker-option {
  position: relative;
  display: -ms-grid;
  display: grid;
  justify-items: center;
  row-gap: 0.8rem;
  padding: 1.2rem 0.4rem 1rem;
  font-size: 1.2rem;
  line-height: 1.6rem;
  font-weight: 400;
  text-align: center;
  cursor: pointer;
}
@media only screen and (max-width: 750px) {
  .contact-form-field .lww-contact-picker-option:nth-child(even) {
    border-left: 1px solid #000000;
  }
  .contact-form-field .lww-contact-picker-option:nth-child(n+3) {
    border-top: 1px solid #000000;
  }
}
.contact-form-field .lww-contact-picker-option:has(input:checked), .contact-form-field .lww-contact-picker-option:has(input:focus-visible) {
  background-color: #eef2fa;
  outline: 2px solid #20469A;
  outline-offset: -2px;
}
@media (any-hover: hover) {
  .contact-form-field .lww-contact-picker-option:hover {
    background-color: #eef2fa;
  }
}

@media only screen and (min-width: 751px) {
  .lww-contact-picker-option + .lww-contact-picker-option {
    border-left: 1px solid #000000;
  }
}

.lww-contact-picker-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.lww-contact-picker-image img {
  display: block;
  width: 104px;
  max-width: 100%;
  height: auto;
}

/* PC: stretch "Company address" so its bottom lines up with the Send message button.
   The notes under the button are taken out of the flow, so both columns end at the button. */
@media only screen and (min-width: 751px) {
  .lww-contact-form {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-padding-after: 10rem;
            padding-block-end: 10rem;
  }
}

@media only screen and (min-width: 751px) {
  .lww-contact-col-wires {
    position: relative;
  }
}

@media only screen and (min-width: 751px) {
  .lww-contact-notes {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
  }
}

@media only screen and (min-width: 751px) {
  .lww-contact-address {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}

@media only screen and (min-width: 751px) {
  .contact-form-field.lww-contact-address textarea {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    height: auto;
    resize: none;
  }
}

/* Spam trap: invisible to people */
.lww-contact-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.lww-contact-error {
  color: #ee210a;
  font-size: 1.4rem;
  line-height: 2rem;
}

.lww-contact-error.is-box {
  padding: 1.2rem 1.6rem;
  border: 1px solid #ee210a;
  background-color: #ffffff;
}

.lww-contact-file-list {
  list-style: none;
  font-size: 1.4rem;
  line-height: 2.2rem;
  word-break: break-all;
}
.lww-contact-file-list:empty {
  display: none;
}

.lww-contact-recaptcha {
  -webkit-padding-before: 1.6rem;
          padding-block-start: 1.6rem;
  font-size: 1.2rem;
  line-height: 1.8rem;
  font-weight: 300;
  color: #808080;
}
.lww-contact-recaptcha a {
  text-decoration: underline;
}

.lww-contact-recaptcha-badge {
  contain: paint;
  inline-size: 256px;
  max-inline-size: 100%;
  block-size: 74px;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
}

.contact-form-submit:disabled {
  opacity: 0.5;
  pointer-events: none;
}

.lww-contact-thanks {
  display: -ms-grid;
  display: grid;
  row-gap: 1.6rem;
  max-width: 820px;
  margin-inline: auto;
  -webkit-padding-before: 4.8rem;
          padding-block-start: 4.8rem;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .lww-contact-thanks {
    -webkit-padding-before: 2.5rem;
            padding-block-start: 2.5rem;
  }
}
.lww-contact-thanks[hidden] {
  display: none;
}
.lww-contact-thanks a {
  color: #20469A;
  text-decoration: underline;
}

.lww-contact-thanks-title {
  font-size: 2.4rem;
  line-height: 3.2rem;
  font-weight: 700;
  color: #20469A;
}
@media only screen and (max-width: 750px) {
  .lww-contact-thanks-title {
    font-size: 2rem;
    line-height: 2.8rem;
  }
}

.lww-contact-form[hidden] {
  display: none;
}

/* Shared ribbon heading (flag-shaped, blue banner used across wm sections) */
.wm-heading-ribbon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #20469A;
  color: #ffffff;
  font-weight: 700;
  white-space: nowrap;
}

.wm-heading-ribbon--hero {
  padding-inline: 3.2rem 6.4rem;
  padding-left: 6.9rem;
  padding-block: 1.6rem;
  font-size: 4.8rem;
  line-height: 5.6rem;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 3.6rem 100%);
}
@media only screen and (max-width: 1180px) {
  .wm-heading-ribbon--hero {
    padding-inline: 6rem 4rem;
    font-size: 3.8rem;
    line-height: 4.6rem;
  }
}
@media only screen and (max-width: 850px) {
  .wm-heading-ribbon--hero {
    font-size: 3.3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 750px) {
  .wm-heading-ribbon--hero {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-inline: 5%;
    padding-block: 1.5rem;
    font-size: 2.4rem;
    line-height: 3.2rem;
    white-space: normal;
    text-align: center;
    clip-path: none;
  }
}

.wm-heading-ribbon--section {
  padding-inline: 14.9rem 5.2rem;
  padding-block: 1.6rem;
  font-size: 3.6rem;
  line-height: 4rem;
  clip-path: polygon(0 0, 100% 0, calc(100% - 2.9rem) 100%, 0 100%);
}
@media only screen and (max-width: 1180px) {
  .wm-heading-ribbon--section {
    padding-inline: 3.2rem 4rem;
    font-size: 3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 850px) {
  .wm-heading-ribbon--section {
    font-size: 2.6rem;
    line-height: 3.3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wm-heading-ribbon--section {
    padding-inline: 5% 4rem;
    padding-block: 1.6rem;
    font-size: 2.2rem;
    line-height: 2.6rem;
    white-space: normal;
    text-align: center;
    clip-path: none;
  }
}

/* MV Inside */
#wm-mv-inside {
  position: relative;
  -webkit-border-before: 1px solid #20469A;
          border-block-start: 1px solid #20469A;
  background: -webkit-gradient(linear, left top, left bottom, from(#f0f3f6), color-stop(77.143%, rgba(240, 243, 246, 0)));
  background: linear-gradient(180deg, #f0f3f6 0%, rgba(240, 243, 246, 0) 77.143%);
  padding-block: 5.3rem 7.9rem;
}
@media only screen and (max-width: 1180px) {
  #wm-mv-inside {
    padding-block: 4rem;
  }
}

.wm-mv-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 1180px) {
  .wm-mv-top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 24px;
  }
}

.wm-mv-logos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.2rem;
  -webkit-padding-start: 6.9rem;
          padding-inline-start: 6.9rem;
}
@media only screen and (max-width: 1180px) {
  .wm-mv-logos {
    -webkit-padding-start: 0;
            padding-inline-start: 0;
  }
}

.wm-mv-diagram {
  -webkit-margin-before: 4rem;
          margin-block-start: 4rem;
  overflow-x: auto;
}

.wm-mv-diagram-inner {
  position: relative;
  width: 100%;
  min-width: 90rem;
  max-width: 106.7rem;
  margin-inline: auto;
}
.wm-mv-diagram-inner img {
  display: block;
  width: 100%;
  height: auto;
}

.wm-mv-hotspot {
  position: absolute;
  cursor: pointer;
}

.wm-mv-hotspot--vlo {
  left: 14.75%;
  top: 1.3%;
  width: 17%;
  height: 42.9%;
}

.wm-mv-hotspot--al {
  left: 34.25%;
  top: 0.87%;
  width: 28.25%;
  height: 38.33%;
}

.wm-mv-hotspot--al-in {
  left: 70%;
  top: 4.79%;
  width: 19.5%;
  height: 39.63%;
}

.wm-mv-hotspot--alm {
  left: 6.75%;
  top: 47.74%;
  width: 23.25%;
  height: 38.94%;
}

.wm-mv-hotspot--alflak {
  left: 71.5%;
  top: 47.04%;
  width: 25%;
  height: 44.43%;
}

.wm-mv-hotspot--alv {
  left: 31.5%;
  top: 60.54%;
  width: 11.75%;
  height: 38.76%;
}

.wm-mv-hotspot--alo {
  left: 57%;
  top: 60.1%;
  width: 13%;
  height: 39.2%;
}

/* Fixed side buttons */
.wm-btn-fixed {
  position: fixed;
  right: 1.2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 1rem;
}
@media only screen and (max-width: 1180px) {
  .wm-btn-fixed {
    display: none;
  }
}

.wm-btn-fixed-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 5.4rem;
  border-radius: 100px;
  background-color: #20469A;
  overflow: hidden;
}

.wm-btn-fixed-label {
  max-width: 0;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  opacity: 0;
  overflow: hidden;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 700;
  white-space: nowrap;
  -webkit-transition: max-width 0.3s ease, opacity 0.3s ease, -webkit-padding-start 0.3s ease;
  transition: max-width 0.3s ease, opacity 0.3s ease, -webkit-padding-start 0.3s ease;
  transition: max-width 0.3s ease, opacity 0.3s ease, padding-inline-start 0.3s ease;
  transition: max-width 0.3s ease, opacity 0.3s ease, padding-inline-start 0.3s ease, -webkit-padding-start 0.3s ease;
}

.wm-btn-fixed-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 5.4rem;
  height: 5.4rem;
}
.wm-btn-fixed-icon img {
  display: block;
  width: 100%;
  height: 100%;
}

@media (any-hover: hover) {
  .wm-btn-fixed-item:hover .wm-btn-fixed-label {
    max-width: 20rem;
    -webkit-padding-start: 2rem;
            padding-inline-start: 2rem;
    opacity: 1;
  }
}
/* Series (repeating product blocks) */
.wm-series {
  scroll-margin-block-start: 2rem;
  background-color: #ffffff;
  padding-block: 12rem;
}
@media only screen and (max-width: 1180px) {
  .wm-series {
    padding-block: 6rem;
  }
}
@media only screen and (max-width: 750px) {
  .wm-series {
    padding-block: 4rem;
  }
}

.wm-series--alt {
  background-color: #f8fafd;
}

.wm-series-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 3.2rem;
}
@media only screen and (max-width: 1180px) {
  .wm-series-inner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.wm-series-inner--accessories {
  gap: 4.8rem;
  -webkit-margin-before: 8rem;
          margin-block-start: 8rem;
}
@media only screen and (max-width: 1180px) {
  .wm-series-inner--accessories {
    -webkit-margin-before: 4rem;
            margin-block-start: 4rem;
  }
}

#wm-anchor-alflak {
  -webkit-padding-after: 6.4rem;
          padding-block-end: 6.4rem;
}
@media only screen and (max-width: 750px) {
  #wm-anchor-alflak {
    -webkit-padding-after: 4rem;
            padding-block-end: 4rem;
  }
}

/* Photos */
.wm-series-photo img {
  display: block;
  width: 100%;
  height: auto;
}

.wm-series-photo--spec {
  width: 37rem;
  max-width: 100%;
}

/* Gallery column — each series' product photo(s)/diagram/caption are
   flattened to one image in Figma ("Save for image" layer), so this is
   just a sizing wrapper, not a layout container. */
.wm-series-gallery {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.wm-series-gallery-flat {
  display: block;
  width: 37rem;
  max-width: 100%;
  height: auto;
}

.wm-series--alt .wm-series-gallery-flat {
  mix-blend-mode: darken;
}

/* Spec column (product name badge + spec sheet image) */
.wm-series-spec {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.4rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.wm-series-name {
  width: 37rem;
  max-width: 100%;
  padding-inline: 3.2rem;
  padding-block: 1.2rem;
  border: 4px solid #20469A;
  background-color: #ffffff;
  color: #20469A;
  font-size: 2.8rem;
  line-height: 2.8rem;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}
@media only screen and (max-width: 750px) {
  .wm-series-name {
    font-size: 2.2rem;
    white-space: normal;
  }
}

/* Details column (copy + benefits list) */
.wm-series-details {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 30rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}
@media only screen and (max-width: 1180px) {
  .wm-series-details {
    -webkit-padding-start: 0;
            padding-inline-start: 0;
    width: 100%;
  }
}
.wm-series-details p {
  -webkit-margin-after: 2.4rem;
          margin-block-end: 2.4rem;
}
@media only screen and (max-width: 750px) {
  .wm-series-details p {
    -webkit-margin-after: 1.5rem;
            margin-block-end: 1.5rem;
  }
}
.wm-series-details strong {
  font-weight: 700;
  color: #20469A;
}

p.wm-series-benefits-title {
  -webkit-margin-after: 0;
          margin-block-end: 0;
  font-weight: 700;
  color: #20469A;
}

.wm-series-benefits-title--spaced {
  -webkit-margin-before: 2.4rem;
          margin-block-start: 2.4rem;
}
@media only screen and (max-width: 750px) {
  .wm-series-benefits-title--spaced {
    -webkit-margin-before: 1.5rem;
            margin-block-start: 1.5rem;
  }
}

.wm-series-benefits {
  -webkit-padding-start: 2rem;
          padding-inline-start: 2rem;
}
.wm-series-benefits li {
  list-style: disc;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

/* ALFLAK accessories row: powder feeder + nozzle (flattened, see gallery-flat) */
.wm-series-gallery--accessories {
  -ms-flex-negative: 1;
      flex-shrink: 1;
  min-width: 0;
  max-width: 100%;
}

.wm-series-gallery--accessories .wm-series-gallery-flat {
  width: 66.9rem;
}

.wm-series-details--accessories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.2rem;
}

.wm-series-topic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
}
.wm-series-topic img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 5.1rem;
  height: auto;
}
.wm-series-topic p {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
.wm-series-topic strong {
  font-weight: 700;
  color: #20469A;
}

/* Evolution of PLW-Machines */
#wm-evolution {
  background-color: #f8fafd;
}

.wm-evolution-diagram {
  padding-block: 4.8rem 12rem;
  overflow-x: auto;
}
@media only screen and (max-width: 1180px) {
  .wm-evolution-diagram {
    padding-block: 4rem 6rem;
  }
}
@media only screen and (max-width: 750px) {
  .wm-evolution-diagram {
    padding-block: 3.2rem 4rem;
  }
}
.wm-evolution-diagram img {
  display: block;
  width: 100%;
  min-width: 90rem;
  height: auto;
  border: 1px solid #20469A;
}

/* PLW-Machines Catalog */
#wm-catalog {
  background-color: #ffffff;
}

.wm-catalog-inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 326fr 1.7rem 391fr 1.7rem 391fr;
  grid-template-columns: 326fr 391fr 391fr;
  -webkit-column-gap: 1.7rem;
     -moz-column-gap: 1.7rem;
          column-gap: 1.7rem;
  padding-block: 4.8rem 12rem;
}
@media only screen and (max-width: 1180px) {
  .wm-catalog-inner {
    padding-block: 4rem 6rem;
  }
}
@media only screen and (max-width: 750px) {
  .wm-catalog-inner {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    row-gap: 4rem;
    max-width: 40rem;
    padding-block: 3.2rem 4rem;
  }
}

.wm-catalog-item {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 1fr 1.7rem 1fr 1.7rem auto;
  grid-template-rows: 1fr 1fr auto;
  row-gap: 1.7rem;
}
@media only screen and (max-width: 750px) {
  .wm-catalog-item {
    -ms-grid-rows: auto;
    grid-template-rows: auto;
  }
}

.wm-catalog-photo {
  position: relative;
  border: 1px solid #20469A;
}
@media only screen and (max-width: 750px) {
  .wm-catalog-photo {
    aspect-ratio: 16/9;
  }
}
.wm-catalog-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.wm-catalog-photo--cover {
  -ms-grid-row-span: 2;
  grid-row: span 2;
  aspect-ratio: 326/459;
}

.wm-catalog-action {
  display: -ms-grid;
  display: grid;
  justify-items: center;
  row-gap: 0.8rem;
}
.wm-catalog-action::before {
  content: "";
  width: 3.6rem;
  height: 4rem;
  background-color: #20469A;
  clip-path: polygon(30% 0, 70% 0, 70% 50%, 100% 50%, 50% 100%, 0 50%, 30% 50%);
}

.wm-catalog-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  padding: 0.8rem 2.4rem;
  background-color: #20469A;
  border-radius: 10rem;
  -webkit-transition: opacity var(--base-transition, 0.25s ease);
  transition: opacity var(--base-transition, 0.25s ease);
}
@media (any-hover: hover) {
  .wm-catalog-button:hover {
    opacity: 0.7;
  }
}
.wm-catalog-button img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 3rem;
  height: 2.4rem;
}
@media only screen and (max-width: 1180px) {
  .wm-catalog-button {
    gap: 1.3rem;
  }
}
@media only screen and (max-width: 850px) {
  .wm-catalog-button {
    gap: 1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wm-catalog-button {
    gap: 0.8rem;
  }
}

.wm-catalog-button-label {
  font-size: 1.6rem;
  line-height: 2rem;
  font-weight: 700;
  color: #ffffff;
}
@media only screen and (max-width: 1180px) {
  .wm-catalog-button-label {
    font-size: 1.5rem;
    line-height: 1.9rem;
  }
}
@media only screen and (max-width: 850px) {
  .wm-catalog-button-label {
    font-size: 1.45rem;
    line-height: 1.85rem;
  }
}
@media only screen and (max-width: 750px) {
  .wm-catalog-button-label {
    font-size: 1.4rem;
    line-height: 1.8rem;
  }
}

.wm-catalog-button--catalog::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 3.5rem;
  height: 2.4rem;
  -webkit-mask-image: url("/assets/images/welding-machines/icon-catalog-book.svg");
          mask-image: url("/assets/images/welding-machines/icon-catalog-book.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: #ffffff;
}

/* Shared ribbon heading (flag-shaped, blue banner) */
.sp-heading-ribbon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #20469A;
  color: #ffffff;
  font-weight: 700;
  white-space: nowrap;
}

.sp-heading-ribbon--hero {
  padding-inline: 3.2rem 6.4rem;
  padding-left: 6.9rem;
  padding-block: 1.6rem;
  font-size: 4.8rem;
  line-height: 5.6rem;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 3.6rem 100%);
}
@media only screen and (max-width: 1180px) {
  .sp-heading-ribbon--hero {
    padding-inline: 6rem 4rem;
    font-size: 3.8rem;
    line-height: 4.6rem;
  }
}
@media only screen and (max-width: 850px) {
  .sp-heading-ribbon--hero {
    font-size: 3.3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 750px) {
  .sp-heading-ribbon--hero {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-inline: 5%;
    padding-block: 1.5rem;
    font-size: 2.4rem;
    line-height: 3.2rem;
    white-space: normal;
    text-align: center;
    clip-path: none;
  }
}

.sp-heading-ribbon--section {
  padding-inline: 14.9rem 5.2rem;
  padding-block: 1.6rem;
  font-size: 3.6rem;
  line-height: 4rem;
  clip-path: polygon(0 0, 100% 0, calc(100% - 2.9rem) 100%, 0 100%);
}
@media only screen and (max-width: 1180px) {
  .sp-heading-ribbon--section {
    padding-inline: 3.2rem 4rem;
    font-size: 3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 850px) {
  .sp-heading-ribbon--section {
    font-size: 2.6rem;
    line-height: 3.3rem;
  }
}
@media only screen and (max-width: 750px) {
  .sp-heading-ribbon--section {
    padding-inline: 5% 4rem;
    padding-block: 1.6rem;
    font-size: 2.2rem;
    line-height: 2.6rem;
    white-space: normal;
    text-align: center;
  }
}

/* MV Inside */
#sp-mv-inside {
  position: relative;
  -webkit-border-before: 1px solid #20469A;
          border-block-start: 1px solid #20469A;
  background: -webkit-gradient(linear, left top, left bottom, from(#f0f3f6), color-stop(77.143%, rgba(240, 243, 246, 0)));
  background: linear-gradient(180deg, #f0f3f6 0%, rgba(240, 243, 246, 0) 77.143%);
  padding-block: 5.3rem 7.9rem;
}
@media only screen and (max-width: 1180px) {
  #sp-mv-inside {
    padding-block: 4rem;
  }
}

.sp-mv-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 1180px) {
  .sp-mv-top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.4rem;
  }
}

.sp-mv-logo {
  -webkit-padding-start: 6.9rem;
          padding-inline-start: 6.9rem;
}
@media only screen and (max-width: 1180px) {
  .sp-mv-logo {
    -webkit-padding-start: 0;
            padding-inline-start: 0;
  }
}
.sp-mv-logo img {
  display: block;
  width: 18.6rem;
  height: auto;
}

.sp-mv-quote {
  margin-block: 6.9rem 3.9rem;
  color: #20469A;
  font-size: 3.6rem;
  line-height: 4.4rem;
  font-weight: 700;
  font-style: italic;
  text-align: center;
  white-space: nowrap;
}
@media only screen and (max-width: 1180px) {
  .sp-mv-quote {
    margin-block: 4.8rem 3.2rem;
    white-space: normal;
  }
}
@media only screen and (max-width: 750px) {
  .sp-mv-quote {
    margin-block: 3.2rem 2.4rem;
    font-size: 2rem;
    line-height: 2.8rem;
  }
}

.sp-mv-gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 4.8rem;
}
@media only screen and (max-width: 1180px) {
  .sp-mv-gallery {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media only screen and (max-width: 750px) {
  .sp-mv-gallery {
    gap: 3.5rem;
  }
}

.sp-mv-gallery-item--catalog {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 31.4rem;
  max-width: 100%;
  border: 1px solid #20469A;
}
@media only screen and (max-width: 750px) {
  .sp-mv-gallery-item--catalog {
    width: 24rem;
  }
}
.sp-mv-gallery-item--catalog a {
  display: block;
  -webkit-transition: opacity var(--base-transition, 0.25s ease);
  transition: opacity var(--base-transition, 0.25s ease);
}
@media (any-hover: hover) {
  .sp-mv-gallery-item--catalog a:hover {
    opacity: 0.7;
  }
}
.sp-mv-gallery-item--catalog img {
  display: block;
  width: 100%;
  height: auto;
}

.sp-mv-gallery-item--photo {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 30rem;
  aspect-ratio: 789/444;
  border: 1px solid #20469A;
}

.sp-mv-gallery-video {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.sp-mv-gallery-play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 6.4rem;
  height: 6.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: none;
  padding: 0;
  background: none;
  color: #ffffff;
  cursor: pointer;
  -webkit-transition: opacity var(--base-transition);
  transition: opacity var(--base-transition);
}
.sp-mv-gallery-play img {
  display: block;
  width: 100%;
  height: 100%;
}
.is-playing .sp-mv-gallery-play {
  display: none;
}
@media (any-hover: hover) {
  .sp-mv-gallery-play:hover {
    opacity: 0.7;
  }
}

/* Machining Department */
#sp-md {
  background-color: #edeeef;
}

.sp-md-contents {
  padding-block: 4.8rem 12rem;
}
@media only screen and (max-width: 1180px) {
  .sp-md-contents {
    padding-block: 4rem 6rem;
  }
}
@media only screen and (max-width: 750px) {
  .sp-md-contents {
    padding-block: 3.2rem 4rem;
  }
}

.sp-md-services {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 4.8rem;
}
@media only screen and (max-width: 1180px) {
  .sp-md-services {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    row-gap: 3.2rem;
  }
}

/* Card: workshop */
.sp-md-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.4rem;
  width: 42rem;
  max-width: 100%;
  padding-block: 2.4rem;
  border-radius: 8px;
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.08);
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.08);
}

.sp-md-card-title {
  color: #20469A;
  font-size: 2.6rem;
  line-height: 3rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .sp-md-card-title {
    font-size: 2rem;
  }
}

.sp-md-card-photo {
  width: 100%;
  aspect-ratio: 420/250;
}
.sp-md-card-photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.sp-md-card-text {
  max-width: 100%;
  padding-inline: 3.2rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}
@media only screen and (max-width: 750px) {
  .sp-md-card-text {
    padding-inline: 2rem;
  }
}
.sp-md-card-text p {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
.sp-md-card-text strong {
  font-weight: 700;
}

.sp-md-card-more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  padding-inline: 1.6rem;
  padding-block: 0.8rem;
  border: 1px solid #cccccc;
  border-radius: 100px;
  background-color: #ffffff;
  font-size: 1.6rem;
  font-weight: 700;
  color: #000000;
}

.sp-md-card-more-pin {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 2.3rem;
  height: 2.9rem;
  -webkit-mask-image: url("/assets/images/commons/icon-map-pin.svg");
          mask-image: url("/assets/images/commons/icon-map-pin.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #20469A;
}

/* Content column */
.sp-md-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.6rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 30rem;
}
@media only screen and (max-width: 750px) {
  .sp-md-content {
    gap: 3.5rem;
  }
}

.sp-md-intro {
  color: #000000;
  font-size: 2.6rem;
  line-height: 3rem;
  font-weight: 400;
}
@media only screen and (max-width: 750px) {
  .sp-md-intro {
    font-size: 2rem;
  }
}
.sp-md-intro p {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
.sp-md-intro strong {
  font-weight: 700;
  color: #20469A;
}

@media only screen and (max-width: 750px) {
  .sp-md-intro-break {
    display: none;
  }
}

.sp-md-workspace {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  width: 100%;
}
@media only screen and (max-width: 750px) {
  .sp-md-workspace {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.sp-md-workspace-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 10.1rem;
  height: auto;
}
@media only screen and (max-width: 750px) {
  .sp-md-workspace-icon {
    width: 7.5rem;
  }
}

.sp-md-workspace-badge {
  padding-inline: 2.4rem;
  padding-block: 1.6rem;
  border-radius: 8px;
  background-color: #20469A;
  color: #ffffff;
  font-size: 2.6rem;
  line-height: 3rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .sp-md-workspace-badge {
    padding-inline: 2rem;
    font-size: 2rem;
  }
}

.sp-md-team {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4.8rem;
  width: 100%;
}
@media only screen and (max-width: 1180px) {
  .sp-md-team {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media only screen and (max-width: 750px) {
  .sp-md-team {
    gap: 3.5rem;
  }
}

.sp-md-team-symbol {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 17.1rem;
  height: auto;
}

.sp-md-team-photo-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.6rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 30rem;
  max-width: 44.1rem;
}
@media only screen and (max-width: 750px) {
  .sp-md-team-photo-group {
    gap: 1.5rem;
  }
}

.sp-md-team-photo {
  width: 100%;
  aspect-ratio: 441/293;
  border-radius: 8px;
  overflow: hidden;
}
.sp-md-team-photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.sp-md-team-caption {
  font-size: 2.3rem;
  line-height: 3rem;
  font-weight: 400;
  color: #000000;
}
@media only screen and (max-width: 750px) {
  .sp-md-team-caption {
    font-size: 1.8rem;
  }
}

/* Machining Capacities */
#sp-mc {
  background-color: #ffffff;
}

.sp-mc-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  row-gap: 3.2rem;
  padding-block: 4.8rem 12rem;
}
@media only screen and (max-width: 1180px) {
  .sp-mc-contents {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 3.2rem;
  }
}
@media only screen and (max-width: 750px) {
  .sp-mc-contents {
    padding-block: 3.2rem 4rem;
    gap: 2rem;
  }
}

.sp-mc-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.8rem;
  width: 55.6rem;
  max-width: 100%;
  min-width: 0;
  border: 2px solid #4d4d4d;
  border-radius: 8px;
  background-color: #ffffff;
  overflow: hidden;
}

.sp-mc-card-photo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 17rem;
  height: 100%;
}
@media only screen and (max-width: 750px) {
  .sp-mc-card-photo {
    width: 15rem;
  }
}
.sp-mc-card-photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.sp-mc-card-table {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.sp-mc-card-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1px;
}

.sp-mc-card-cell {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1.6rem;
  background-color: #1b7cfa;
  color: #ffffff;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}
@media only screen and (max-width: 1180px) {
  .sp-mc-card-cell {
    padding: 1.2rem;
    white-space: normal;
  }
}
@media only screen and (max-width: 750px) {
  .sp-mc-card-cell {
    padding: 0.8rem;
    font-size: 1.4rem;
    line-height: 2rem;
  }
}

.sp-mc-card-cell--label {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 38%;
          flex: 0 0 38%;
}

.sp-mc-card-row--light .sp-mc-card-cell {
  background-color: #27a9ff;
}

.sp-mc-note {
  width: 100%;
  margin-block: -1.6rem 0;
  font-size: 1.6rem;
  line-height: 2.4rem;
  color: #808080;
}
@media only screen and (max-width: 1180px) {
  .sp-mc-note {
    width: 55.6rem;
    max-width: 100%;
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
}
.sp-mc-note::before {
  content: "*";
  color: #ee210a;
  font-size: 2.4rem;
}
.sp-mc-note strong {
  font-weight: 700;
  color: #20469A;
}

/* Section heading + "More infos" badge (mirrors .ws-more-info on Welding Services) */
.sp-section-topic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 1180px) {
  .sp-section-topic {
    display: block;
  }
}

.sp-more-info {
  position: relative;
  z-index: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 7.2rem;
  -webkit-margin-start: -1.7rem;
          margin-inline-start: -1.7rem;
}
@media only screen and (max-width: 1180px) {
  .sp-more-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    -webkit-margin-before: 2.4rem;
            margin-block-start: 2.4rem;
  }
}
@media only screen and (max-width: 750px) {
  .sp-more-info {
    height: 5.6rem;
  }
}

.sp-more-info-ribbon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  padding-inline: 4.8rem;
  background-color: #20469A;
  color: #ffffff;
  font-size: 2.2rem;
  font-weight: 700;
  white-space: nowrap;
  clip-path: polygon(2.9rem 0, calc(100% - 2.9rem) 0, 100% 50%, calc(100% - 2.9rem) 100%, 0 100%);
}
@media only screen and (max-width: 750px) {
  .sp-more-info-ribbon {
    padding-inline: 2.4rem 3.6rem;
    font-size: 1.8rem;
    clip-path: polygon(1.6rem 0, calc(100% - 1.6rem) 0, 100% 50%, calc(100% - 1.6rem) 100%, 0 100%);
  }
}

.sp-more-info-badge {
  position: absolute;
  z-index: -1;
  inset-inline-start: 85%;
  inset-block-start: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 12.2rem;
  height: 100%;
  -webkit-padding-end: 2rem;
          padding-inline-end: 2rem;
  background-color: #ffffff;
  border: 3px solid #20469A;
}
@media only screen and (max-width: 750px) {
  .sp-more-info-badge {
    position: static;
    z-index: auto;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: auto;
    -webkit-margin-start: -1.6rem;
            margin-inline-start: -1.6rem;
    padding-inline: 3rem 1.6rem;
    border-width: 2px;
  }
}

.sp-more-info-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 4.6rem;
  height: 4.6rem;
  border-radius: 50%;
  overflow: hidden;
}
@media only screen and (max-width: 750px) {
  .sp-more-info-icon {
    width: 3.6rem;
    height: 3.6rem;
  }
}
.sp-more-info-icon img {
  display: block;
  width: 100%;
  height: 100%;
}

/* DSI Reverse Engineering */
#sp-re {
  background-color: #edeeef;
}

.sp-re-contents {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 4rem minmax(0, 1fr) 4rem minmax(0, 1fr);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  -webkit-column-gap: 4rem;
     -moz-column-gap: 4rem;
          column-gap: 4rem;
  padding-block: 4.8rem 12rem;
}
@media only screen and (max-width: 1180px) {
  .sp-re-contents {
    -webkit-column-gap: 2.4rem;
       -moz-column-gap: 2.4rem;
            column-gap: 2.4rem;
    padding-block: 4rem 6rem;
  }
}
@media only screen and (max-width: 850px) {
  .sp-re-contents {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    row-gap: 4rem;
    max-width: 56rem;
  }
}
@media only screen and (max-width: 750px) {
  .sp-re-contents {
    padding-block: 3.2rem 4rem;
  }
}

.sp-re-column {
  display: -ms-grid;
  display: grid;
  -ms-flex-line-pack: start;
      align-content: start;
  row-gap: 2.4rem;
}

.sp-re-text {
  -webkit-margin-after: 0;
          margin-block-end: 0;
  font-size: 1.6rem;
  line-height: 2.4rem;
  color: #000000;
}
.sp-re-text strong {
  font-weight: 700;
  color: #20469A;
}

.sp-re-photos {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 0.4rem minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.4rem;
}

.sp-re-photos--grid {
  gap: 1.6rem;
}

.sp-re-photo {
  border: 1px solid #20469A;
}
.sp-re-photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.sp-re-photo:not(.sp-re-photo--wide) {
  aspect-ratio: 16/11;
}

.sp-re-photos--grid .sp-re-photo {
  aspect-ratio: 4/3;
}

.sp-re-photo--wide {
  -ms-grid-column-span: 2;
  grid-column: span 2;
}

.sp-re-column:has(.sp-re-photos--fill) {
  -ms-grid-rows: auto 1fr;
  grid-template-rows: auto 1fr;
}
@media only screen and (max-width: 850px) {
  .sp-re-column:has(.sp-re-photos--fill) {
    -ms-grid-rows: none;
    grid-template-rows: none;
  }
}

.sp-re-photos--fill {
  -ms-grid-rows: auto 1fr;
  grid-template-rows: auto 1fr;
}
@media only screen and (max-width: 850px) {
  .sp-re-photos--fill {
    -ms-grid-rows: none;
    grid-template-rows: none;
  }
}

.sp-re-photos--fill .sp-re-photo--wide {
  position: relative;
  min-height: 12rem;
}
@media only screen and (max-width: 850px) {
  .sp-re-photos--fill .sp-re-photo--wide {
    min-height: 0;
  }
}
.sp-re-photos--fill .sp-re-photo--wide img {
  position: absolute;
  inset: 0;
}
@media only screen and (max-width: 850px) {
  .sp-re-photos--fill .sp-re-photo--wide img {
    position: static;
    height: auto;
  }
}

.sp-re-list-group {
  font-size: 1.6rem;
  line-height: 2.4rem;
  color: #000000;
}

.sp-re-list-title {
  -webkit-margin-after: 0.4rem;
          margin-block-end: 0.4rem;
  font-weight: 700;
  color: #20469A;
}

.sp-re-list {
  -webkit-padding-start: 2rem;
          padding-inline-start: 2rem;
}
.sp-re-list li {
  list-style: disc;
}

#ws {
  overflow: hidden;
}

/* Shared ribbon heading (flag-shaped, blue banner — same shape family as
   .wm-heading-ribbon / .sp-heading-ribbon on the sibling pages) */
.ws-heading-ribbon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #20469A;
  color: #ffffff;
  font-weight: 700;
  white-space: nowrap;
}

.ws-heading-ribbon--hero {
  padding-inline: 3.2rem 6.4rem;
  padding-left: 6.9rem;
  padding-block: 1.6rem;
  font-size: 4.8rem;
  line-height: 5.6rem;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 3.6rem 100%);
}
@media only screen and (max-width: 1180px) {
  .ws-heading-ribbon--hero {
    padding-inline: 6rem 4rem;
    font-size: 3.8rem;
    line-height: 4.6rem;
  }
}
@media only screen and (max-width: 850px) {
  .ws-heading-ribbon--hero {
    font-size: 3.3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 750px) {
  .ws-heading-ribbon--hero {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-inline: 5%;
    padding-block: 1.5rem;
    font-size: 2.4rem;
    line-height: 3.2rem;
    white-space: normal;
    text-align: center;
    clip-path: none;
  }
}

.ws-heading-ribbon--section {
  padding-inline: 14.9rem 5.2rem;
  padding-block: 1.6rem;
  font-size: 3.6rem;
  line-height: 4rem;
  clip-path: polygon(0 0, 100% 0, calc(100% - 2.9rem) 100%, 0 100%);
}
@media only screen and (max-width: 1180px) {
  .ws-heading-ribbon--section {
    padding-inline: 3.2rem 4rem;
    font-size: 3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 850px) {
  .ws-heading-ribbon--section {
    font-size: 2.6rem;
    line-height: 3.3rem;
  }
}
@media only screen and (max-width: 750px) {
  .ws-heading-ribbon--section {
    padding-inline: 5% 4rem;
    padding-block: 1.6rem;
    font-size: 2.2rem;
    line-height: 2.6rem;
    white-space: normal;
  }
}

/* MV Inside */
#ws-mv-inside {
  position: relative;
  -webkit-border-before: 1px solid #20469A;
          border-block-start: 1px solid #20469A;
  background: -webkit-gradient(linear, left top, left bottom, from(#f0f3f6), color-stop(77.143%, rgba(240, 243, 246, 0)));
  background: linear-gradient(180deg, #f0f3f6 0%, rgba(240, 243, 246, 0) 77.143%);
  padding-block: 5.3rem 7.9rem;
}
@media only screen and (max-width: 1180px) {
  #ws-mv-inside {
    padding-block: 4rem;
  }
}

.ws-mv-wrap {
  position: relative;
  text-align: right;
}
@media only screen and (max-width: 1180px) {
  .ws-mv-wrap {
    text-align: center;
  }
}

.ws-mv-logo {
  position: absolute;
  left: 6.9rem;
  top: 0;
}
@media only screen and (max-width: 1180px) {
  .ws-mv-logo {
    position: static;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-margin-after: 2.4rem;
            margin-block-end: 2.4rem;
  }
}

.ws-mv-diagram {
  -webkit-margin-before: 4rem;
          margin-block-start: 4rem;
  overflow-x: auto;
}
@media only screen and (max-width: 1180px) {
  .ws-mv-diagram {
    -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(#000), to(transparent));
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 4rem), transparent);
            mask-image: -webkit-gradient(linear, left top, right top, from(#000), to(transparent));
            mask-image: linear-gradient(to right, #000 calc(100% - 4rem), transparent);
  }
}
@media only screen and (max-width: 750px) {
  .ws-mv-diagram {
    width: 90%;
    margin-inline: auto;
  }
}

.ws-mv-diagram-inner {
  position: relative;
  width: 100%;
  max-width: 112.4rem;
  margin-inline: auto;
}
.ws-mv-diagram-inner img {
  display: block;
  width: 100%;
  height: auto;
}

.ws-mv-hotspot {
  display: block;
  position: absolute;
  left: calc(var(--hotspot-x) * 1%);
  top: calc(var(--hotspot-y) * 1%);
  width: calc(var(--hotspot-w) * 1%);
  height: calc(var(--hotspot-h) * 1%);
  cursor: pointer;
}
.ws-mv-hotspot::after {
  content: "";
  position: absolute;
  left: calc((var(--label-x) - var(--hotspot-x)) / var(--hotspot-w) * 100%);
  top: calc((var(--label-y) - var(--hotspot-y)) / var(--hotspot-h) * 100%);
  width: calc(var(--label-w) / var(--hotspot-w) * 100%);
  height: calc(var(--label-h) / var(--hotspot-h) * 100%);
  border-radius: 0.4rem;
  background-color: #ffffff;
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.ws-mv-hotspot:focus-visible::after {
  opacity: 0.3;
}
@media (any-hover: hover) {
  .ws-mv-hotspot:hover::after {
    opacity: 0.3;
  }
}

.ws-mv-hotspot--molds-dies {
  --hotspot-x: 16;
  --hotspot-y: 0;
  --hotspot-w: 32;
  --hotspot-h: 20;
  --label-x: 16.3;
  --label-y: 6.9;
  --label-w: 20.2;
  --label-h: 10.9;
}

.ws-mv-hotspot--plw-almost {
  --hotspot-x: 50;
  --hotspot-y: 0;
  --hotspot-w: 37;
  --hotspot-h: 20;
  --label-x: 62.8;
  --label-y: 6.9;
  --label-w: 24.0;
  --label-h: 10.9;
}

.ws-mv-hotspot--oil-gas {
  --hotspot-x: 5;
  --hotspot-y: 20;
  --hotspot-w: 38;
  --hotspot-h: 20;
  --label-x: 4.8;
  --label-y: 25.5;
  --label-w: 24.7;
  --label-h: 10.9;
}

.ws-mv-hotspot--cast-iron {
  --hotspot-x: 57;
  --hotspot-y: 20;
  --hotspot-w: 37;
  --hotspot-h: 20;
  --label-x: 69.7;
  --label-y: 25.5;
  --label-w: 24.7;
  --label-h: 10.9;
}

.ws-mv-hotspot--power-generating {
  --hotspot-x: 0;
  --hotspot-y: 37;
  --hotspot-w: 38;
  --hotspot-h: 20;
  --label-x: 0.9;
  --label-y: 44.4;
  --label-w: 22.0;
  --label-h: 11.1;
}

.ws-mv-hotspot--exotic-materials {
  --hotspot-x: 62;
  --hotspot-y: 37;
  --hotspot-w: 37;
  --hotspot-h: 20;
  --label-x: 76.4;
  --label-y: 44.4;
  --label-w: 22.0;
  --label-h: 11.1;
}

.ws-mv-hotspot--heavy-industry {
  --hotspot-x: 6;
  --hotspot-y: 57;
  --hotspot-w: 35;
  --hotspot-h: 20;
  --label-x: 6.7;
  --label-y: 63.3;
  --label-w: 22.9;
  --label-h: 11.1;
}

.ws-mv-hotspot--surface-engineering {
  --hotspot-x: 58;
  --hotspot-y: 57;
  --hotspot-w: 35;
  --hotspot-h: 20;
  --label-x: 69.7;
  --label-y: 63.3;
  --label-w: 22.9;
  --label-h: 11.1;
}

.ws-mv-hotspot--aerospace-defence {
  --hotspot-x: 14;
  --hotspot-y: 77;
  --hotspot-w: 35;
  --hotspot-h: 20;
  --label-x: 14.1;
  --label-y: 82.0;
  --label-w: 22.4;
  --label-h: 11.1;
}

.ws-mv-hotspot--mobile-welding {
  --hotspot-x: 49;
  --hotspot-y: 77;
  --hotspot-w: 37;
  --hotspot-h: 20;
  --label-x: 62.8;
  --label-y: 82.0;
  --label-w: 22.9;
  --label-h: 11.1;
}

/* Section (repeating industry/application blocks)
   The topic ribbon sits flush at the section's own top edge in Figma — only
   the bottom carries breathing room after the content columns. */
.ws-section {
  scroll-margin-block-start: 2rem;
  background-color: #ffffff;
  -webkit-padding-after: 12rem;
          padding-block-end: 12rem;
}
@media only screen and (max-width: 1180px) {
  .ws-section {
    -webkit-padding-after: 6rem;
            padding-block-end: 6rem;
  }
}
@media only screen and (max-width: 750px) {
  .ws-section {
    -webkit-padding-after: 4rem;
            padding-block-end: 4rem;
  }
}

.ws-section--alt {
  background-color: #edeeef;
}

/* Section topic: heading ribbon + "More infos" badge button */
.ws-section-topic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-margin-after: 4.8rem;
          margin-block-end: 4.8rem;
}
@media only screen and (max-width: 1180px) {
  .ws-section-topic {
    display: block;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (max-width: 750px) {
  .ws-section-topic {
    -webkit-margin-after: 3.5rem;
            margin-block-end: 3.5rem;
  }
}

.ws-more-info {
  position: relative;
  z-index: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 7.2rem;
  margin-left: -17px;
}
@media only screen and (max-width: 1180px) {
  .ws-more-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-inline: auto;
    -webkit-margin-before: 2.4rem;
            margin-block-start: 2.4rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media only screen and (max-width: 750px) {
  .ws-more-info {
    height: 5.6rem;
  }
}

.ws-more-info-ribbon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  padding-inline: 4.8rem;
  background-color: #20469A;
  color: #ffffff;
  font-size: 2.2rem;
  font-weight: 700;
  white-space: nowrap;
  clip-path: polygon(2.9rem 0, calc(100% - 2.9rem) 0, 100% 50%, calc(100% - 2.9rem) 100%, 0 100%);
}
@media only screen and (max-width: 750px) {
  .ws-more-info-ribbon {
    padding-inline: 2.4rem 3.6rem;
    font-size: 1.8rem;
    clip-path: polygon(1.6rem 0, calc(100% - 1.6rem) 0, 100% 50%, calc(100% - 1.6rem) 100%, 0 100%);
  }
}

.ws-more-info-badge {
  position: absolute;
  z-index: -1;
  inset-inline-start: 85%;
  inset-block-start: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 1rem;
  width: 12.2rem;
  height: 100%;
  -webkit-padding-end: 2rem;
          padding-inline-end: 2rem;
  background-color: #ffffff;
  border: 3px solid #20469A;
}
@media only screen and (max-width: 750px) {
  .ws-more-info-badge {
    position: static;
    z-index: auto;
    inset-inline-start: auto;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0.8rem;
    width: auto;
    padding-inline: 3rem 1.6rem;
    -webkit-margin-start: -1.6rem;
            margin-inline-start: -1.6rem;
    border-width: 2px;
  }
}

.ws-more-info-badge--double {
  width: 17.6rem;
}
@media only screen and (max-width: 750px) {
  .ws-more-info-badge--double {
    width: auto;
  }
}

.ws-more-info-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 4.6rem;
  height: 4.6rem;
  border-radius: 50%;
  overflow: hidden;
}
.ws-more-info-icon img {
  display: block;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 750px) {
  .ws-more-info-icon {
    width: 3.6rem;
    height: 3.6rem;
  }
}

/* Generic multi-column content layout (2, 3 or 4 columns depending on section) */
.ws-columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 3.2rem;
}
@media only screen and (max-width: 1180px) {
  .ws-columns {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media only screen and (max-width: 750px) {
  .ws-columns {
    gap: 3.5rem;
  }
}

.ws-column {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 30rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}
@media only screen and (max-width: 1180px) {
  .ws-column {
    width: 100%;
  }
}
.ws-column p {
  -webkit-margin-after: 2.4rem;
          margin-block-end: 2.4rem;
}
@media only screen and (max-width: 750px) {
  .ws-column p {
    -webkit-margin-after: 0;
            margin-block-end: 0;
  }
}
@media only screen and (max-width: 750px) {
  .ws-column p + p {
    -webkit-margin-before: 1.5rem;
            margin-block-start: 1.5rem;
  }
}
.ws-column strong {
  font-weight: 700;
  color: #20469A;
}
.ws-column em {
  font-style: italic;
}

.ws-column-title {
  font-weight: 700;
  color: #20469A;
}

.ws-text-red {
  color: #ee210a;
}

.ws-column strong.ws-text-red {
  color: #ee210a;
}

.ws-link-underline {
  text-decoration: underline;
}

.ws-column--wide {
  -webkit-box-flex: 2.13;
      -ms-flex: 2.13 2.13 0px;
          flex: 2.13 2.13 0;
}

.ws-columns--tight {
  -webkit-margin-before: 0.4rem;
          margin-block-start: 0.4rem;
  gap: 1rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.ws-column-stack {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 25.5rem;
}
@media only screen and (max-width: 1180px) {
  .ws-column-stack {
    width: 100%;
    max-width: 34.7rem;
    margin-inline: auto;
  }
}
@media only screen and (max-width: 750px) {
  .ws-column-stack {
    gap: 1.5rem;
    max-width: none;
  }
}
.ws-column-stack .ws-column-photo {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

.ws-column-photo {
  -webkit-margin-after: 2.4rem;
          margin-block-end: 2.4rem;
}
@media only screen and (max-width: 750px) {
  .ws-column-photo {
    -webkit-margin-after: 0;
            margin-block-end: 0;
  }
}
.ws-column-photo img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #20469A;
}

.ws-column-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
}
.ws-column-group .ws-column-photo {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

/* Checklist (✓ / ✕ prefixed feature lists) */
.ws-checklist {
  -webkit-margin-after: 2.4rem;
          margin-block-end: 2.4rem;
}
@media only screen and (max-width: 750px) {
  .ws-checklist {
    -webkit-margin-after: 0;
            margin-block-end: 0;
  }
}
.ws-checklist li {
  position: relative;
  -webkit-padding-start: 2.4rem;
          padding-inline-start: 2.4rem;
}
.ws-checklist li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0.4rem;
  width: 1.6rem;
  height: 1.6rem;
  background-color: #27b11f;
  -webkit-mask-image: url("/assets/images/welding-services/icon-checkmark.svg");
          mask-image: url("/assets/images/welding-services/icon-checkmark.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}

.ws-checklist--cross li::before {
  background-color: #ee210a;
  -webkit-mask-image: url("/assets/images/welding-services/icon-cross.svg");
          mask-image: url("/assets/images/welding-services/icon-cross.svg");
}

.ws-checklist li.is-cross::before {
  background-color: #ee210a;
  -webkit-mask-image: url("/assets/images/welding-services/icon-cross.svg");
          mask-image: url("/assets/images/welding-services/icon-cross.svg");
}

/* Oil & Gas / Petrochemical / Offshore: column widths measured off Figma
   (347 / 429 / 255). Only applied above the 1180px stacking breakpoint so
   the mobile full-width layout from the base rules is untouched. */
@media only screen and (min-width: 1181px) {
  #ws-anchor-oil-gas .ws-columns {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #ws-anchor-oil-gas .ws-columns .ws-column {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 34.7rem;
            flex: 0 1 34.7rem;
    min-width: 0;
  }
  #ws-anchor-oil-gas .ws-columns .ws-column--wide {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 43.9rem;
            flex: 0 1 43.9rem;
  }
  #ws-anchor-oil-gas .ws-columns .ws-column-stack {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 25.5rem;
            flex: 0 1 25.5rem;
  }
}
#ws-anchor-oil-gas .ws-column:first-child .ws-column-photo {
  -webkit-margin-after: 3.2rem;
          margin-block-end: 3.2rem;
}
@media only screen and (max-width: 750px) {
  #ws-anchor-oil-gas .ws-column:first-child .ws-column-photo {
    -webkit-margin-after: 2rem;
            margin-block-end: 2rem;
  }
}
#ws-anchor-oil-gas .ws-column--wide .ws-column-title,
#ws-anchor-oil-gas .ws-column--wide p:last-of-type {
  -webkit-margin-after: 1.2rem;
          margin-block-end: 1.2rem;
}
#ws-anchor-oil-gas .ws-column--wide .ws-checklist {
  -webkit-margin-after: 1.8rem;
          margin-block-end: 1.8rem;
}
#ws-anchor-oil-gas .ws-column--wide p {
  -webkit-margin-after: 2rem;
          margin-block-end: 2rem;
}
@media only screen and (max-width: 750px) {
  #ws-anchor-oil-gas .ws-column--wide p {
    -webkit-margin-after: 0;
            margin-block-end: 0;
  }
}
#ws-anchor-oil-gas .ws-column--wide .ws-columns--tight {
  -webkit-margin-before: 0;
          margin-block-start: 0;
}
#ws-anchor-oil-gas .ws-column--wide .ws-columns--tight .ws-column-photo {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
#ws-anchor-oil-gas .ws-column--wide .ws-columns--tight .ws-column-photo:nth-child(1) {
  width: 68%;
}
#ws-anchor-oil-gas .ws-column--wide .ws-columns--tight .ws-column-photo:nth-child(2) {
  width: 29.25%;
}

/* Heavy Industry: column widths measured off Figma (429 / 255 / 347 — same
   triplet as Oil & Gas, different order: wide text column first, photo
   stack second, checklist column last). Only applied above the 1180px
   stacking breakpoint so the mobile full-width layout is untouched. */
@media only screen and (min-width: 1181px) {
  #ws-anchor-heavy-industry .ws-columns {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #ws-anchor-heavy-industry .ws-columns .ws-column {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 34.7rem;
            flex: 0 1 34.7rem;
    min-width: 0;
  }
  #ws-anchor-heavy-industry .ws-columns .ws-column--wide {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 42.9rem;
            flex: 0 1 42.9rem;
  }
  #ws-anchor-heavy-industry .ws-columns .ws-column-stack {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 25.5rem;
            flex: 0 1 25.5rem;
  }
}
#ws-anchor-heavy-industry .ws-column--wide p:nth-of-type(3),
#ws-anchor-heavy-industry .ws-column--wide .ws-column-title {
  -webkit-margin-after: 1.8rem;
          margin-block-end: 1.8rem;
}
@media only screen and (max-width: 750px) {
  #ws-anchor-heavy-industry .ws-column--wide p:nth-of-type(3),
  #ws-anchor-heavy-industry .ws-column--wide .ws-column-title {
    -webkit-margin-after: 0;
            margin-block-end: 0;
  }
}
#ws-anchor-heavy-industry .ws-columns--tight {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 1.6rem;
          margin-block-end: 1.6rem;
  gap: 1rem;
}
#ws-anchor-heavy-industry .ws-checklist {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
#ws-anchor-heavy-industry .ws-column-photo {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

/* Aerospace / Defence (MRO): 3 equal columns measured off Figma
   (347 / 347 / 347). Only applied above the 1180px stacking breakpoint so
   the mobile full-width layout from the base rules is untouched. */
@media only screen and (min-width: 1181px) {
  #ws-anchor-aerospace-defence .ws-columns {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #ws-anchor-aerospace-defence .ws-columns .ws-column {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 34.7rem;
            flex: 0 1 34.7rem;
    min-width: 0;
  }
}
#ws-anchor-aerospace-defence .ws-column:first-child p:last-of-type {
  -webkit-margin-after: 3.2rem;
          margin-block-end: 3.2rem;
}
#ws-anchor-aerospace-defence .ws-column:nth-child(2) .ws-column-title:first-of-type {
  -webkit-margin-after: 1.6rem;
          margin-block-end: 1.6rem;
}
#ws-anchor-aerospace-defence .ws-column:nth-child(2) .ws-column-title:nth-of-type(2) {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
#ws-anchor-aerospace-defence .ws-column:nth-child(2) p:last-of-type {
  -webkit-margin-after: 1.6rem;
          margin-block-end: 1.6rem;
}
#ws-anchor-aerospace-defence .ws-grid-2x2 {
  -ms-grid-columns: 18.1rem 0 16.5rem;
  grid-template-columns: 18.1rem 16.5rem;
  gap: 0;
}
#ws-anchor-aerospace-defence .ws-grid-2x2 img {
  aspect-ratio: auto;
  height: 14rem;
}
@media only screen and (max-width: 750px) {
  #ws-anchor-aerospace-defence .ws-column-photo {
    -webkit-margin-after: 0;
            margin-block-end: 0;
  }
}

/* Mobile Welding at Customers Site: 3 equal columns measured off Figma
   (347 / 347 / 347). Only applied above the 1180px stacking breakpoint so
   the mobile full-width layout from the base rules is untouched. */
@media only screen and (min-width: 1181px) {
  #ws-anchor-mobile-welding .ws-columns {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #ws-anchor-mobile-welding .ws-columns .ws-column {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 34.7rem;
            flex: 0 1 34.7rem;
    min-width: 0;
  }
}
#ws-anchor-mobile-welding .ws-column:first-child p:last-of-type {
  -webkit-margin-after: 3.2rem;
          margin-block-end: 3.2rem;
}
#ws-anchor-mobile-welding .ws-column:nth-child(2) .ws-column-photo {
  -webkit-margin-after: 1.6rem;
          margin-block-end: 1.6rem;
}
#ws-anchor-mobile-welding .ws-column:nth-child(2) .ws-column-title {
  -webkit-margin-after: 1.6rem;
          margin-block-end: 1.6rem;
}
#ws-anchor-mobile-welding .ws-column:nth-child(2) p {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
#ws-anchor-mobile-welding .ws-column:nth-child(3) .ws-column-photo {
  -webkit-margin-after: 1.6rem;
          margin-block-end: 1.6rem;
}

/* DSI Surface Engineering: 2 columns measured off Figma (347 / 744). Only
   applied above the 1180px stacking breakpoint so the mobile full-width
   layout from the base rules is untouched. */
@media only screen and (min-width: 1181px) {
  #ws-anchor-surface-engineering .ws-columns {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #ws-anchor-surface-engineering .ws-columns .ws-column {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 34.7rem;
            flex: 0 1 34.7rem;
    min-width: 0;
  }
  #ws-anchor-surface-engineering .ws-columns .ws-column--wide {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 74.4rem;
            flex: 0 1 74.4rem;
  }
}
#ws-anchor-surface-engineering .ws-column:first-child p:first-of-type,
#ws-anchor-surface-engineering .ws-column:first-child .ws-column-photo {
  -webkit-margin-after: 1.6rem;
          margin-block-end: 1.6rem;
}
#ws-anchor-surface-engineering .ws-column--wide .ws-column-title {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
#ws-anchor-surface-engineering .ws-column--wide p:last-of-type {
  -webkit-margin-after: 4.8rem;
          margin-block-end: 4.8rem;
}
@media only screen and (max-width: 750px) {
  #ws-anchor-surface-engineering .ws-column--wide p:last-of-type {
    -webkit-margin-after: 3.5rem;
            margin-block-end: 3.5rem;
  }
}

/* Exotic Materials and Combinations: 2 columns measured off Figma
   (347 / 744). Only applied above the 1180px stacking breakpoint so the
   mobile full-width layout from the base rules is untouched. */
@media only screen and (min-width: 1181px) {
  #ws-anchor-exotic-materials .ws-columns {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #ws-anchor-exotic-materials .ws-columns .ws-column {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 34.7rem;
            flex: 0 1 34.7rem;
    min-width: 0;
  }
  #ws-anchor-exotic-materials .ws-columns .ws-column--wide {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 74.4rem;
            flex: 0 1 74.4rem;
  }
}
#ws-anchor-exotic-materials .ws-column:first-child .ws-column-photo,
#ws-anchor-exotic-materials .ws-column:first-child p {
  -webkit-margin-after: 1.6rem;
          margin-block-end: 1.6rem;
}

/* PLW - (almost) unlimited Applications: the only section whose "contents"
   frame is centered with 120px padding top AND bottom in Figma (every
   other section uses the standard 48px topic-to-content gap). */
#ws-anchor-plw-almost .ws-section-topic {
  -webkit-margin-after: 12rem;
          margin-block-end: 12rem;
}
@media only screen and (max-width: 1180px) {
  #ws-anchor-plw-almost .ws-section-topic {
    -webkit-margin-after: 6rem;
            margin-block-end: 6rem;
  }
}
@media only screen and (max-width: 750px) {
  #ws-anchor-plw-almost .ws-section-topic {
    -webkit-margin-after: 4rem;
            margin-block-end: 4rem;
  }
}

/* Molds & Dies: column rhythm (measured off Figma — each column's own gap
   replaces the generic paragraph/photo/checklist margins below). */
#ws-anchor-molds-dies .ws-columns .ws-column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.6rem;
}
@media only screen and (max-width: 750px) {
  #ws-anchor-molds-dies .ws-columns .ws-column {
    gap: 1.5rem;
  }
}
#ws-anchor-molds-dies .ws-columns .ws-column p, #ws-anchor-molds-dies .ws-columns .ws-column .ws-column-photo, #ws-anchor-molds-dies .ws-columns .ws-column .ws-checklist {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
#ws-anchor-molds-dies .ws-columns .ws-column:first-child {
  gap: 3.2rem;
}
#ws-anchor-molds-dies .ws-columns .ws-column:nth-child(3) {
  gap: 1rem;
}

/* Molds & Dies: macro photo pair + catalog cover
   Column widths measured off Figma (134 / 203). */
.ws-md-macro-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 13.4rem 2.3rem 20.3rem;
  grid-template-columns: 13.4rem 20.3rem;
  gap: 1.5rem 2.3rem;
  -webkit-margin-before: 1rem;
          margin-block-start: 1rem;
}
@media only screen and (max-width: 750px) {
  .ws-md-macro-grid {
    margin-top: 20px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.ws-md-macro-photo:nth-child(1) {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
}

.ws-md-macro-photo:nth-child(2) {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 2;
  grid-row: 2;
}

.ws-md-macro-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  border: 1px solid #20469A;
}

.ws-md-macro-catalog {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  grid-row: 1/3;
}
.ws-md-macro-catalog img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #20469A;
}

/* 2x2 photo grid (Power Generating / Heavy Industry style columns) */
.ws-grid-2x2 {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.8rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.8rem;
  -webkit-margin-after: 2.4rem;
          margin-block-end: 2.4rem;
}
@media only screen and (max-width: 750px) {
  .ws-grid-2x2 {
    gap: 1.2rem;
    -webkit-margin-after: 0;
            margin-block-end: 0;
  }
}
.ws-grid-2x2 img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 169/126;
  -o-object-fit: cover;
     object-fit: cover;
  border: 1px solid #20469A;
}

.ws-grid-2x2--md img {
  aspect-ratio: 173/140;
}

@media only screen and (max-width: 750px) {
  .ws-grid-2x2 + p {
    -webkit-margin-before: 1.5rem;
            margin-block-start: 1.5rem;
  }
}

.ws-grid-2x2--sm {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 30rem;
}
@media only screen and (max-width: 750px) {
  .ws-grid-2x2--sm {
    width: 100%;
  }
}
.ws-grid-2x2--sm img {
  aspect-ratio: 146/126;
}

/* DSI Surface Engineering: 2x2 impeller grid + sample photo + certificate scan */
.ws-se-photo-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2.4rem;
}
@media only screen and (max-width: 1180px) {
  .ws-se-photo-row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

/* Exotic Materials: periodic-table element icons. The icon row is centered
   over 2 underlines of different widths (measured off Figma), not a single
   full-width border. */
.ws-em-elements {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.4rem;
  padding-block: 0.5rem 3.1rem;
}
.ws-em-elements img {
  width: 8.6rem;
  height: 8.6rem;
}

.ws-em-elements::before,
.ws-em-elements::after {
  content: "";
  position: absolute;
  left: 50%;
  height: 1px;
  background-color: #20469A;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.ws-em-elements::before {
  bottom: 0.8rem;
  width: 30.6rem;
}

.ws-em-elements::after {
  bottom: 0;
  width: 23.4rem;
}

.ws-em-elements--inline {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  gap: 1.6rem;
  padding-block: 0;
}
@media only screen and (max-width: 750px) {
  .ws-em-elements--inline {
    margin: 0 auto;
  }
}

.ws-em-elements--inline::before,
.ws-em-elements--inline::after {
  content: none;
}

.ws-em-content-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2.8rem;
  -webkit-margin-after: 0.8rem;
          margin-block-end: 0.8rem;
}
@media only screen and (max-width: 1180px) {
  .ws-em-content-row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.ws-em-content-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 30rem;
}
.ws-em-content-text p {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
.ws-em-content-text p:nth-of-type(3),
.ws-em-content-text p:nth-of-type(4) {
  -webkit-margin-after: 1.6rem;
          margin-block-end: 1.6rem;
}

.ws-em-checklist-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.6rem;
}
.ws-em-checklist-row .ws-checklist {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
@media only screen and (max-width: 1180px) {
  .ws-em-checklist-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 2.4rem;
  }
}

.ws-em-stack {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.8rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media only screen and (max-width: 750px) {
  .ws-em-stack {
    width: 100%;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
.ws-em-stack img {
  display: block;
  width: 18rem;
  height: 16.7rem;
  -o-object-fit: cover;
     object-fit: cover;
  border: 1px solid #20469A;
}
@media only screen and (max-width: 750px) {
  .ws-em-stack img {
    width: 100%;
    height: auto;
  }
}

.ws-em-row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.8rem 1fr 0.8rem 1fr 0.8rem 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.8rem;
  width: 100%;
}
.ws-em-row img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 180/167;
  -o-object-fit: cover;
     object-fit: cover;
  border: 1px solid #20469A;
}
@media only screen and (max-width: 1180px) {
  .ws-em-row {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Cast Iron: intro paragraph + 8-photo grid + datasheet */
.ws-ci-layout p {
  -webkit-margin-after: 6.4rem;
          margin-block-end: 6.4rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}
@media only screen and (max-width: 1180px) {
  .ws-ci-layout p {
    -webkit-margin-after: 3.2rem;
            margin-block-end: 3.2rem;
  }
}
.ws-ci-layout p strong {
  font-weight: 700;
  color: #20469A;
}

.ws-ci-photo-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 1180px) {
  .ws-ci-photo-row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.4rem;
  }
}

.ws-ci-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 24rem 0.8rem 20rem 0.8rem 20rem 0.8rem 20rem;
  grid-template-columns: 24rem repeat(3, 20rem);
  gap: 0.8rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.ws-ci-grid img {
  display: block;
  width: 100%;
  height: 17rem;
  -o-object-fit: cover;
     object-fit: cover;
  border: 1px solid #20469A;
}
@media only screen and (max-width: 1180px) {
  .ws-ci-grid {
    -ms-flex-negative: 1;
        flex-shrink: 1;
    width: 100%;
    max-width: 44rem;
    -ms-grid-columns: (minmax(16rem, 1fr))[2];
    grid-template-columns: repeat(2, minmax(16rem, 1fr));
  }
  .ws-ci-grid img {
    height: auto;
    aspect-ratio: 200/170;
  }
}

.ws-ci-datasheet {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 24.7rem;
  border: 1px solid #20469A;
}
.ws-ci-datasheet img {
  border: none;
}

/* PLW - (almost) unlimited Applications: 4 equal columns, each a 2x3 photo grid */
.ws-pw-columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2.4rem;
}
@media only screen and (max-width: 1180px) {
  .ws-pw-columns {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.ws-pw-column {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 26.8rem;
  border: 1px solid #20469A;
  -webkit-padding-before: 0.8rem;
          padding-block-start: 0.8rem;
}

.ws-pw-column-title {
  padding-inline: 0.8rem;
  -webkit-padding-after: 0.8rem;
          padding-block-end: 0.8rem;
  color: #20469A;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .ws-pw-column-title {
    font-size: 2rem;
  }
}

.ws-pw-grid img {
  width: 100%;
  height: auto;
}

/* Power Generating / Turbo Machinery: 3 equal columns measured off Figma
   (347 / 347 / 347). Only applied above the 1180px stacking breakpoint so
   the mobile full-width layout from the base rules is untouched. */
@media only screen and (min-width: 1181px) {
  #ws-anchor-power-generating .ws-columns {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #ws-anchor-power-generating .ws-columns .ws-column {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 34.7rem;
            flex: 0 1 34.7rem;
    min-width: 0;
  }
}
#ws-anchor-power-generating {
  overflow: hidden;
}
#ws-anchor-power-generating .ws-column:first-child p {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
#ws-anchor-power-generating .ws-column:first-child p:last-of-type {
  -webkit-margin-after: 3.2rem;
          margin-block-end: 3.2rem;
}
#ws-anchor-power-generating .ws-column-title,
#ws-anchor-power-generating .ws-checklist,
#ws-anchor-power-generating .ws-column:nth-child(2) p:last-of-type {
  -webkit-margin-after: 1.6rem;
          margin-block-end: 1.6rem;
}
@media only screen and (max-width: 750px) {
  #ws-anchor-power-generating .ws-column-title,
  #ws-anchor-power-generating .ws-checklist,
  #ws-anchor-power-generating .ws-column:nth-child(2) p:last-of-type {
    -webkit-margin-after: 1.5rem;
            margin-block-end: 1.5rem;
  }
}

/* Photo with a small decorative badge icon overlapping its edge (Power
   Generating: position measured off Figma — the icon sits above the photo's
   top edge, offset from the photo's left, not centered on its side). */
.ws-column-photo--badge {
  position: relative;
}

.ws-pg-final-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.9rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.9rem;
}
.ws-pg-final-grid img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 169/236;
  -o-object-fit: cover;
     object-fit: cover;
  border: 1px solid #20469A;
}

.ws-column-photo--badge .ws-column-photo-badge {
  position: absolute;
  left: 22.2rem;
  top: -15.6rem;
  width: 11.2rem;
  height: 11.2rem;
  border: none;
}
@media only screen and (max-width: 1180px) {
  .ws-column-photo--badge .ws-column-photo-badge {
    left: auto;
    top: -1.6rem;
    right: -1.6rem;
    width: 8rem;
    height: 8rem;
  }
}
@media only screen and (max-width: 750px) {
  .ws-column-photo--badge .ws-column-photo-badge {
    top: -100px;
    right: 0;
    width: 80px;
    height: 80px;
  }
}

#sm {
  overflow: hidden;
}

/* Shared ribbon heading (flag-shaped, blue banner — same shape family as
   .ws-heading-ribbon / .sp-heading-ribbon / .wm-heading-ribbon on the
   sibling pages). The hero variant is ported 1:1 from .ws-heading-ribbon--hero:
   flush to the right edge of the viewport, notch cut on the bottom-left. */
.sm-heading-ribbon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #20469A;
  color: #ffffff;
  font-weight: 700;
  white-space: nowrap;
}

.sm-heading-ribbon--hero {
  padding-inline: 3.2rem 6.4rem;
  padding-left: 6.9rem;
  padding-block: 1.6rem;
  font-size: 4.8rem;
  line-height: 5.6rem;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 3.6rem 100%);
}
@media only screen and (max-width: 1180px) {
  .sm-heading-ribbon--hero {
    padding-inline: 6rem 4rem;
    font-size: 3.8rem;
    line-height: 4.6rem;
  }
}
@media only screen and (max-width: 850px) {
  .sm-heading-ribbon--hero {
    font-size: 3.3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 750px) {
  .sm-heading-ribbon--hero {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-inline: 5%;
    padding-block: 1.5rem;
    font-size: 2.4rem;
    line-height: 3.2rem;
    white-space: normal;
    text-align: center;
    clip-path: none;
  }
}

/* MV Inside */
#sm-mv-inside {
  position: relative;
  -webkit-border-before: 1px solid #20469A;
          border-block-start: 1px solid #20469A;
  background: -webkit-gradient(linear, left top, left bottom, from(#f0f3f6), color-stop(77.143%, rgba(240, 243, 246, 0)));
  background: linear-gradient(180deg, #f0f3f6 0%, rgba(240, 243, 246, 0) 77.143%);
  padding-block: 5.3rem 19rem;
}
@media only screen and (max-width: 1180px) {
  #sm-mv-inside {
    padding-block: 4rem;
  }
}

.sm-mv-top {
  position: relative;
  text-align: right;
}
@media only screen and (max-width: 1180px) {
  .sm-mv-top {
    text-align: center;
  }
}

.sm-mv-logo {
  position: absolute;
  left: 6.9rem;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.2rem;
}
@media only screen and (max-width: 1180px) {
  .sm-mv-logo {
    position: static;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-margin-after: 2.4rem;
            margin-block-end: 2.4rem;
  }
}
@media only screen and (max-width: 750px) {
  .sm-mv-logo {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

/* Catalog cover + service category cards */
.sm-mv-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4.8rem;
  -webkit-margin-before: 11rem;
          margin-block-start: 11rem;
}
@media only screen and (max-width: 1180px) {
  .sm-mv-content {
    -webkit-margin-before: 4rem;
            margin-block-start: 4rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (max-width: 750px) {
  .sm-mv-content {
    gap: 4rem;
  }
}

.sm-mv-catalog {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 31.4rem;
}
.sm-mv-catalog img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #20469A;
}
@media only screen and (max-width: 1180px) {
  .sm-mv-catalog {
    width: 24rem;
  }
}

.sm-mv-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.8rem;
  width: 82rem;
  max-width: 100%;
}
@media only screen and (max-width: 1180px) {
  .sm-mv-grid {
    gap: 2.4rem;
  }
}
@media only screen and (max-width: 750px) {
  .sm-mv-grid {
    max-width: 90%;
  }
}

.sm-mv-grid-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4.8rem;
}
@media only screen and (max-width: 750px) {
  .sm-mv-grid-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.6rem;
  }
}

.sm-mv-card {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.6rem;
  min-height: 19.8rem;
  padding: 2.4rem 1.6rem;
  border-radius: 0.8rem;
  background-color: #ffffff;
  -webkit-box-shadow: 0.8rem 0.8rem 1.5rem rgba(0, 0, 0, 0.24);
          box-shadow: 0.8rem 0.8rem 1.5rem rgba(0, 0, 0, 0.24);
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .sm-mv-card {
    min-height: 0;
  }
}

.sm-mv-card-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 8.6rem;
  height: 8.6rem;
}
.sm-mv-card-icon img {
  display: block;
  width: 100%;
  height: 100%;
}

.sm-mv-card-label {
  font-size: 2rem;
  line-height: 2.4rem;
  font-weight: 700;
  color: #000000;
}

/* Section (repeating topic blocks) — same ribbon + "More infos" badge shape
   family as .ws-section-topic / .ws-heading-ribbon--section / .ws-more-info
   on the welding-services page; ported 1:1 since the Figma shapes and
   measurements match exactly. */
.sm-section {
  scroll-margin-block-start: 2rem;
  background-color: #ffffff;
  -webkit-padding-after: 12rem;
          padding-block-end: 12rem;
}
@media only screen and (max-width: 1180px) {
  .sm-section {
    -webkit-padding-after: 6rem;
            padding-block-end: 6rem;
  }
}
@media only screen and (max-width: 750px) {
  .sm-section {
    -webkit-padding-after: 4rem;
            padding-block-end: 4rem;
  }
}

.sm-section--alt {
  background-color: #edeeef;
}

.sm-heading-ribbon--section {
  padding-inline: 14.9rem 5.2rem;
  padding-block: 1.6rem;
  font-size: 3.6rem;
  line-height: 4rem;
  clip-path: polygon(0 0, 100% 0, calc(100% - 2.9rem) 100%, 0 100%);
}
@media only screen and (max-width: 1180px) {
  .sm-heading-ribbon--section {
    padding-inline: 3.2rem 4rem;
    font-size: 3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 850px) {
  .sm-heading-ribbon--section {
    font-size: 2.6rem;
    line-height: 3.3rem;
  }
}
@media only screen and (max-width: 750px) {
  .sm-heading-ribbon--section {
    padding-inline: 5% 4rem;
    padding-block: 1.6rem;
    font-size: 2.2rem;
    line-height: 2.6rem;
    white-space: normal;
    text-align: center;
  }
}

.sm-section-topic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-margin-after: 4.8rem;
          margin-block-end: 4.8rem;
}
@media only screen and (max-width: 1180px) {
  .sm-section-topic {
    display: block;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (max-width: 750px) {
  .sm-section-topic {
    -webkit-margin-after: 3.5rem;
            margin-block-end: 3.5rem;
  }
}

.sm-more-info {
  position: relative;
  z-index: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 7.2rem;
  margin-left: -17px;
}
@media only screen and (max-width: 1180px) {
  .sm-more-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-inline: auto;
    -webkit-margin-before: 2.4rem;
            margin-block-start: 2.4rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media only screen and (max-width: 750px) {
  .sm-more-info {
    height: 5.6rem;
  }
}

.sm-more-info-ribbon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  padding-inline: 4.8rem;
  background-color: #20469A;
  color: #ffffff;
  font-size: 2.2rem;
  font-weight: 700;
  white-space: nowrap;
  clip-path: polygon(2.9rem 0, calc(100% - 2.9rem) 0, 100% 50%, calc(100% - 2.9rem) 100%, 0 100%);
}
@media only screen and (max-width: 750px) {
  .sm-more-info-ribbon {
    padding-inline: 2.4rem 3.6rem;
    font-size: 1.8rem;
    clip-path: polygon(1.6rem 0, calc(100% - 1.6rem) 0, 100% 50%, calc(100% - 1.6rem) 100%, 0 100%);
  }
}

.sm-more-info-badge {
  position: absolute;
  z-index: -1;
  inset-inline-start: 85%;
  inset-block-start: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 1rem;
  width: 12.2rem;
  height: 100%;
  -webkit-padding-end: 2rem;
          padding-inline-end: 2rem;
  background-color: #ffffff;
  border: 3px solid #20469A;
}
@media only screen and (max-width: 750px) {
  .sm-more-info-badge {
    position: static;
    z-index: auto;
    inset-inline-start: auto;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0.8rem;
    width: auto;
    padding-inline: 3rem 1.6rem;
    -webkit-margin-start: -1.6rem;
            margin-inline-start: -1.6rem;
    border-width: 2px;
  }
}

.sm-more-info-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 4.6rem;
  height: 4.6rem;
  border-radius: 50%;
  overflow: hidden;
}
.sm-more-info-icon img {
  display: block;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 750px) {
  .sm-more-info-icon {
    width: 3.6rem;
    height: 3.6rem;
  }
}

/* Installation & Commissioning I: intro paragraph + 3 photo columns
   (462 / 280 / 280 measured off Figma). */
.sm-ic-contents > p {
  -webkit-margin-after: 4.8rem;
          margin-block-end: 4.8rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}
@media only screen and (max-width: 750px) {
  .sm-ic-contents > p {
    -webkit-margin-after: 2.4rem;
            margin-block-end: 2.4rem;
  }
}
.sm-ic-contents > p strong {
  font-weight: 700;
  color: #20469A;
}

.sm-ic-columns {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.6rem 1fr 1.6rem 1fr 1.6rem 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.6rem;
}
@media only screen and (max-width: 1180px) {
  .sm-ic-columns {
    -ms-grid-columns: 1fr 1.6rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 3.2rem 1.6rem;
  }
}
@media only screen and (max-width: 750px) {
  .sm-ic-columns {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 3.5rem;
  }
}

.sm-ic-column {
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}

.sm-ic-photo {
  aspect-ratio: 278/166;
}
.sm-ic-photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border: 1px solid #20469A;
}

.sm-ic-column-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 6rem;
  padding: 0.8rem;
  border: 1px solid #20469A;
  background-color: #e6edfb;
  color: #20469A;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 700;
  text-align: center;
}

/* Installation & Commissioning II: intro text + quote + 3-photo row,
   paired with a Work Instruction (WI) document column (800 / 282 measured
   off Figma). No padding-block-end here — .sm-section already owns the
   section's bottom space (same reasoning as .sm-ic-contents above). */
.sm-ic2-columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 6rem;
}
@media only screen and (max-width: 1180px) {
  .sm-ic2-columns {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media only screen and (max-width: 750px) {
  .sm-ic2-columns {
    gap: 3.5rem;
  }
}

.sm-ic2-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  max-width: 80rem;
}
@media only screen and (max-width: 750px) {
  .sm-ic2-main {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
}

.sm-ic2-text {
  -webkit-margin-after: 4.75rem;
          margin-block-end: 4.75rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}
@media only screen and (max-width: 750px) {
  .sm-ic2-text {
    -webkit-margin-after: 3.5rem;
            margin-block-end: 3.5rem;
  }
}
.sm-ic2-text p:first-child {
  -webkit-margin-after: 2.4rem;
          margin-block-end: 2.4rem;
}
@media only screen and (max-width: 750px) {
  .sm-ic2-text p:first-child {
    -webkit-margin-after: 1.5rem;
            margin-block-end: 1.5rem;
  }
}

.sm-ic2-quote {
  -webkit-margin-after: 4.75rem;
          margin-block-end: 4.75rem;
  font-size: 2rem;
  line-height: 2.4rem;
  font-weight: 700;
  font-style: italic;
  color: #20469A;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .sm-ic2-quote {
    -webkit-margin-after: 3.5rem;
            margin-block-end: 3.5rem;
  }
}

.sm-ic2-photo-row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 26rem 1rem 26rem 1rem 26rem;
  grid-template-columns: repeat(3, 26rem);
  gap: 1rem;
}
@media only screen and (max-width: 1180px) {
  .sm-ic2-photo-row {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}
.sm-ic2-photo-row img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border: 1px solid #20469A;
}

.sm-ic2-photo {
  aspect-ratio: 260/230;
}

.sm-ic2-doc {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.6rem;
  width: 28.2rem;
}
@media only screen and (max-width: 1180px) {
  .sm-ic2-doc {
    width: 100%;
    max-width: 28.2rem;
  }
}

.sm-ic2-doc-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 282/413;
  -o-object-fit: cover;
     object-fit: cover;
  border: 1px solid #20469A;
}

.sm-ic2-doc-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 4rem;
  padding-inline: 0.8rem;
  border: 1px solid #20469A;
  background-color: #e6edfb;
  color: #20469A;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 700;
  text-align: center;
}

/* Preventive Maintenance I: centered quote + checklist/process column
   paired with a photo group (533 / 551 measured off Figma, no explicit
   gap — the two sides justify-content:space-between across 1142px). */
.sm-pm1-contents > .sm-pm1-quote {
  -webkit-margin-after: 4.8rem;
          margin-block-end: 4.8rem;
}
@media only screen and (max-width: 750px) {
  .sm-pm1-contents > .sm-pm1-quote {
    -webkit-margin-after: 3.5rem;
            margin-block-end: 3.5rem;
  }
}

.sm-pm1-quote {
  font-size: 2rem;
  line-height: 4rem;
  font-weight: 700;
  font-style: italic;
  color: #000000;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .sm-pm1-quote {
    line-height: 3.5rem;
  }
}
.sm-pm1-quote strong {
  font-weight: 700;
  color: #20469A;
}

.sm-pm1-columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 4rem;
}
@media only screen and (max-width: 1180px) {
  .sm-pm1-columns {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.sm-pm1-column {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 55rem;
          flex: 0 1 55rem;
  min-width: 30rem;
}

.sm-pm1-column-title {
  -webkit-margin-after: 1.6rem;
          margin-block-end: 1.6rem;
  color: #20469A;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 700;
}

.sm-pm1-checklist {
  -webkit-margin-after: 2.4rem;
          margin-block-end: 2.4rem;
}
.sm-pm1-checklist li {
  position: relative;
  -webkit-padding-start: 2.4rem;
          padding-inline-start: 2.4rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}
.sm-pm1-checklist li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0.4rem;
  width: 1.6rem;
  height: 1.6rem;
  background-color: #27b11f;
  -webkit-mask-image: url("/assets/images/service-maintenance/sm-icon-checkmark.svg");
          mask-image: url("/assets/images/service-maintenance/sm-icon-checkmark.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.sm-pm1-subtitle {
  -webkit-margin-after: 1.6rem;
          margin-block-end: 1.6rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 700;
  color: #000000;
}

.sm-pm1-process {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.6rem;
}
.sm-pm1-process li {
  position: relative;
  -webkit-padding-start: 2.4rem;
          padding-inline-start: 2.4rem;
}
.sm-pm1-process li::before {
  content: "⇒";
  position: absolute;
  inset-inline-start: 0;
  color: #27b11f;
  font-size: 1.6rem;
  line-height: 2.4rem;
}

.sm-pm1-process-title {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}

.sm-pm1-process-detail {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}
.sm-pm1-process-detail::before {
  content: "- ";
}

.sm-pm1-photos {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 55.1rem;
          flex: 0 1 55.1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
}
@media only screen and (max-width: 1180px) {
  .sm-pm1-photos {
    width: 100%;
    max-width: 55.1rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media only screen and (max-width: 750px) {
  .sm-pm1-photos {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.sm-pm1-photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border: 1px solid #20469A;
}

.sm-pm1-photo--tall {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  height: 38rem;
}
@media only screen and (max-width: 750px) {
  .sm-pm1-photo--tall {
    height: auto;
    aspect-ratio: 273/380;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
}

.sm-pm1-photo-stack {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.05rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media only screen and (max-width: 750px) {
  .sm-pm1-photo-stack {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 26rem;
  }
}
.sm-pm1-photo-stack .sm-pm1-photo {
  height: 18.5rem;
}
@media only screen and (max-width: 750px) {
  .sm-pm1-photo-stack .sm-pm1-photo {
    height: auto;
    aspect-ratio: 262/185;
  }
}

/* Preventive Maintenance II: "why PM" feature list + plan comparison table
   (289 / 793 measured off Figma). This table's borders are black, not blue —
   matching the Figma table literally (a plain data-grid look, distinct from
   the blue-bordered photo frames used everywhere else on this page). */
.sm-pm2-columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 6rem;
}
@media only screen and (max-width: 1180px) {
  .sm-pm2-columns {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media only screen and (max-width: 750px) {
  .sm-pm2-columns {
    gap: 3.5rem;
  }
}

.sm-pm2-column {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 28.9rem;
          flex: 0 0 28.9rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
}
@media only screen and (max-width: 1180px) {
  .sm-pm2-column {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 44rem;
            flex: 0 1 44rem;
  }
}
@media only screen and (max-width: 750px) {
  .sm-pm2-column {
    gap: 2rem;
  }
}

.sm-pm2-column-title {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}
.sm-pm2-column-title strong {
  font-weight: 700;
  color: #20469A;
}

.sm-pm2-feature-title {
  position: relative;
  -webkit-margin-after: 0.4rem;
          margin-block-end: 0.4rem;
  -webkit-padding-start: 2.4rem;
          padding-inline-start: 2.4rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 700;
  color: #000000;
}
.sm-pm2-feature-title::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0.4rem;
  width: 1.6rem;
  height: 1.6rem;
  background-color: #27b11f;
  -webkit-mask-image: url("/assets/images/service-maintenance/sm-icon-checkmark.svg");
          mask-image: url("/assets/images/service-maintenance/sm-icon-checkmark.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.sm-pm2-feature-body {
  -webkit-padding-start: 2.4rem;
          padding-inline-start: 2.4rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}

.sm-pm2-table-wrap {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  max-width: 79.3rem;
  overflow-x: auto;
}
@media only screen and (max-width: 1180px) {
  .sm-pm2-table-wrap {
    width: 100%;
  }
}

.sm-pm2-table {
  width: 79.3rem;
  max-width: none;
  border: 3px solid #000000;
  border-collapse: collapse;
}
@media only screen and (max-width: 1180px) {
  .sm-pm2-table {
    width: 100%;
    min-width: 79.3rem;
  }
}
.sm-pm2-table th,
.sm-pm2-table td {
  border: 1px solid #000000;
  padding-inline: 1.6rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  text-align: center;
  vertical-align: middle;
}
.sm-pm2-table th {
  height: 4rem;
  font-weight: 700;
  font-style: italic;
}
.sm-pm2-table th em {
  font-style: italic;
}
.sm-pm2-table td {
  height: 3.2rem;
  font-weight: 300;
  vertical-align: middle;
}
.sm-pm2-table td.is-check {
  font-weight: 700;
  color: #27b11f;
}

.sm-pm2-table-note {
  font-weight: 300;
  font-style: normal;
  color: #000000;
}

.sm-pm2-table-service {
  -webkit-padding-start: 1.6rem;
          padding-inline-start: 1.6rem;
  text-align: left;
}

.sm-pm2-dot {
  display: inline-block;
  vertical-align: middle;
  width: 2.4rem;
  height: 2.4rem;
  -webkit-margin-end: 0.8rem;
          margin-inline-end: 0.8rem;
  border: 1px solid #000000;
  border-radius: 50%;
}

.sm-pm2-dot--premium {
  background: -webkit-gradient(linear, left top, right top, from(#000000), to(#ffffff));
  background: linear-gradient(90deg, #000000 0%, #ffffff 100%);
}

.sm-pm2-dot--gold {
  background: -webkit-gradient(linear, left top, right top, from(#a66300), to(#ffe270));
  background: linear-gradient(90deg, #a66300 0%, #ffe270 100%);
}

.sm-pm2-dot--silver {
  background: -webkit-gradient(linear, left top, right top, from(#afb7bd), to(#ffffff));
  background: linear-gradient(90deg, #afb7bd 0%, #ffffff 100%);
}

/* Repair & Overhaul / Root Cause Analysis: intro text + services list,
   paired with a 3-photo row + quote underneath (620 / 458 top columns,
   906 photo row width measured off Figma). */
.sm-ro-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 4.8rem;
  -webkit-margin-after: 3.2rem;
          margin-block-end: 3.2rem;
}
@media only screen and (max-width: 1180px) {
  .sm-ro-top {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.sm-ro-intro {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 62rem;
          flex: 0 1 62rem;
  min-width: 30rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}

.sm-ro-video {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  -webkit-margin-before: 3.2rem;
          margin-block-start: 3.2rem;
}
.sm-ro-video img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.sm-ro-video p {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

.sm-ro-video-arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  width: 2.2rem;
  height: 2.8rem;
  background-color: #20469A;
  -webkit-mask-image: url("/assets/images/service-maintenance/sm-icon-arrow-right.svg");
          mask-image: url("/assets/images/service-maintenance/sm-icon-arrow-right.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.sm-ro-services {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 45.8rem;
          flex: 0 1 45.8rem;
  min-width: 26rem;
}

.sm-ro-services-title {
  -webkit-margin-after: 1.6rem;
          margin-block-end: 1.6rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 700;
  color: #000000;
}

.sm-ro-services-list {
  list-style: disc;
}
.sm-ro-services-list li {
  -webkit-margin-start: 2.4rem;
          margin-inline-start: 2.4rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}

.sm-ro-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4.8rem;
}
@media only screen and (max-width: 1180px) {
  .sm-ro-bottom {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.sm-ro-photo-row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.6rem 1fr 1.6rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 90.6rem;
          flex: 0 1 90.6rem;
  min-width: 30rem;
}
@media only screen and (max-width: 750px) {
  .sm-ro-photo-row {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.sm-ro-photo-row img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border: 1px solid #20469A;
}

.sm-ro-photo {
  aspect-ratio: 291/220;
}

.sm-ro-quote {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 18.7rem;
          flex: 0 1 18.7rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 700;
  font-style: italic;
  color: #20469A;
}
@media only screen and (max-width: 1180px) {
  .sm-ro-quote {
    -ms-flex-preferred-size: 46rem;
        flex-basis: 46rem;
    text-align: center;
  }
}

/* OEM Spare Parts on stock: quote + 3 topic/list blocks paired with a
   2x2 photo grid (444 / 650 measured off Figma). */
.sm-oem-columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 4.8rem;
}
@media only screen and (max-width: 1180px) {
  .sm-oem-columns {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media only screen and (max-width: 750px) {
  .sm-oem-columns {
    gap: 3.5rem;
  }
}

.sm-oem-column {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 44.4rem;
          flex: 0 1 44.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.2rem;
  min-width: 30rem;
}
@media only screen and (max-width: 750px) {
  .sm-oem-column {
    gap: 2rem;
  }
}

.sm-oem-quote {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 700;
  color: #20469A;
}
.sm-oem-quote em {
  font-style: italic;
  color: #000000;
}

.sm-oem-block-title {
  -webkit-margin-after: 0.4rem;
          margin-block-end: 0.4rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 700;
  color: #000000;
}

.sm-oem-list {
  list-style: disc;
}
.sm-oem-list li {
  -webkit-margin-start: 2.4rem;
          margin-inline-start: 2.4rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}
.sm-oem-list li strong {
  font-weight: 700;
}

.sm-oem-photo-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.8rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.8rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 65rem;
          flex: 0 1 65rem;
  min-width: 30rem;
}
@media only screen and (max-width: 750px) {
  .sm-oem-photo-grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.sm-oem-photo-grid img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border: 1px solid #20469A;
}

.sm-oem-photo {
  aspect-ratio: 321/206;
}

#wma {
  overflow: hidden;
}

/* Shared ribbon heading (flag-shaped, blue banner — same shape family as
   .lww-heading-ribbon / .wm-heading-ribbon / .sm-heading-ribbon on the
   sibling pages). */
.wma-heading-ribbon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #20469A;
  color: #ffffff;
  font-weight: 700;
  white-space: nowrap;
}

.wma-heading-ribbon--hero {
  padding-inline: 3.2rem 6.4rem;
  padding-left: 6.9rem;
  padding-block: 1.6rem;
  font-size: 4.8rem;
  line-height: 5.6rem;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 3.6rem 100%);
}
@media only screen and (max-width: 1180px) {
  .wma-heading-ribbon--hero {
    padding-block: 1.3rem;
    padding-inline: 6rem 4rem;
    font-size: 3.8rem;
    line-height: 4.6rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-heading-ribbon--hero {
    padding-block: 1rem;
    font-size: 3.3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-heading-ribbon--hero {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-inline: 5%;
    padding-block: 1.5rem;
    font-size: 2.4rem;
    line-height: 3.2rem;
    white-space: normal;
    text-align: center;
    clip-path: none;
  }
}

/* MV Inside */
#wma-mv-inside {
  position: relative;
  -webkit-border-before: 1px solid #20469A;
          border-block-start: 1px solid #20469A;
  background: -webkit-gradient(linear, left top, left bottom, from(#f0f3f6), color-stop(77.143%, rgba(240, 243, 246, 0)));
  background: linear-gradient(180deg, #f0f3f6 0%, rgba(240, 243, 246, 0) 77.143%);
  padding-block: 5.3rem 7.9rem;
}
@media only screen and (max-width: 1180px) {
  #wma-mv-inside {
    padding-block: 8rem;
  }
}
@media only screen and (max-width: 850px) {
  #wma-mv-inside {
    padding-block: 3.3rem 4.9rem;
  }
}
@media only screen and (max-width: 750px) {
  #wma-mv-inside {
    padding-block: 2.5rem 3.8rem;
  }
}

.wma-mv-wrap {
  position: relative;
}

.wma-mv-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 1180px) {
  .wma-mv-top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.4rem;
  }
}

.wma-mv-logo {
  -webkit-padding-start: 6.9rem;
          padding-inline-start: 6.9rem;
}
@media only screen and (max-width: 1180px) {
  .wma-mv-logo {
    -webkit-padding-start: 0;
            padding-inline-start: 0;
  }
}
.wma-mv-logo img {
  mix-blend-mode: darken;
}

.wma-mv-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4.8rem;
  -webkit-margin-before: 11rem;
          margin-block-start: 11rem;
}
@media only screen and (max-width: 1180px) {
  .wma-mv-content {
    gap: 3.8rem;
    width: 90%;
    margin-inline: auto;
    -webkit-margin-before: 4rem;
            margin-block-start: 4rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (max-width: 850px) {
  .wma-mv-content {
    gap: 3rem;
    -webkit-margin-before: 6.8rem;
            margin-block-start: 6.8rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-mv-content {
    gap: 2.3rem;
    -webkit-margin-before: 3.5rem;
            margin-block-start: 3.5rem;
  }
}

.wma-mv-catalog {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 31.4rem;
}
.wma-mv-catalog img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #20469A;
}
@media only screen and (max-width: 1180px) {
  .wma-mv-catalog {
    width: 24rem;
  }
}

.wma-mv-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.8rem;
  width: 82rem;
  max-width: 100%;
}
@media only screen and (max-width: 1180px) {
  .wma-mv-grid {
    gap: 2.4rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-mv-grid {
    gap: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-mv-grid {
    gap: 2.3rem;
  }
}

.wma-mv-grid-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4.8rem;
}
@media only screen and (max-width: 1180px) {
  .wma-mv-grid-row {
    gap: 3.8rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-mv-grid-row {
    gap: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-mv-grid-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.6rem;
  }
}

.wma-mv-card {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.6rem;
  min-height: 19.8rem;
  max-height: 19.8rem;
  padding: 2.4rem 1.6rem;
  border-radius: 0.8rem;
  background-color: #ffffff;
  -webkit-box-shadow: 0.8rem 0.8rem 1.5rem rgba(0, 0, 0, 0.24);
          box-shadow: 0.8rem 0.8rem 1.5rem rgba(0, 0, 0, 0.24);
  text-align: center;
  -webkit-transition: opacity var(--base-transition, 0.25s ease);
  transition: opacity var(--base-transition, 0.25s ease);
}
@media (any-hover: hover) {
  .wma-mv-card:hover {
    opacity: 0.7;
  }
}
@media only screen and (max-width: 1180px) {
  .wma-mv-card {
    gap: 1.3rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-mv-card {
    gap: 1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-mv-card {
    gap: 0.8rem;
    min-height: 0;
  }
}

.wma-mv-card-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 8.6rem;
  height: 8.6rem;
}
.wma-mv-card-icon img {
  display: block;
  width: 100%;
  height: 100%;
}

.wma-mv-card-label {
  font-size: 2rem;
  line-height: 2.4rem;
  font-weight: 700;
  color: #000000;
}
@media only screen and (max-width: 1180px) {
  .wma-mv-card-label {
    font-size: 1.9rem;
    line-height: 2.3rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-mv-card-label {
    font-size: 1.8rem;
    line-height: 2.2rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-mv-card-label {
    font-size: 1.7rem;
    line-height: 2.1rem;
  }
}

/* Section (repeating topic blocks) — same shape family as .sm-section /
   .wm-series, alternating white / #edeeef. */
.wma-section {
  scroll-margin-block-start: 2rem;
  background-color: #ffffff;
  -webkit-padding-after: 12rem;
          padding-block-end: 12rem;
}
@media only screen and (max-width: 1180px) {
  .wma-section {
    -webkit-padding-after: 8rem;
            padding-block-end: 8rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-section {
    -webkit-padding-after: 7.4rem;
            padding-block-end: 7.4rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-section {
    -webkit-padding-after: 4rem;
            padding-block-end: 4rem;
  }
}

.wma-section--alt {
  background-color: #edeeef;
}

.wma-heading-ribbon--section {
  padding-inline: 14.9rem 3.2rem;
  padding-block: 1.6rem;
  font-size: 3.6rem;
  line-height: 4rem;
  clip-path: polygon(0 0, 100% 0, calc(100% - 2.9rem) 100%, 0 100%);
}
@media only screen and (max-width: 1180px) {
  .wma-heading-ribbon--section {
    padding-block: 1.3rem;
    padding-inline: 3.2rem 4rem;
    font-size: 3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-heading-ribbon--section {
    padding-block: 1rem;
    font-size: 2.6rem;
    line-height: 3.3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-heading-ribbon--section {
    padding-inline: 5% 4rem;
    padding-block: 1.6rem;
    font-size: 2rem;
    line-height: 2.5rem;
    white-space: normal;
  }
}

.wma-section-topic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-margin-after: 4.8rem;
          margin-block-end: 4.8rem;
}
@media only screen and (max-width: 1180px) {
  .wma-section-topic {
    -webkit-margin-after: 3.8rem;
            margin-block-end: 3.8rem;
    display: block;
  }
}
@media only screen and (max-width: 850px) {
  .wma-section-topic {
    -webkit-margin-after: 3rem;
            margin-block-end: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-section-topic {
    -webkit-margin-after: 3.5rem;
            margin-block-end: 3.5rem;
  }
}

/* Shared body-copy style: light-weight paragraphs with bold blue emphasis,
   reused across the page's text blocks. */
.wma-copy {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}
@media only screen and (max-width: 1180px) {
  .wma-copy {
    font-size: 1.5rem;
    line-height: 2.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-copy {
    font-size: 1.45rem;
    line-height: 2.1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-copy {
    font-size: 1.4rem;
    line-height: 2rem;
  }
}
.wma-copy p {
  -webkit-margin-after: 2.4rem;
          margin-block-end: 2.4rem;
}
@media only screen and (max-width: 1180px) {
  .wma-copy p {
    -webkit-margin-after: 2rem;
            margin-block-end: 2rem;
  }
}
.wma-copy p:last-child {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
.wma-copy strong {
  font-weight: 700;
  color: #20469A;
}

/* Our Mission & Vision I — intro copy + DVS certificate photo */
.wma-mission-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4.8rem;
}
@media only screen and (max-width: 1180px) {
  .wma-mission-contents {
    gap: 3.8rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (max-width: 850px) {
  .wma-mission-contents {
    gap: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-mission-contents {
    gap: 3.5rem;
  }
}

.wma-mission-text {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 73.3rem;
  max-width: 100%;
  font-size: 2.2rem;
  line-height: 3.6rem;
  font-weight: 300;
  color: #000000;
}
@media only screen and (max-width: 1180px) {
  .wma-mission-text {
    width: 100%;
    font-size: 2rem;
    line-height: 3.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-mission-text {
    font-size: 1.9rem;
    line-height: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-mission-text {
    font-size: 1.8rem;
    line-height: 2.8rem;
  }
}
.wma-mission-text p {
  -webkit-margin-after: 3.6rem;
          margin-block-end: 3.6rem;
}
@media only screen and (max-width: 750px) {
  .wma-mission-text p {
    -webkit-margin-after: 1.5rem;
            margin-block-end: 1.5rem;
  }
}
.wma-mission-text p:last-child {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
.wma-mission-text strong {
  font-weight: 700;
  color: #20469A;
}

.wma-mission-photo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 36.2rem;
}
.wma-mission-photo img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #20469A;
}
@media only screen and (max-width: 1180px) {
  .wma-mission-photo {
    width: 28rem;
  }
}

/* Our Mission & Vision II — collaborations copy + flattened logo collage
   (Figma group "save for image": scattered absolute-positioned logos +
   quote bubble, flattened to one image rather than rebuilt live). */
.wma-collab-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4.8rem;
}
@media only screen and (max-width: 1180px) {
  .wma-collab-contents {
    gap: 3.5rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-collab-contents {
    gap: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-collab-contents {
    gap: 2.3rem;
  }
}

.wma-collab-text {
  width: 100%;
}

.wma-collab-photo img {
  display: block;
  width: 87.5rem;
  max-width: 100%;
  height: auto;
}

/* Education & Certification I — target/how-to Q&A pair + DSI Total Solution
   wheel diagram (Figma group "save for image": dense photo-wheel infographic,
   flattened to one image). */
.wma-edu1-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 4.8rem;
}
@media only screen and (max-width: 1180px) {
  .wma-edu1-contents {
    gap: 3.8rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media only screen and (max-width: 850px) {
  .wma-edu1-contents {
    gap: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-edu1-contents {
    gap: 2.3rem;
  }
}

.wma-edu1-qa-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.8rem;
}
@media only screen and (max-width: 1180px) {
  .wma-edu1-qa-list {
    gap: 3.5rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }
}
@media only screen and (max-width: 850px) {
  .wma-edu1-qa-list {
    gap: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-edu1-qa-list {
    gap: 2.3rem;
  }
}

.wma-edu1-qa {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
}
@media only screen and (max-width: 1180px) {
  .wma-edu1-qa {
    gap: 1.3rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-edu1-qa {
    gap: 1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-edu1-qa {
    gap: 0.8rem;
  }
}

.wma-edu1-qa-topic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}
@media only screen and (max-width: 1180px) {
  .wma-edu1-qa-topic {
    gap: 1.6rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-edu1-qa-topic {
    gap: 1.2rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-edu1-qa-topic {
    gap: 1rem;
  }
}

.wma-edu1-qa-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 8.2rem;
  height: 8.2rem;
}
.wma-edu1-qa-icon img {
  display: block;
  width: 100%;
  height: 100%;
}

.wma-edu1-qa-question {
  font-size: 2.2rem;
  line-height: 2.8rem;
  font-weight: 700;
  color: #20469A;
}
@media only screen and (max-width: 1180px) {
  .wma-edu1-qa-question {
    font-size: 2rem;
    line-height: 2.6rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-edu1-qa-question {
    font-size: 1.9rem;
    line-height: 2.5rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-edu1-qa-question {
    font-size: 1.8rem;
    line-height: 2.4rem;
  }
}

.wma-edu1-qa-answer {
  width: 100%;
  font-size: 2rem;
  line-height: 3.4rem;
  font-weight: 300;
  font-style: italic;
  color: #20469A;
}
@media only screen and (max-width: 1180px) {
  .wma-edu1-qa-answer {
    font-size: 1.8rem;
    line-height: 3rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-edu1-qa-answer {
    font-size: 1.7rem;
    line-height: 2.8rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-edu1-qa-answer {
    font-size: 1.6rem;
    line-height: 2.6rem;
  }
}

.wma-edu1-diagram {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 53.9rem;
  max-width: 100%;
}
@media only screen and (max-width: 750px) {
  .wma-edu1-diagram {
    width: 80%;
  }
}
.wma-edu1-diagram img {
  display: block;
  width: 100%;
  height: auto;
}

/* "More infos" badge — same shape family as .sm-more-info on the
   service-maintenance page (ribbon + circular video-icon badge). */
.wma-more-info {
  position: relative;
  z-index: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 7.2rem;
  margin-left: -17px;
}
@media only screen and (max-width: 1180px) {
  .wma-more-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-inline: auto;
    -webkit-margin-before: 2.4rem;
            margin-block-start: 2.4rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media only screen and (max-width: 750px) {
  .wma-more-info {
    height: 5.6rem;
  }
}

.wma-more-info-ribbon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  padding-inline: 4.8rem;
  background-color: #20469A;
  color: #ffffff;
  font-size: 2.2rem;
  font-weight: 700;
  white-space: nowrap;
  clip-path: polygon(2.9rem 0, calc(100% - 2.9rem) 0, 100% 50%, calc(100% - 2.9rem) 100%, 0 100%);
}
@media only screen and (max-width: 1180px) {
  .wma-more-info-ribbon {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-more-info-ribbon {
    font-size: 1.9rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-more-info-ribbon {
    padding-inline: 2.4rem 3.6rem;
    font-size: 1.8rem;
    clip-path: polygon(1.6rem 0, calc(100% - 1.6rem) 0, 100% 50%, calc(100% - 1.6rem) 100%, 0 100%);
  }
}

.wma-more-info-badge {
  position: absolute;
  z-index: -1;
  inset-inline-start: 85%;
  inset-block-start: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 1rem;
  width: 12.2rem;
  height: 100%;
  -webkit-padding-end: 2rem;
          padding-inline-end: 2rem;
  background-color: #ffffff;
  border: 3px solid #20469A;
}
@media only screen and (max-width: 1180px) {
  .wma-more-info-badge {
    gap: 0.8rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-more-info-badge {
    gap: 0.6rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-more-info-badge {
    position: static;
    z-index: auto;
    inset-inline-start: auto;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0.8rem;
    width: auto;
    padding-inline: 3rem 1.6rem;
    -webkit-margin-start: -1.6rem;
            margin-inline-start: -1.6rem;
    border-width: 2px;
  }
}

.wma-more-info-badge--double {
  width: 17.8rem;
  gap: 1rem;
}
@media only screen and (max-width: 1180px) {
  .wma-more-info-badge--double {
    gap: 0.8rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-more-info-badge--double {
    gap: 0.6rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-more-info-badge--double {
    gap: 0.5rem;
    width: auto;
  }
}

/* Thumbnail card grid — reused across the Investigations, Examinations,
   Publications sections (publication summary cards). */
.wma-thumb-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 34.9rem 4.8rem 34.9rem 4.8rem 34.9rem;
  grid-template-columns: repeat(3, 34.9rem);
  gap: 4.8rem;
}
@media only screen and (max-width: 1180px) {
  .wma-thumb-grid {
    gap: 3.8rem;
    -ms-grid-columns: minmax(0, 1fr) 3.8rem minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 74rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-thumb-grid {
    gap: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-thumb-grid {
    gap: 2.3rem;
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    max-width: 100%;
  }
}

.wma-thumb-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1.6rem;
  min-height: 26rem;
  padding-block: 1.5rem;
  padding-inline: 1rem;
  background-color: #ffffff;
  border: 1px solid #20469A;
  border-radius: 2rem;
  -webkit-box-shadow: 0 0.7rem 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 0.7rem 0 rgba(0, 0, 0, 0.25);
}
@media only screen and (max-width: 1180px) {
  .wma-thumb-card {
    gap: 1.3rem;
    padding-block: 1.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-thumb-card {
    gap: 1rem;
    padding-block: 1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-thumb-card {
    gap: 0.8rem;
    min-height: 0;
    padding-block: 1.5rem;
  }
}
.wma-thumb-card[href] {
  -webkit-transition: opacity var(--base-transition, 0.25s ease);
  transition: opacity var(--base-transition, 0.25s ease);
}
@media (any-hover: hover) {
  .wma-thumb-card[href]:hover {
    opacity: 0.7;
  }
}
.wma-thumb-card:has(> .wma-thumb-title--heading) {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.wma-thumb-images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3.2rem;
  width: 100%;
}
@media only screen and (max-width: 1180px) {
  .wma-thumb-images {
    gap: 2.6rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-thumb-images {
    gap: 2rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-thumb-images {
    gap: 1.5rem;
  }
}

.wma-thumb-img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 11.6rem;
  height: 11.7rem;
  border-radius: 1rem;
  overflow: hidden;
}
.wma-thumb-img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.wma-thumb-img--wide {
  -ms-flex-negative: 1;
      flex-shrink: 1;
  min-width: 0;
  width: 29.8rem;
  max-width: 100%;
}

.wma-thumb-text {
  width: 100%;
  text-align: center;
}

.wma-thumb-title {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  font-style: italic;
  color: #20469A;
}
@media only screen and (max-width: 1180px) {
  .wma-thumb-title {
    font-size: 1.5rem;
    line-height: 2.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-thumb-title {
    font-size: 1.45rem;
    line-height: 2.1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-thumb-title {
    font-size: 1.4rem;
    line-height: 2rem;
  }
}

.wma-thumb-title--heading {
  font-weight: 700;
  font-style: normal;
}

.wma-thumb-source {
  -webkit-margin-before: 0.4rem;
          margin-block-start: 0.4rem;
  font-size: 1.4rem;
  line-height: 1.8rem;
  font-weight: 400;
  color: #000000;
}
@media only screen and (max-width: 1180px) {
  .wma-thumb-source {
    -webkit-margin-before: 0.4rem;
            margin-block-start: 0.4rem;
    font-size: 1.35rem;
    line-height: 1.7rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-thumb-source {
    -webkit-margin-before: 0.4rem;
            margin-block-start: 0.4rem;
    font-size: 1.3rem;
    line-height: 1.65rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-thumb-source {
    -webkit-margin-before: 0.4rem;
            margin-block-start: 0.4rem;
    font-size: 1.25rem;
    line-height: 1.6rem;
  }
}

/* PLW Basic Understanding — Q&A speech-bubble sunburst around a laser-weld
   illustration (Figma group "save for image": 10 bubbles + dot-chain
   connectors + center icon, flattened to one image per the designer's own
   export flag rather than rebuilt as absolutely-positioned live layout). */
.wma-plw-diagram {
  position: relative;
  width: 100%;
  max-width: 114.2rem;
}
@media only screen and (max-width: 1180px) {
  .wma-plw-diagram {
    width: 90%;
  }
}
.wma-plw-diagram img {
  display: block;
  width: 100%;
  height: auto;
}

.wma-plw-hotspot {
  position: absolute;
  inset-inline-start: calc(var(--hotspot-x) * 1%);
  inset-block-start: calc(var(--hotspot-y) * 1%);
  inline-size: calc(var(--hotspot-w) * 1%);
  block-size: calc(var(--hotspot-h) * 1%);
  border-radius: 50%;
  background-color: #ffffff;
  opacity: 0;
  -webkit-transition: opacity var(--base-transition, 0.25s ease);
  transition: opacity var(--base-transition, 0.25s ease);
}
.wma-plw-hotspot:focus-visible {
  opacity: 0.3;
}
@media (any-hover: hover) {
  .wma-plw-hotspot:hover {
    opacity: 0.3;
  }
}

.wma-plw-hotspot--classical-arc {
  --hotspot-x: 0.5;
  --hotspot-y: 7;
  --hotspot-w: 28.5;
  --hotspot-h: 28;
}

.wma-plw-hotspot--laser-pulse {
  --hotspot-x: 29;
  --hotspot-y: 1;
  --hotspot-w: 29.5;
  --hotspot-h: 21;
}

.wma-plw-hotspot--wpqr-wps {
  --hotspot-x: 61;
  --hotspot-y: 0;
  --hotspot-w: 34.5;
  --hotspot-h: 25;
}

.wma-plw-hotspot--unique-advantages {
  --hotspot-x: 74;
  --hotspot-y: 27;
  --hotspot-w: 25.5;
  --hotspot-h: 20;
}

.wma-plw-hotspot--any-metal {
  --hotspot-x: 72;
  --hotspot-y: 49;
  --hotspot-w: 28;
  --hotspot-h: 23;
}

.wma-plw-hotspot--filler-materials {
  --hotspot-x: 65.5;
  --hotspot-y: 74;
  --hotspot-w: 29.5;
  --hotspot-h: 25;
}

.wma-plw-hotspot--laser-meaning {
  --hotspot-x: 30.5;
  --hotspot-y: 77;
  --hotspot-w: 33.5;
  --hotspot-h: 23;
}

.wma-plw-hotspot--haz {
  --hotspot-x: 0;
  --hotspot-y: 62;
  --hotspot-w: 34;
  --hotspot-h: 23;
}

.wma-plw-hotspot--unique {
  --hotspot-x: 2.5;
  --hotspot-y: 39;
  --hotspot-w: 24.5;
  --hotspot-h: 20;
}

#wma-anchor-plw-basic-understanding {
  -webkit-padding-after: 6.4rem;
          padding-block-end: 6.4rem;
}
@media only screen and (max-width: 1180px) {
  #wma-anchor-plw-basic-understanding {
    -webkit-padding-after: 5.1rem;
            padding-block-end: 5.1rem;
  }
}
@media only screen and (max-width: 850px) {
  #wma-anchor-plw-basic-understanding {
    -webkit-padding-after: 4rem;
            padding-block-end: 4rem;
  }
}
@media only screen and (max-width: 750px) {
  #wma-anchor-plw-basic-understanding {
    -webkit-padding-after: 4rem;
            padding-block-end: 4rem;
  }
}

/* Professional Facts & Fantastic Fictions I — 3-column playful quote + photo */
.wma-pf1-columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2.4rem;
  width: 100%;
}
@media only screen and (max-width: 1180px) {
  .wma-pf1-columns {
    gap: 1.9rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media only screen and (max-width: 850px) {
  .wma-pf1-columns {
    gap: 1.5rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-pf1-columns {
    gap: 1.2rem;
    width: 90%;
  }
}

.wma-pf1-column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.2rem;
  width: 34.7rem;
  max-width: 100%;
}
@media only screen and (max-width: 1180px) {
  .wma-pf1-column {
    gap: 2.6rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-pf1-column {
    gap: 2rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-pf1-column {
    gap: 1.5rem;
    width: 100%;
  }
}

.wma-pf1-column--stretch {
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.wma-pf1-quote {
  font-size: 2.4rem;
  line-height: 3.6rem;
  font-weight: 500;
  font-style: italic;
  color: #20469A;
}
@media only screen and (max-width: 1180px) {
  .wma-pf1-quote {
    font-size: 2.1rem;
    line-height: 3.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-pf1-quote {
    font-size: 2rem;
    line-height: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-pf1-quote {
    font-size: 1.8rem;
    line-height: 2.8rem;
  }
}

.wma-pf1-quote--center {
  text-align: center;
}

.wma-pf1-photo {
  border: 1px solid #20469A;
}
.wma-pf1-photo img {
  display: block;
  width: 100%;
  height: auto;
}

/* Professional Facts & Fantastic Fictions II — Prof. Kuscher profile +
   "Good to know" fact + link button */
.wma-pf2-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4.8rem;
  width: 100%;
}
@media only screen and (max-width: 1180px) {
  .wma-pf2-contents {
    gap: 3.8rem;
    width: 90%;
    margin-inline: auto;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (max-width: 850px) {
  .wma-pf2-contents {
    gap: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-pf2-contents {
    gap: 2.3rem;
  }
}

.wma-pf2-profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.6rem;
  width: 48.1rem;
  max-width: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media only screen and (max-width: 1180px) {
  .wma-pf2-profile {
    gap: 1.3rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-pf2-profile {
    gap: 1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-pf2-profile {
    gap: 1.5rem;
  }
}

.wma-pf2-profile-photo {
  border: 1px solid #20469A;
  aspect-ratio: 481/361;
}
.wma-pf2-profile-photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.wma-pf2-profile-text {
  text-align: center;
  color: #000000;
}
.wma-pf2-profile-text p:first-child {
  font-size: 2rem;
  line-height: 2.4rem;
  font-weight: 500;
  -webkit-margin-after: 0.8rem;
          margin-block-end: 0.8rem;
}
.wma-pf2-profile-text p {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

.wma-pf2-fact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  width: 61.3rem;
  max-width: 100%;
}
@media only screen and (max-width: 1180px) {
  .wma-pf2-fact {
    gap: 0.8rem;
    width: 100%;
    margin-inline: auto;
  }
}
@media only screen and (max-width: 850px) {
  .wma-pf2-fact {
    gap: 0.6rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-pf2-fact {
    gap: 0.5rem;
  }
}

.wma-pf2-fact-topic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  -webkit-padding-after: 1.6rem;
          padding-block-end: 1.6rem;
}
.wma-pf2-fact-topic img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 5.1rem;
  height: auto;
}
@media only screen and (max-width: 1180px) {
  .wma-pf2-fact-topic {
    gap: 1.3rem;
    -webkit-padding-after: 1.3rem;
            padding-block-end: 1.3rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-pf2-fact-topic {
    gap: 1rem;
    -webkit-padding-after: 1rem;
            padding-block-end: 1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-pf2-fact-topic {
    gap: 0.8rem;
    -webkit-padding-after: 0.8rem;
            padding-block-end: 0.8rem;
  }
}

.wma-pf2-fact-title {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 700;
  color: #20469A;
}
@media only screen and (max-width: 1180px) {
  .wma-pf2-fact-title {
    font-size: 1.5rem;
    line-height: 2.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-pf2-fact-title {
    font-size: 1.45rem;
    line-height: 2.1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-pf2-fact-title {
    font-size: 1.4rem;
    line-height: 2rem;
  }
}

.wma-pf2-fact-text {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}
@media only screen and (max-width: 1180px) {
  .wma-pf2-fact-text {
    font-size: 1.5rem;
    line-height: 2.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-pf2-fact-text {
    font-size: 1.45rem;
    line-height: 2.1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-pf2-fact-text {
    font-size: 1.4rem;
    line-height: 2rem;
  }
}
.wma-pf2-fact-text p {
  -webkit-margin-after: 2.4rem;
          margin-block-end: 2.4rem;
}
@media only screen and (max-width: 750px) {
  .wma-pf2-fact-text p {
    -webkit-margin-after: 1.5rem;
            margin-block-end: 1.5rem;
  }
}
.wma-pf2-fact-text p:last-child {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
.wma-pf2-fact-text strong {
  font-weight: 700;
  color: #20469A;
}

.wma-pf2-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.6rem;
  -webkit-margin-before: 3.2rem;
          margin-block-start: 3.2rem;
  padding: 0.8rem 3.2rem 0.8rem 0.8rem;
  background-color: #20469A;
  border-radius: 10rem;
  -webkit-transition: opacity var(--base-transition, 0.25s ease);
  transition: opacity var(--base-transition, 0.25s ease);
}
@media (any-hover: hover) {
  .wma-pf2-link:hover {
    opacity: 0.7;
  }
}
.wma-pf2-link img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 3.7rem;
  height: 3.7rem;
}
@media only screen and (max-width: 1180px) {
  .wma-pf2-link {
    gap: 1.3rem;
    -webkit-margin-before: 2.6rem;
            margin-block-start: 2.6rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-pf2-link {
    gap: 1rem;
    -webkit-margin-before: 2rem;
            margin-block-start: 2rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-pf2-link {
    gap: 0.8rem;
    -webkit-margin-before: 1.5rem;
            margin-block-start: 1.5rem;
  }
}

.wma-pf2-link-label {
  font-size: 1.6rem;
  line-height: 2rem;
  font-weight: 700;
  color: #ffffff;
  text-align: center;
}
@media only screen and (max-width: 1180px) {
  .wma-pf2-link-label {
    font-size: 1.5rem;
    line-height: 1.9rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-pf2-link-label {
    font-size: 1.45rem;
    line-height: 1.85rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-pf2-link-label {
    font-size: 1.4rem;
    line-height: 1.8rem;
  }
}

/* Professional Facts & Fantastic Fictions III — "Jedi Knight Wisdom" video
   thumbnails (memes flattened to one image each; heading/subtitle/button
   stay live) */
.wma-video-thumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4.8rem;
  width: 100%;
}
@media only screen and (max-width: 1180px) {
  .wma-video-thumbs {
    gap: 3.8rem;
    width: 90%;
    margin-inline: auto;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (max-width: 850px) {
  .wma-video-thumbs {
    gap: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-video-thumbs {
    gap: 3.5rem;
  }
}

.wma-video-thumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 34.9rem;
  max-width: 100%;
}
@media only screen and (max-width: 1180px) {
  .wma-video-thumb {
    -webkit-margin-before: 0 !important;
            margin-block-start: 0 !important;
  }
}
@media only screen and (max-width: 750px) {
  .wma-video-thumb {
    width: 100%;
  }
}

.wma-video-thumb--offset-1 {
  -webkit-margin-before: 4.8rem;
          margin-block-start: 4.8rem;
}

.wma-video-thumb--offset-2 {
  -webkit-margin-before: 9.6rem;
          margin-block-start: 9.6rem;
}

.wma-video-thumb-title {
  font-size: 2.4rem;
  line-height: 2.4rem;
  font-weight: 700;
  color: #20469A;
  text-align: center;
  -webkit-margin-after: 0.8rem;
          margin-block-end: 0.8rem;
}
@media only screen and (max-width: 1180px) {
  .wma-video-thumb-title {
    -webkit-margin-after: 0.6rem;
            margin-block-end: 0.6rem;
    font-size: 2.1rem;
    line-height: 2.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-video-thumb-title {
    -webkit-margin-after: 0.5rem;
            margin-block-end: 0.5rem;
    font-size: 2rem;
    line-height: 2.1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-video-thumb-title {
    -webkit-margin-after: 0.4rem;
            margin-block-end: 0.4rem;
    font-size: 1.9rem;
    line-height: 2rem;
  }
}

.wma-video-thumb-subtitle {
  font-size: 2.4rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
  text-align: center;
}
@media only screen and (max-width: 1180px) {
  .wma-video-thumb-subtitle {
    font-size: 2.1rem;
    line-height: 2.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-video-thumb-subtitle {
    font-size: 2rem;
    line-height: 2.1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-video-thumb-subtitle {
    font-size: 1.9rem;
    line-height: 2rem;
  }
}

.wma-video-thumb-img {
  width: 100%;
  -webkit-margin-before: 2.4rem;
          margin-block-start: 2.4rem;
  border: 1px solid #20469A;
}
.wma-video-thumb-img img {
  display: block;
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 1180px) {
  .wma-video-thumb-img {
    -webkit-margin-before: 1.9rem;
            margin-block-start: 1.9rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-video-thumb-img {
    -webkit-margin-before: 1.5rem;
            margin-block-start: 1.5rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-video-thumb-img {
    -webkit-margin-before: 1.5rem;
            margin-block-start: 1.5rem;
    -webkit-margin-after: 1.5rem;
            margin-block-end: 1.5rem;
  }
}

.wma-video-thumb-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  -webkit-margin-before: 1.8rem;
          margin-block-start: 1.8rem;
  padding: 0.8rem 2.4rem;
  background-color: #20469A;
  border-radius: 10rem;
  -webkit-transition: opacity var(--base-transition, 0.25s ease);
  transition: opacity var(--base-transition, 0.25s ease);
}
@media (any-hover: hover) {
  .wma-video-thumb-btn:hover {
    opacity: 0.7;
  }
}
.wma-video-thumb-btn img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 3rem;
  height: 2.4rem;
}
@media only screen and (max-width: 1180px) {
  .wma-video-thumb-btn {
    gap: 1.3rem;
    -webkit-margin-before: 1.3rem;
            margin-block-start: 1.3rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-video-thumb-btn {
    gap: 1rem;
    -webkit-margin-before: 1rem;
            margin-block-start: 1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-video-thumb-btn {
    gap: 0.8rem;
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
}

.wma-video-thumb-btn-label {
  font-size: 1.6rem;
  line-height: 2rem;
  font-weight: 700;
  color: #ffffff;
}
@media only screen and (max-width: 1180px) {
  .wma-video-thumb-btn-label {
    font-size: 1.5rem;
    line-height: 1.9rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-video-thumb-btn-label {
    font-size: 1.45rem;
    line-height: 1.85rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-video-thumb-btn-label {
    font-size: 1.4rem;
    line-height: 1.8rem;
  }
}

/* Professional Facts & Fantastic Fictions IV — painting + process video +
   sketch, connected by simple arrow chevrons */
.wma-pf4-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4.8rem;
  width: 100%;
}
@media only screen and (max-width: 1180px) {
  .wma-pf4-contents {
    gap: 3.8rem;
    width: 90%;
    margin-inline: auto;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (max-width: 850px) {
  .wma-pf4-contents {
    gap: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-pf4-contents {
    gap: 2.3rem;
  }
}

.wma-pf4-painting-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  width: 40.5rem;
  max-width: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media only screen and (max-width: 1180px) {
  .wma-pf4-painting-col {
    gap: 1.3rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-pf4-painting-col {
    gap: 1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-pf4-painting-col {
    gap: 0.8rem;
  }
}

.wma-pf4-painting-photo {
  width: 100%;
}
.wma-pf4-painting-photo img {
  display: block;
  width: 100%;
  height: auto;
}

.wma-pf4-painting-caption {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
  text-align: center;
}
@media only screen and (max-width: 1180px) {
  .wma-pf4-painting-caption {
    font-size: 1.5rem;
    line-height: 2.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-pf4-painting-caption {
    font-size: 1.45rem;
    line-height: 2.1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-pf4-painting-caption {
    font-size: 1.4rem;
    line-height: 2rem;
  }
}

.wma-pf4-right {
  width: 68.7rem;
  max-width: 100%;
}

.wma-pf4-text {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}
@media only screen and (max-width: 1180px) {
  .wma-pf4-text {
    font-size: 1.5rem;
    line-height: 2.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-pf4-text {
    font-size: 1.45rem;
    line-height: 2.1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-pf4-text {
    font-size: 1.4rem;
    line-height: 2rem;
  }
}
.wma-pf4-text strong {
  font-weight: 700;
  font-style: italic;
  color: #20469A;
}

.wma-pf4-thumbs {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 1.6rem 1fr 1.6rem auto 1.6rem 1fr;
  grid-template-columns: auto 1fr auto 1fr;
  -ms-grid-rows: auto auto;
  grid-template-rows: auto auto;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-column-gap: 1.6rem;
     -moz-column-gap: 1.6rem;
          column-gap: 1.6rem;
  -webkit-padding-before: 9rem;
          padding-block-start: 9rem;
}

.wma-pf4-thumbs > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.wma-pf4-thumbs > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}

.wma-pf4-thumbs > *:nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 5;
}

.wma-pf4-thumbs > *:nth-child(4) {
  -ms-grid-row: 1;
  -ms-grid-column: 7;
}

.wma-pf4-thumbs > *:nth-child(5) {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
}

.wma-pf4-thumbs > *:nth-child(6) {
  -ms-grid-row: 2;
  -ms-grid-column: 3;
}

.wma-pf4-thumbs > *:nth-child(7) {
  -ms-grid-row: 2;
  -ms-grid-column: 5;
}

.wma-pf4-thumbs > *:nth-child(8) {
  -ms-grid-row: 2;
  -ms-grid-column: 7;
}
@media only screen and (max-width: 1180px) {
  .wma-pf4-thumbs {
    -ms-grid-columns: 1fr 2.2rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 2.2rem;
       -moz-column-gap: 2.2rem;
            column-gap: 2.2rem;
    -webkit-padding-before: 4rem;
            padding-block-start: 4rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-pf4-thumbs {
    -webkit-column-gap: 1.7rem;
       -moz-column-gap: 1.7rem;
            column-gap: 1.7rem;
    -webkit-padding-before: 5.3rem;
            padding-block-start: 5.3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-pf4-thumbs {
    display: block;
    gap: 3.5rem;
    -webkit-padding-before: 0;
            padding-block-start: 0;
  }
}

.wma-pf4-arrow {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  width: 4.8rem;
  height: auto;
}
@media only screen and (max-width: 1180px) {
  .wma-pf4-arrow {
    display: none;
  }
}
@media only screen and (max-width: 750px) {
  .wma-pf4-arrow {
    display: block;
    width: 6rem;
    margin: 3.5rem auto;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}

.wma-pf4-thumb {
  display: -ms-grid;
  display: grid;
  -ms-grid-row-span: 2;
  grid-row: span 2;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  justify-items: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  row-gap: 0;
  min-width: 0;
}
@supports not (grid-template-rows: subgrid) {
  .wma-pf4-thumb {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media only screen and (max-width: 1180px) {
  .wma-pf4-thumb {
    row-gap: 1.9rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-pf4-thumb {
    row-gap: 1.5rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-pf4-thumb {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.5rem;
    max-width: 30rem;
    margin: 0 auto;
  }
}

.wma-pf4-thumb-photo {
  width: 100%;
  aspect-ratio: 2/3;
  border: 1px solid #20469A;
}
.wma-pf4-thumb-photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.wma-more-info-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 4.6rem;
  height: 4.6rem;
  border-radius: 50%;
  overflow: hidden;
}
.wma-more-info-icon img {
  display: block;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 750px) {
  .wma-more-info-icon {
    width: 3.6rem;
    height: 3.6rem;
  }
}

/* Education & Certification II — module list + certificates + training photos */
.wma-edu2-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4.8rem;
}
@media only screen and (max-width: 1180px) {
  .wma-edu2-contents {
    gap: 2.4rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-edu2-contents {
    gap: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-edu2-contents {
    gap: 2.3rem;
  }
}

.wma-edu2-modules-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  gap: 2.4rem;
}
@media only screen and (max-width: 1180px) {
  .wma-edu2-modules-row {
    gap: 1.9rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media only screen and (max-width: 850px) {
  .wma-edu2-modules-row {
    gap: 1.5rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-edu2-modules-row {
    gap: 2rem;
  }
}

.wma-edu2-modules {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 41.7rem;
  max-width: 100%;
  font-size: 1.6rem;
  font-weight: 300;
  color: #000000;
}
@media only screen and (max-width: 1180px) {
  .wma-edu2-modules {
    width: 100%;
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-edu2-modules {
    font-size: 1.45rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-edu2-modules {
    font-size: 1.4rem;
  }
}
.wma-edu2-modules p {
  line-height: 4.4rem;
}
@media only screen and (max-width: 1180px) {
  .wma-edu2-modules p {
    line-height: 4rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-edu2-modules p {
    line-height: 3.8rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-edu2-modules p {
    line-height: 2.6rem;
  }
}
.wma-edu2-modules strong {
  font-weight: 700;
  color: #20469A;
}

.wma-edu2-certificate {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 31rem;
  max-width: 100%;
  border: 1px solid #20469A;
}
@media only screen and (max-width: 750px) {
  .wma-edu2-certificate {
    width: 100%;
  }
}
.wma-edu2-certificate img {
  display: block;
  width: 100%;
  height: auto;
}

.wma-edu2-photos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4.8rem;
  width: 100%;
}
@media only screen and (max-width: 1180px) {
  .wma-edu2-photos {
    gap: 2.4rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media only screen and (max-width: 850px) {
  .wma-edu2-photos {
    gap: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-edu2-photos {
    gap: 2rem;
  }
}

.wma-edu2-photo {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 24rem;
  max-width: 34.86rem;
  border: 1px solid #20469A;
}
@media only screen and (max-width: 750px) {
  .wma-edu2-photo {
    width: 100%;
    max-width: 100%;
  }
}
.wma-edu2-photo img {
  display: block;
  width: 100%;
  height: auto;
}

.wma-edu2-photo-caption {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  background-color: #ffffff;
  -webkit-border-before: 1px solid #20469A;
          border-block-start: 1px solid #20469A;
  -webkit-border-end: 1px solid #20469A;
          border-inline-end: 1px solid #20469A;
  padding: 0.4rem 1.6rem;
  font-size: 1.4rem;
  line-height: 1.8rem;
  color: #20469A;
}
@media only screen and (max-width: 1180px) {
  .wma-edu2-photo-caption {
    font-size: 1.35rem;
    line-height: 1.7rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-edu2-photo-caption {
    font-size: 1.3rem;
    line-height: 1.65rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-edu2-photo-caption {
    font-size: 1.25rem;
    line-height: 1.6rem;
  }
}

/* Education: Students Internship — MoU intro + rotated photo collage
   (Figma group "save for image": scattered rotated photos, flattened to
   one image) + MoU document photo. */
.wma-intern-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4.8rem;
}
@media only screen and (max-width: 1180px) {
  .wma-intern-contents {
    gap: 3.8rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (max-width: 850px) {
  .wma-intern-contents {
    gap: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-intern-contents {
    gap: 2.3rem;
  }
}

.wma-intern-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.8rem;
  min-width: 0;
}
@media only screen and (max-width: 1180px) {
  .wma-intern-col {
    gap: 3.8rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-intern-col {
    gap: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-intern-col {
    gap: 2.3rem;
  }
}

.wma-intern-text {
  width: 74.5rem;
  max-width: 100%;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}
@media only screen and (max-width: 1180px) {
  .wma-intern-text {
    font-size: 1.5rem;
    line-height: 2.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-intern-text {
    font-size: 1.45rem;
    line-height: 2.1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-intern-text {
    font-size: 1.4rem;
    line-height: 2rem;
  }
}
.wma-intern-text strong {
  font-weight: 700;
  color: #20469A;
}

.wma-intern-collage img {
  display: block;
  width: 74.4rem;
  max-width: 100%;
  height: auto;
  mix-blend-mode: darken;
}

.wma-intern-mou {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 34.9rem;
  max-width: 100%;
  border: 1px solid #20469A;
}
.wma-intern-mou img {
  display: block;
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 1180px) {
  .wma-intern-mou {
    width: 28rem;
  }
}

/* Qualification & Engineering I — standards copy + certificate photos */
.wma-qual-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4.8rem;
}
@media only screen and (max-width: 1180px) {
  .wma-qual-contents {
    gap: 3.8rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (max-width: 850px) {
  .wma-qual-contents {
    gap: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-qual-contents {
    gap: 3.5rem;
  }
}

.wma-qual-text-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.8rem;
  width: 37.9rem;
  max-width: 100%;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}
@media only screen and (max-width: 1180px) {
  .wma-qual-text-col {
    width: 100%;
    gap: 2rem;
    font-size: 1.5rem;
    line-height: 2.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-qual-text-col {
    gap: 3rem;
    font-size: 1.45rem;
    line-height: 2.1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-qual-text-col {
    gap: 1.5rem;
    font-size: 1.4rem;
    line-height: 2rem;
  }
}
.wma-qual-text-col strong {
  font-weight: 700;
  color: #20469A;
}
.wma-qual-text-col p {
  -webkit-margin-after: 0.8rem;
          margin-block-end: 0.8rem;
}
@media only screen and (max-width: 750px) {
  .wma-qual-text-col p {
    -webkit-margin-after: 0;
            margin-block-end: 0;
  }
}
.wma-qual-text-col p:last-child {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
.wma-qual-text-col ul {
  -webkit-padding-start: 2rem;
          padding-inline-start: 2rem;
}
.wma-qual-text-col li {
  list-style: disc;
}

.wma-qual-certificates {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.6rem;
}
@media only screen and (max-width: 1180px) {
  .wma-qual-certificates {
    gap: 1.3rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media only screen and (max-width: 850px) {
  .wma-qual-certificates {
    gap: 1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-qual-certificates {
    gap: 3.5rem;
  }
}

.wma-qual-certificate {
  width: 22.8rem;
}
.wma-qual-certificate img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #20469A;
}
.wma-qual-certificate p {
  -webkit-margin-before: 1rem;
          margin-block-start: 1rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
  text-align: center;
}

/* Qualification & Engineering II — Case Study */
.wma-case-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3rem;
  width: 100%;
}
@media only screen and (max-width: 1180px) {
  .wma-case-contents {
    gap: 3.8rem;
    width: 90%;
    margin-inline: auto;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (max-width: 850px) {
  .wma-case-contents {
    gap: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-case-contents {
    gap: 2.3rem;
  }
}

.wma-case-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 80rem;
  max-width: 100%;
}
@media only screen and (max-width: 1180px) {
  .wma-case-left {
    width: 100%;
  }
}

.wma-case-component-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.5rem;
}
@media only screen and (max-width: 1180px) {
  .wma-case-component-row {
    gap: 2.8rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-case-component-row {
    gap: 2.2rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-case-component-row {
    gap: 1.5rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.wma-case-component-photo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 28rem;
  border: 1px solid #20469A;
}
@media only screen and (max-width: 850px) {
  .wma-case-component-photo {
    width: 24rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-case-component-photo {
    width: 100%;
  }
}
.wma-case-component-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 280/187;
  -o-object-fit: cover;
     object-fit: cover;
}

.wma-case-component-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}
@media only screen and (max-width: 1180px) {
  .wma-case-component-text {
    font-size: 1.5rem;
    line-height: 2.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-case-component-text {
    font-size: 1.45rem;
    line-height: 2.1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-case-component-text {
    font-size: 1.4rem;
    line-height: 2rem;
  }
}
.wma-case-component-text p {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
.wma-case-component-text strong {
  font-weight: 700;
  color: #20469A;
}

.wma-case-details-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 3rem;
  -webkit-padding-before: 2rem;
          padding-block-start: 2rem;
}
@media only screen and (max-width: 1180px) {
  .wma-case-details-row {
    gap: 2.4rem;
    -webkit-padding-before: 1.6rem;
            padding-block-start: 1.6rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-case-details-row {
    gap: 1.9rem;
    -webkit-padding-before: 1.2rem;
            padding-block-start: 1.2rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-case-details-row {
    gap: 2rem;
    -webkit-padding-before: 2rem;
            padding-block-start: 2rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.wma-case-qualification {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 49rem;
          flex: 0 1 49rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.4rem;
  min-width: 0;
}
@media only screen and (max-width: 1180px) {
  .wma-case-qualification {
    gap: 1.1rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-case-qualification {
    gap: 0.9rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-case-qualification {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
    gap: 1rem;
    width: 100%;
  }
}

.wma-case-qualification-text {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}
@media only screen and (max-width: 1180px) {
  .wma-case-qualification-text {
    font-size: 1.5rem;
    line-height: 2.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-case-qualification-text {
    font-size: 1.45rem;
    line-height: 2.1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-case-qualification-text {
    font-size: 1.4rem;
    line-height: 2rem;
  }
}
.wma-case-qualification-text p {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
.wma-case-qualification-text strong {
  font-weight: 700;
  color: #20469A;
}

.wma-case-qualification-certs {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 11.5rem) 1rem minmax(0, 11.5rem) 1rem minmax(0, 11.5rem) 1rem minmax(0, 11.5rem);
  grid-template-columns: repeat(4, minmax(0, 11.5rem));
  gap: 1rem;
}
@media only screen and (max-width: 1180px) {
  .wma-case-qualification-certs {
    gap: 0.8rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-case-qualification-certs {
    gap: 0.6rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-case-qualification-certs {
    -ms-grid-columns: 1fr 1.5rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.wma-case-cert {
  border: 1px solid #20469A;
}
.wma-case-cert img {
  display: block;
  width: 100%;
  height: auto;
}

.wma-case-quality {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 28rem;
          flex: 0 0 28rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  max-width: 100%;
}
@media only screen and (max-width: 1180px) {
  .wma-case-quality {
    gap: 0.4rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-case-quality {
    -ms-flex-preferred-size: 25rem;
        flex-basis: 25rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-case-quality {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
    gap: 0.3rem;
  }
}

.wma-case-quality-title {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 700;
  color: #20469A;
}
@media only screen and (max-width: 1180px) {
  .wma-case-quality-title {
    font-size: 1.5rem;
    line-height: 2.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-case-quality-title {
    font-size: 1.45rem;
    line-height: 2.1rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-case-quality-title {
    font-size: 1.4rem;
    line-height: 2rem;
  }
}

.wma-case-quality-list {
  -webkit-padding-start: 2.4rem;
          padding-inline-start: 2.4rem;
}
.wma-case-quality-list li {
  list-style: disc;
  font-size: 1.6rem;
  line-height: 3.4rem;
  font-weight: 300;
  color: #000000;
}
@media only screen and (max-width: 1180px) {
  .wma-case-quality-list li {
    font-size: 1.5rem;
    line-height: 3rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-case-quality-list li {
    font-size: 1.45rem;
    line-height: 2.8rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-case-quality-list li {
    font-size: 1.4rem;
    line-height: 2.2rem;
  }
}

.wma-case-photos {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 14.4rem 2.4rem 14.4rem;
  grid-template-columns: repeat(2, 14.4rem);
  gap: 2.4rem;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
}
@media only screen and (max-width: 1180px) {
  .wma-case-photos {
    gap: 1.9rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-case-photos {
    gap: 1.5rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-case-photos {
    gap: 1.2rem;
    -ms-grid-columns: 1fr 1.2rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
    max-width: 100%;
  }
}

.wma-case-photo {
  position: relative;
  border: 1px solid #20469A;
}
.wma-case-photo img {
  display: block;
  width: 100%;
  height: auto;
}

.wma-case-photo-tag {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 4rem;
  height: 4rem;
  background-color: #ffffff;
  -webkit-border-after: 1px solid #20469A;
          border-block-end: 1px solid #20469A;
  -webkit-border-end: 1px solid #20469A;
          border-inline-end: 1px solid #20469A;
  font-size: 1.6rem;
  font-weight: 700;
  color: #000000;
}
@media only screen and (max-width: 1180px) {
  .wma-case-photo-tag {
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 850px) {
  .wma-case-photo-tag {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 750px) {
  .wma-case-photo-tag {
    font-size: 1.3rem;
  }
}

#als {
  overflow: hidden;
}

/* Shared ribbon heading (flag-shaped, blue banner — same shape family as
   .sm-heading-ribbon / .wma-heading-ribbon on the sibling pages). */
.als-heading-ribbon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #20469A;
  color: #ffffff;
  font-weight: 700;
  white-space: nowrap;
}

.als-heading-ribbon--hero {
  padding-inline: 3.2rem 6.4rem;
  padding-left: 6.9rem;
  padding-block: 1.6rem;
  font-size: 4.8rem;
  line-height: 5.6rem;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 3.6rem 100%);
}
@media only screen and (max-width: 1180px) {
  .als-heading-ribbon--hero {
    padding-block: 1.3rem;
    padding-inline: 6rem 4rem;
    font-size: 3.8rem;
    line-height: 4.6rem;
  }
}
@media only screen and (max-width: 850px) {
  .als-heading-ribbon--hero {
    padding-block: 1rem;
    font-size: 3.3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-heading-ribbon--hero {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-inline: 5%;
    padding-block: 1.5rem;
    font-size: 2.4rem;
    line-height: 3.2rem;
    white-space: normal;
    text-align: center;
    clip-path: none;
  }
}

.als-heading-ribbon--section {
  padding-inline: 14.9rem 6.2rem;
  padding-block: 1.6rem;
  font-size: 3.6rem;
  line-height: 4rem;
  clip-path: polygon(0 0, 100% 0, calc(100% - 2.9rem) 100%, 0 100%);
}
@media only screen and (max-width: 1180px) {
  .als-heading-ribbon--section {
    padding-block: 1.3rem;
    padding-inline: 3.2rem 4rem;
    font-size: 3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 850px) {
  .als-heading-ribbon--section {
    padding-block: 1rem;
    font-size: 2.6rem;
    line-height: 3.3rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-heading-ribbon--section {
    padding-inline: 5% 4rem;
    padding-block: 1.6rem;
    font-size: 2.2rem;
    line-height: 2.6rem;
    white-space: normal;
    text-align: center;
  }
}

.als-section-topic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-margin-after: 4.8rem;
          margin-block-end: 4.8rem;
}
@media only screen and (max-width: 1180px) {
  .als-section-topic {
    -webkit-margin-after: 3.8rem;
            margin-block-end: 3.8rem;
    display: block;
  }
}
@media only screen and (max-width: 850px) {
  .als-section-topic {
    -webkit-margin-after: 3rem;
            margin-block-end: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-section-topic {
    -webkit-margin-after: 3.5rem;
            margin-block-end: 3.5rem;
  }
}

/* Section wrapper (alternating white / #edeeef background) */
.als-section {
  scroll-margin-block-start: 2rem;
  background-color: #ffffff;
  -webkit-padding-after: 12rem;
          padding-block-end: 12rem;
}
@media only screen and (max-width: 1180px) {
  .als-section {
    -webkit-padding-after: 6rem;
            padding-block-end: 6rem;
  }
}
@media only screen and (max-width: 850px) {
  .als-section {
    -webkit-padding-after: 7.4rem;
            padding-block-end: 7.4rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-section {
    -webkit-padding-after: 4rem;
            padding-block-end: 4rem;
  }
}

.als-section--alt {
  background-color: #edeeef;
}

/* MV Inside */
#als-mv-inside {
  position: relative;
  overflow: hidden;
  padding-block: 5.3rem 7.9rem;
  -webkit-border-before: 1px solid #20469A;
          border-block-start: 1px solid #20469A;
  background: -webkit-gradient(linear, left top, left bottom, from(#f0f3f6), color-stop(77.143%, rgba(240, 243, 246, 0)));
  background: linear-gradient(180deg, #f0f3f6 0%, rgba(240, 243, 246, 0) 77.143%);
}
@media only screen and (max-width: 1180px) {
  #als-mv-inside {
    padding-block: 4.2rem 6.3rem;
  }
}
@media only screen and (max-width: 850px) {
  #als-mv-inside {
    padding-block: 3.3rem 4.9rem;
  }
}
@media only screen and (max-width: 750px) {
  #als-mv-inside {
    padding-block: 2.5rem 3.8rem;
  }
}

.als-mv-top {
  position: relative;
  text-align: right;
}
@media only screen and (max-width: 1180px) {
  .als-mv-top {
    text-align: center;
  }
}

.als-mv-logo {
  position: absolute;
  left: 6.9rem;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.2rem;
}
@media only screen and (max-width: 1180px) {
  .als-mv-logo {
    gap: 2.6rem;
    position: static;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-margin-after: 2.4rem;
            margin-block-end: 2.4rem;
  }
}
@media only screen and (max-width: 850px) {
  .als-mv-logo {
    gap: 2rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-mv-logo {
    gap: 1.5rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.als-mv-content {
  -webkit-margin-before: 6rem;
          margin-block-start: 6rem;
  -webkit-padding-after: 4.1rem;
          padding-block-end: 4.1rem;
}
@media only screen and (max-width: 1180px) {
  .als-mv-content {
    -webkit-margin-before: 4.8rem;
            margin-block-start: 4.8rem;
    -webkit-padding-after: 3.3rem;
            padding-block-end: 3.3rem;
  }
}
@media only screen and (max-width: 850px) {
  .als-mv-content {
    -webkit-margin-before: 3.7rem;
            margin-block-start: 3.7rem;
    -webkit-padding-after: 2.5rem;
            padding-block-end: 2.5rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-mv-content {
    -webkit-margin-before: 2.9rem;
            margin-block-start: 2.9rem;
    -webkit-padding-after: 2rem;
            padding-block-end: 2rem;
  }
}

.als-mv-columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 3rem;
}
@media only screen and (max-width: 1180px) {
  .als-mv-columns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
  }
}
@media only screen and (max-width: 850px) {
  .als-mv-columns {
    gap: 3.7rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-mv-columns {
    gap: 3.5rem;
  }
}

.als-mv-details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6.4rem;
  width: 49.4rem;
  max-width: 100%;
}
@media only screen and (max-width: 1180px) {
  .als-mv-details {
    gap: 3.5rem;
    max-width: 90%;
  }
}
@media only screen and (max-width: 850px) {
  .als-mv-details {
    gap: 4rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-mv-details {
    gap: 2.5rem;
  }
}

.als-mv-text {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #000000;
}
@media only screen and (max-width: 1180px) {
  .als-mv-text {
    font-size: 1.5rem;
    line-height: 2.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .als-mv-text {
    -webkit-margin-before: 1.5rem;
            margin-block-start: 1.5rem;
    font-size: 1.45rem;
    line-height: 2.1rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-mv-text {
    -webkit-margin-before: 0;
            margin-block-start: 0;
    font-size: 1.4rem;
    line-height: 2rem;
  }
}
.als-mv-text strong {
  font-weight: 700;
  color: #20469A;
}
.als-mv-text em {
  font-style: italic;
}
.als-mv-text p + p {
  -webkit-margin-before: 2.4rem;
          margin-block-start: 2.4rem;
}
@media only screen and (max-width: 1180px) {
  .als-mv-text p + p {
    -webkit-margin-before: 2rem;
            margin-block-start: 2rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-mv-text p + p {
    -webkit-margin-before: 1.5rem;
            margin-block-start: 1.5rem;
  }
}

.als-mv-text-concept em {
  font-style: italic;
}

.als-mv-badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  padding: 0.8rem 3.2rem 0.8rem 1.6rem;
  background-color: #20469A;
  border-radius: 100px;
  text-decoration: none;
  -webkit-transition: opacity var(--base-transition, 0.25s ease);
  transition: opacity var(--base-transition, 0.25s ease);
}
@media only screen and (max-width: 1180px) {
  .als-mv-badge {
    gap: 1.3rem;
  }
}
@media only screen and (max-width: 850px) {
  .als-mv-badge {
    gap: 1rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-mv-badge {
    gap: 0.8rem;
    padding-inline: 2.4rem 1.6rem;
  }
}
@media (any-hover: hover) {
  .als-mv-badge:hover {
    opacity: 0.7;
  }
}

.als-mv-badge-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 3.2rem;
  height: 3.2rem;
}
.als-mv-badge-icon img {
  display: block;
  width: 100%;
  height: 100%;
}

.als-mv-badge-label {
  font-size: 1.6rem;
  line-height: 2rem;
  font-weight: 700;
  color: #ffffff;
  text-align: center;
}
@media only screen and (max-width: 1180px) {
  .als-mv-badge-label {
    font-size: 1.5rem;
    line-height: 1.9rem;
  }
}
@media only screen and (max-width: 850px) {
  .als-mv-badge-label {
    font-size: 1.45rem;
    line-height: 1.85rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-mv-badge-label {
    font-size: 1.4rem;
    line-height: 1.8rem;
  }
}

.als-mv-map {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media only screen and (max-width: 1180px) {
  .als-mv-map {
    max-width: 90%;
    margin-inline: auto;
  }
}
.als-mv-map img {
  display: block;
  width: 72.2rem;
  max-width: none;
  height: auto;
  mix-blend-mode: darken;
}
@media only screen and (max-width: 1180px) {
  .als-mv-map img {
    max-width: 100%;
  }
}

/* Total Solution Services — ported from the top page's #services /
   .service-card (hex photo floating above a white card via drop-shadow
   following the image's own alpha silhouette, not a CSS mask). */
.als-svc-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 34rem 4.8rem 34rem 4.8rem 34rem;
  grid-template-columns: repeat(3, 34rem);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4.8rem;
}
@media only screen and (max-width: 1180px) {
  .als-svc-grid {
    gap: 3.8rem;
    -ms-grid-columns: minmax(0, 1fr) 3.8rem minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 74rem;
  }
}
@media only screen and (max-width: 850px) {
  .als-svc-grid {
    gap: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-svc-grid {
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    max-width: 34rem;
    gap: 2.8rem;
  }
}

.als-svc-card {
  display: -ms-grid;
  display: grid;
  position: relative;
}

.als-svc-card-photo {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 18.2rem;
  z-index: 1;
}
.als-svc-card-photo img {
  display: block;
  width: 100%;
  height: auto;
  -webkit-filter: drop-shadow(0 0 2rem rgba(0, 0, 0, 0.08));
          filter: drop-shadow(0 0 2rem rgba(0, 0, 0, 0.08));
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  will-change: transform;
}
.als-svc-card-photo a {
  display: block;
}
.als-svc-card-photo a:hover {
  opacity: 1;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.als-svc-card-photo a:hover img {
  opacity: 1;
}

.als-svc-card-body {
  -webkit-margin-before: 7.1rem;
          margin-block-start: 7.1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.4rem;
  padding: 13.4rem 2.4rem 2.4rem;
  background-color: #ffffff;
  border-radius: 0.8rem;
  -webkit-box-shadow: 0 0 4rem rgba(0, 0, 0, 0.08);
          box-shadow: 0 0 4rem rgba(0, 0, 0, 0.08);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.als-svc-card-body .btn-pill {
  -webkit-margin-before: auto;
          margin-block-start: auto;
}
@media only screen and (max-width: 1180px) {
  .als-svc-card-body {
    -webkit-margin-before: 5.7rem;
            margin-block-start: 5.7rem;
    gap: 1.1rem;
  }
}
@media only screen and (max-width: 850px) {
  .als-svc-card-body {
    -webkit-margin-before: 4.4rem;
            margin-block-start: 4.4rem;
    gap: 0.9rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-svc-card-body {
    -webkit-margin-before: 6.4rem;
            margin-block-start: 6.4rem;
    gap: 0.7rem;
  }
}

.als-svc-card-title {
  font-size: 2.2rem;
  line-height: 2.8rem;
  font-weight: 700;
  color: #20469A;
  text-align: center;
}
@media only screen and (max-width: 1180px) {
  .als-svc-card-title {
    font-size: 2rem;
    line-height: 2.6rem;
  }
}
@media only screen and (max-width: 850px) {
  .als-svc-card-title {
    font-size: 1.9rem;
    line-height: 2.5rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-svc-card-title {
    font-size: 1.8rem;
    line-height: 2.4rem;
  }
}

.als-svc-card-desc {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #20469A;
  text-align: center;
}
@media only screen and (max-width: 1180px) {
  .als-svc-card-desc {
    font-size: 1.5rem;
    line-height: 2.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .als-svc-card-desc {
    font-size: 1.45rem;
    line-height: 2.1rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-svc-card-desc {
    font-size: 1.4rem;
    line-height: 2rem;
  }
}

/* "More infos" badge — ported 1:1 from .wma-more-info* / .sm-more-info* */
.als-more-info {
  position: relative;
  z-index: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 7.2rem;
  margin-left: -17px;
}
@media only screen and (max-width: 1180px) {
  .als-more-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-inline: auto;
    -webkit-margin-before: 2.4rem;
            margin-block-start: 2.4rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media only screen and (max-width: 750px) {
  .als-more-info {
    height: 5.6rem;
  }
}

.als-more-info-ribbon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  padding-inline: 4.8rem;
  background-color: #20469A;
  color: #ffffff;
  font-size: 2.2rem;
  font-weight: 700;
  white-space: nowrap;
  clip-path: polygon(2.9rem 0, calc(100% - 2.9rem) 0, 100% 50%, calc(100% - 2.9rem) 100%, 0 100%);
}
@media only screen and (max-width: 1180px) {
  .als-more-info-ribbon {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 850px) {
  .als-more-info-ribbon {
    font-size: 1.9rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-more-info-ribbon {
    padding-inline: 2.4rem 3.6rem;
    font-size: 1.8rem;
    clip-path: polygon(1.6rem 0, calc(100% - 1.6rem) 0, 100% 50%, calc(100% - 1.6rem) 100%, 0 100%);
  }
}

.als-more-info-badge {
  position: absolute;
  z-index: -1;
  inset-inline-start: 85%;
  inset-block-start: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 1rem;
  width: 12.2rem;
  height: 100%;
  -webkit-padding-end: 2rem;
          padding-inline-end: 2rem;
  background-color: #ffffff;
  border: 3px solid #20469A;
}
@media only screen and (max-width: 1180px) {
  .als-more-info-badge {
    gap: 0.8rem;
  }
}
@media only screen and (max-width: 850px) {
  .als-more-info-badge {
    gap: 0.6rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-more-info-badge {
    position: static;
    z-index: auto;
    inset-inline-start: auto;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0.8rem;
    width: auto;
    padding-inline: 3rem 1.6rem;
    -webkit-margin-start: -1.6rem;
            margin-inline-start: -1.6rem;
    border-width: 2px;
  }
}

.als-more-info-icon {
  display: block;
  width: 4.6rem;
  height: 4.6rem;
  border-radius: 50%;
  overflow: hidden;
}
@media only screen and (max-width: 750px) {
  .als-more-info-icon {
    width: 3.6rem;
    height: 3.6rem;
  }
}
.als-more-info-icon img {
  display: block;
  width: 100%;
  height: 100%;
}

/* Thumbnail card grid — ported 1:1 from .wma-thumb-* */
.als-thumb-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 54.7rem 4.8rem 54.7rem;
  grid-template-columns: repeat(2, 54.7rem);
  gap: 4.8rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 1180px) {
  .als-thumb-grid {
    gap: 3.8rem;
    -ms-grid-columns: minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr);
    max-width: 54.7rem;
  }
}
@media only screen and (max-width: 850px) {
  .als-thumb-grid {
    gap: 3rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-thumb-grid {
    gap: 2.8rem;
  }
}

.als-thumb-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.6rem;
  min-height: 26rem;
  padding: 2.4rem;
  background-color: #ffffff;
  border: 1px solid #20469A;
  border-radius: 2rem;
}
@media only screen and (max-width: 1180px) {
  .als-thumb-card {
    gap: 1.3rem;
  }
}
@media only screen and (max-width: 850px) {
  .als-thumb-card {
    gap: 1rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-thumb-card {
    gap: 1.5rem;
    min-height: 0;
  }
}
.als-thumb-card {
  -webkit-box-shadow: 0 0.7rem 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 0.7rem 0 rgba(0, 0, 0, 0.25);
}

.als-thumb-images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3.2rem;
  width: 100%;
}
@media only screen and (max-width: 1180px) {
  .als-thumb-images {
    gap: 2.6rem;
  }
}
@media only screen and (max-width: 850px) {
  .als-thumb-images {
    gap: 2rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-thumb-images {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1.5rem 1fr 1.5rem 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }
}

.als-thumb-img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 14rem;
  height: 14rem;
  border-radius: 1rem;
  overflow: hidden;
}
.als-thumb-img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 750px) {
  .als-thumb-img {
    width: 100%;
    height: auto;
  }
}

.als-thumb-text {
  text-align: center;
}

.als-thumb-title {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 300;
  font-style: italic;
  color: #20469A;
}
@media only screen and (max-width: 1180px) {
  .als-thumb-title {
    font-size: 1.5rem;
    line-height: 2.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .als-thumb-title {
    font-size: 1.45rem;
    line-height: 2.1rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-thumb-title {
    font-size: 1.4rem;
    line-height: 2rem;
  }
}

.als-thumb-source {
  -webkit-margin-before: 0.4rem;
          margin-block-start: 0.4rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 400;
  color: #000000;
}
@media only screen and (max-width: 1180px) {
  .als-thumb-source {
    -webkit-margin-before: 0.4rem;
            margin-block-start: 0.4rem;
    font-size: 1.5rem;
    line-height: 2.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .als-thumb-source {
    -webkit-margin-before: 0.4rem;
            margin-block-start: 0.4rem;
    font-size: 1.45rem;
    line-height: 2.1rem;
  }
}
@media only screen and (max-width: 750px) {
  .als-thumb-source {
    -webkit-margin-before: 0.4rem;
            margin-block-start: 0.4rem;
    font-size: 1.4rem;
    line-height: 2rem;
  }
}

/* Shared ribbon heading (flag-shaped, blue banner — same shape family as
   .als-heading-ribbon on the sibling pages). */
.pp-heading-ribbon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #20469A;
  color: #ffffff;
  font-weight: 700;
  white-space: nowrap;
}

.pp-heading-ribbon--hero {
  padding-inline: 3.2rem 6.4rem;
  padding-left: 6.9rem;
  padding-block: 1.6rem;
  font-size: 4.8rem;
  line-height: 5.6rem;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 3.6rem 100%);
}
@media only screen and (max-width: 1180px) {
  .pp-heading-ribbon--hero {
    padding-block: 1.3rem;
    padding-inline: 6rem 4rem;
    font-size: 3.8rem;
    line-height: 4.6rem;
  }
}
@media only screen and (max-width: 850px) {
  .pp-heading-ribbon--hero {
    padding-block: 1rem;
    font-size: 3.3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 750px) {
  .pp-heading-ribbon--hero {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-inline: 5%;
    padding-block: 1.5rem;
    font-size: 2.4rem;
    line-height: 3.2rem;
    white-space: normal;
    text-align: center;
    clip-path: none;
  }
}

/* MV Inside */
#pp-mv-inside {
  position: relative;
  padding-block: 5.3rem 7.9rem;
  -webkit-border-before: 1px solid #20469A;
          border-block-start: 1px solid #20469A;
  background: -webkit-gradient(linear, left top, left bottom, from(#f0f3f6), color-stop(77.143%, rgba(240, 243, 246, 0)));
  background: linear-gradient(180deg, #f0f3f6 0%, rgba(240, 243, 246, 0) 77.143%);
}
@media only screen and (max-width: 1180px) {
  #pp-mv-inside {
    padding-block: 4.2rem 6.3rem;
  }
}
@media only screen and (max-width: 850px) {
  #pp-mv-inside {
    padding-block: 3.3rem 4.9rem;
  }
}
@media only screen and (max-width: 750px) {
  #pp-mv-inside {
    padding-block: 2.5rem 3.8rem;
  }
}

.pp-mv-top {
  position: relative;
  text-align: right;
}
@media only screen and (max-width: 1180px) {
  .pp-mv-top {
    text-align: center;
  }
}

/* Policy Content */
#pp-content {
  padding-block: 0 12rem;
}
@media only screen and (max-width: 1180px) {
  #pp-content {
    padding-block: 0 8rem;
  }
}
@media only screen and (max-width: 850px) {
  #pp-content {
    padding-block: 0 6rem;
  }
}
@media only screen and (max-width: 750px) {
  #pp-content {
    padding-block: 0 4.8rem;
  }
}

.pp-policy {
  display: -ms-grid;
  display: grid;
  gap: 4rem;
  font-size: 1.6rem;
  line-height: 2.6rem;
  font-weight: 300;
  color: #000000;
}
@media only screen and (max-width: 1180px) {
  .pp-policy {
    gap: 3.4rem;
  }
}
@media only screen and (max-width: 850px) {
  .pp-policy {
    gap: 2.8rem;
    font-size: 1.5rem;
    line-height: 2.4rem;
  }
}
@media only screen and (max-width: 750px) {
  .pp-policy {
    gap: 2.4rem;
    font-size: 1.4rem;
    line-height: 2.2rem;
  }
}
.pp-policy strong {
  font-weight: 700;
}
.pp-policy address {
  font-style: normal;
}
.pp-policy a {
  color: #20469A;
  text-decoration: underline;
  overflow-wrap: anywhere;
  -webkit-transition: opacity var(--base-transition, 0.25s ease);
  transition: opacity var(--base-transition, 0.25s ease);
}
@media (any-hover: hover) {
  .pp-policy a:hover {
    opacity: 0.7;
  }
}

.pp-policy-intro {
  display: -ms-grid;
  display: grid;
  gap: 1.6rem;
}
@media only screen and (max-width: 750px) {
  .pp-policy-intro {
    gap: 1.2rem;
  }
}

.pp-policy-section {
  display: -ms-grid;
  display: grid;
  gap: 2.4rem;
  -webkit-padding-before: 4rem;
          padding-block-start: 4rem;
  -webkit-border-before: 1px solid color-mix(in srgb, #20469A 20%, transparent);
          border-block-start: 1px solid color-mix(in srgb, #20469A 20%, transparent);
}
@media only screen and (max-width: 1180px) {
  .pp-policy-section {
    gap: 2rem;
    -webkit-padding-before: 3.4rem;
            padding-block-start: 3.4rem;
  }
}
@media only screen and (max-width: 850px) {
  .pp-policy-section {
    gap: 1.8rem;
    -webkit-padding-before: 2.8rem;
            padding-block-start: 2.8rem;
  }
}
@media only screen and (max-width: 750px) {
  .pp-policy-section {
    gap: 1.6rem;
    -webkit-padding-before: 2.4rem;
            padding-block-start: 2.4rem;
  }
}

.pp-policy-title {
  -webkit-padding-start: 1.6rem;
          padding-inline-start: 1.6rem;
  -webkit-border-start: 0.4rem solid #20469A;
          border-inline-start: 0.4rem solid #20469A;
  font-size: 2.8rem;
  line-height: 3.6rem;
  font-weight: 700;
  color: #20469A;
}
@media only screen and (max-width: 1180px) {
  .pp-policy-title {
    font-size: 2.6rem;
    line-height: 3.4rem;
  }
}
@media only screen and (max-width: 850px) {
  .pp-policy-title {
    -webkit-padding-start: 1.4rem;
            padding-inline-start: 1.4rem;
    font-size: 2.4rem;
    line-height: 3.1rem;
  }
}
@media only screen and (max-width: 750px) {
  .pp-policy-title {
    -webkit-padding-start: 1.2rem;
            padding-inline-start: 1.2rem;
    font-size: 2rem;
    line-height: 2.6rem;
  }
}

.pp-policy-body {
  display: -ms-grid;
  display: grid;
  gap: 1.6rem;
}
@media only screen and (max-width: 750px) {
  .pp-policy-body {
    gap: 1.2rem;
  }
}

.pp-policy-sub {
  display: -ms-grid;
  display: grid;
  gap: 1.2rem;
  padding-block: 2.4rem;
  padding-inline: 3.2rem;
  border-radius: 0.8rem;
  background-color: #f0f3f6;
}
@media only screen and (max-width: 1180px) {
  .pp-policy-sub {
    padding-inline: 2.8rem;
  }
}
@media only screen and (max-width: 850px) {
  .pp-policy-sub {
    padding-block: 2rem;
    padding-inline: 2.4rem;
  }
}
@media only screen and (max-width: 750px) {
  .pp-policy-sub {
    gap: 1rem;
    padding-block: 1.6rem;
    padding-inline: 1.6rem;
  }
}

.pp-policy-subtitle {
  font-size: 2rem;
  line-height: 2.8rem;
  font-weight: 700;
  color: #20469A;
}
@media only screen and (max-width: 1180px) {
  .pp-policy-subtitle {
    font-size: 1.9rem;
    line-height: 2.7rem;
  }
}
@media only screen and (max-width: 850px) {
  .pp-policy-subtitle {
    font-size: 1.8rem;
    line-height: 2.5rem;
  }
}
@media only screen and (max-width: 750px) {
  .pp-policy-subtitle {
    font-size: 1.7rem;
    line-height: 2.3rem;
  }
}

.pp-policy-label {
  color: #20469A;
}

.pp-policy-list {
  display: -ms-grid;
  display: grid;
  gap: 0.8rem;
  -webkit-padding-start: 2.4rem;
          padding-inline-start: 2.4rem;
}
@media only screen and (max-width: 750px) {
  .pp-policy-list {
    gap: 0.6rem;
    -webkit-padding-start: 2rem;
            padding-inline-start: 2rem;
  }
}
.pp-policy-list li {
  list-style: disc;
}
.pp-policy-list li::marker {
  color: #20469A;
}