:root,
body.oulu-leadong-home {
  --ld-main1: #138fa3 !important;
  --ld-main2: #14264a !important;
  --oulu-ink: #14264a;
  --oulu-heading: #14264a;
  --oulu-text: #34435c;
  --oulu-muted: #5e6e84;
  --oulu-soft: #f5f8fb;
  --oulu-soft-2: #eef5f8;
  --oulu-line: rgba(20, 38, 74, .10);
  --oulu-shadow: rgba(20, 38, 74, .12);
  --oulu-accent-soft: rgba(19, 143, 163, .10);
  --oulu-button: #169eb3;
  --oulu-button-hover: #159bb0;
  --oulu-button-soft: #e8f7f9;
}

body.oulu-leadong-home {
  background: var(--oulu-soft);
  color: var(--oulu-text);
  --oulu-section-width: min(1600px, calc(100vw - clamp(56px, 8vw, 220px)));
  min-height: 100% !important;
  height: auto !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

html {
  scroll-behavior: smooth;
  min-height: 100% !important;
  height: auto !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body.oulu-leadong-home.hidden:not(.oulu-inquiry-open) {
  overflow-y: auto !important;
}

body.oulu-leadong-home .main-container {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

body.oulu-leadong-home .oulu-footer {
  position: relative !important;
  overflow: visible !important;
}

body.oulu-leadong-home::after {
  content: "" !important;
  display: block !important;
  height: 0 !important;
  background: #edf3f7 !important;
  pointer-events: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

body.admin-bar #backstage-headArea {
  top: 32px;
}

@media screen and (max-width: 782px) {
  body.admin-bar #backstage-headArea {
    top: 46px;
  }
}

#wpadminbar {
  position: fixed;
}

#backstage-headArea {
  position: fixed !important;
  top: 22px !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9998 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  pointer-events: none;
}

body.admin-bar #backstage-headArea {
  top: 50px !important;
}

#backstage-headArea::before,
#backstage-headArea::after,
#siteblocks-setting-wrap-BGptTsRcMlYZ::before,
#siteblocks-setting-wrap-BGptTsRcMlYZ::after,
#siteblocks-setting-wrap-BGptTsRcMlYZ .siteblocks-container::before,
#siteblocks-setting-wrap-BGptTsRcMlYZ .siteblocks-container::after {
  content: none !important;
  display: none !important;
}

#backstage-headArea > div,
#siteblocks-setting-wrap-BGptTsRcMlYZ,
#siteblocks-setting-wrap-BGptTsRcMlYZ .siteblocks-container,
#siteblocks-setting-wrap-BGptTsRcMlYZ > .siteblocks-container {
  width: 100% !important;
  max-width: none !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
  overflow: visible !important;
}

#header27512.header27512,
#header27512.header27512Important {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  width: min(1480px, calc(100% - 96px)) !important;
  min-width: 0 !important;
  height: 74px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  pointer-events: auto;
  overflow: visible !important;
  isolation: isolate;
}

#header27512::before {
  content: "" !important;
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block !important;
  border: 1px solid var(--oulu-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 18px 45px var(--oulu-shadow);
  backdrop-filter: saturate(140%) blur(12px);
  transition: box-shadow .24s ease, border-color .24s ease, background-color .24s ease;
}

body.oulu-page-scrolled #header27512::before {
  border-color: rgba(19, 143, 163, .18);
  background: rgba(255, 255, 255, .985);
  box-shadow: 0 14px 32px rgba(20, 38, 74, .16);
}

#header27512::after {
  content: none !important;
  display: none !important;
}

#header27512 > *,
#header27512 .backstage-blocksEditor-wrap,
#header27512 .backstage-componet,
#header27512 .backstage-componet-bd {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

#header27512 .content {
  position: relative !important;
  z-index: 1;
  width: 100% !important;
  height: 74px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: clamp(14px, 1.35vw, 22px) !important;
  padding: 0 18px 0 26px !important;
  box-sizing: border-box !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

#header27512 .logo img {
  max-height: 50px;
  width: auto;
  object-fit: contain;
}

#header27512 .logo {
  flex: 0 0 190px !important;
  width: 190px !important;
  height: auto !important;
}

#header27512 .logo picture {
  display: flex;
  align-items: center;
}

#header27512 .navigation {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: 74px !important;
}

#header27512 .blockNavBar {
  height: 74px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(18px, 1.7vw, 34px) !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

#header27512 .blockNavBar > li {
  height: 74px !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

#header27512 .blockNavBar > li > a {
  height: 74px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 !important;
  color: #1f2f3f !important;
  font-size: clamp(15px, .98vw, 16px) !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

#header27512 .blockNavBar > li:hover > a,
#header27512 .blockNavBar > li > a:hover,
#header27512 .blockNavBar > li[data-currentflag="1"] > a {
  color: var(--ld-main1) !important;
}

#header27512 .blockNavBar > li[data-currentflag="1"] > a,
#header27512 .blockNavBar > li.active > a,
#header27512 .blockNavBar > li.current > a {
  border-bottom-color: #17a5ba !important;
}

#header27512 .blockNavBar > li:hover > a,
#header27512 .blockNavBar > li > a:hover {
  border-bottom-color: #17a5ba !important;
}

#header27512 .blockNavBar > li > svg {
  width: 10px !important;
  height: 10px !important;
  margin-left: 4px !important;
  transform: rotate(90deg);
}

#header27512 .blockNavBar > li > svg path {
  fill: currentColor !important;
}

#header27512 .langBar {
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
}

#header27512 .ls_change_lang_btn,
#header27512 .ls_change_lang_icon {
  width: 42px !important;
  height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#header27512 .oulu-header-inquiry {
  flex: 0 0 156px !important;
  width: 156px !important;
  height: 42px !important;
  padding: 0 8px 0 22px !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--oulu-button-hover), var(--oulu-button));
  color: #fff;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  box-shadow: 0 8px 18px rgba(22, 158, 179, .28);
  text-decoration: none !important;
  box-sizing: border-box;
  cursor: pointer;
  appearance: none;
  font-family: inherit;
}

body.oulu-leadong-home .lead-button {
  border-color: var(--oulu-button) !important;
  background: var(--oulu-button) !important;
  color: #fff !important;
}

body.oulu-leadong-home .lead-button:hover {
  border-color: var(--oulu-button-hover) !important;
  background: var(--oulu-button-hover) !important;
}

body.oulu-leadong-home .lead-button .lead-button-text,
body.oulu-leadong-home .lead-button .lead-button-text *,
body.oulu-leadong-home .lead-button svg,
body.oulu-leadong-home .lead-button svg * {
  color: #fff !important;
  fill: currentColor !important;
}

body.oulu-leadong-home #iyqo9jn .lead-button .lead-button-text,
body.oulu-leadong-home #iyqo9jn .lead-button .lead-button-text * {
  font-size: 19px !important;
  font-weight: 700 !important;
}

body.oulu-leadong-home .lead-button[style*="background-color: transparent"],
body.oulu-leadong-home .lead-button.lead-button--ghost {
  background: transparent !important;
  color: var(--oulu-button) !important;
}

#header27512 .oulu-header-inquiry span {
  color: #fff !important;
}

#header27512 .oulu-header-inquiry i {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,.95);
  color: #138fa3;
  font-size: 18px;
  line-height: 1;
  font-weight: 700;
  font-style: normal;
}

#header27512 .oulu-header-inquiry > i > svg {
  display: block;
  width: 19px;
  height: 19px;
}

#header27512 .oulu-header-inquiry > i > svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html.oulu-inquiry-open,
body.oulu-inquiry-open {
  overflow: hidden !important;
}

.oulu-inquiry-modal[hidden] {
  display: none !important;
}

.oulu-inquiry-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
}

.oulu-inquiry-modal__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(5, 16, 34, .62);
  backdrop-filter: blur(10px) saturate(118%);
  cursor: pointer;
}

.oulu-inquiry-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 690px);
  padding: 26px 24px 22px;
  border: 1px solid rgba(19, 143, 163, .16);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(20, 38, 74, .14);
  color: var(--oulu-heading, #14264a);
  box-sizing: border-box;
  opacity: 0;
  transform: translateY(18px) scale(.97);
  transition: opacity .22s ease, transform .22s ease;
  overflow: hidden;
}

.oulu-inquiry-modal.is-open .oulu-inquiry-modal__dialog {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.oulu-inquiry-modal__close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(20, 38, 74, .10);
  border-radius: 50%;
  background: #fff;
  color: var(--oulu-heading, #14264a);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  transition: background-color .18s ease, transform .18s ease, border-color .18s ease;
}

.oulu-inquiry-modal__close:hover,
.oulu-inquiry-modal__close:focus-visible {
  background: var(--oulu-soft, #f5f8fb);
  border-color: rgba(19, 143, 163, .26);
  transform: scale(1.03);
}

.oulu-inquiry-modal__header {
  margin-bottom: 18px;
  padding-right: 52px;
}

.oulu-inquiry-modal__header h2 {
  margin: 0 0 8px;
  color: var(--oulu-heading, #14264a);
  font-size: clamp(28px, 2.1vw, 34px);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -.03em;
}

.oulu-inquiry-modal__header p {
  margin: 0;
  max-width: 540px;
  color: var(--oulu-text, #34435c);
  font-size: 15px;
  line-height: 1.7;
}

.oulu-inquiry-modal__tags {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.oulu-inquiry-modal__tags span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid rgba(20, 38, 74, .08);
  border-radius: 999px;
  background: var(--oulu-soft, #f5f8fb);
  color: var(--oulu-heading, #14264a);
  font-size: 12px;
  line-height: 1;
  font-weight: 600;
}

.oulu-inquiry-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 12px;
}

.oulu-inquiry-form__field {
  display: grid;
  gap: 7px;
}

.oulu-inquiry-form__field--full {
  grid-column: 1 / -1;
}

.oulu-inquiry-form__field span {
  color: var(--oulu-heading, #14264a);
  font-size: 14px;
  line-height: 1.3;
  font-weight: 700;
}

.oulu-inquiry-form__field input,
.oulu-inquiry-form__field textarea {
  width: 100%;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid rgba(20, 38, 74, .10);
  border-radius: 12px;
  background: #fff;
  color: var(--oulu-heading, #14264a);
  font: inherit;
  box-sizing: border-box;
  outline: 0;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.oulu-inquiry-form__field textarea {
  min-height: 108px;
  padding-top: 12px;
  padding-bottom: 12px;
  resize: vertical;
}

.oulu-inquiry-form__field input::placeholder,
.oulu-inquiry-form__field textarea::placeholder {
  color: rgba(101, 117, 140, .78);
}

.oulu-inquiry-form__field input:focus,
.oulu-inquiry-form__field textarea:focus {
  border-color: rgba(19, 143, 163, .52);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(19, 143, 163, .12);
}

.oulu-inquiry-form__actions {
  margin-top: 16px;
}

.oulu-inquiry-form__submit {
  min-width: 196px;
  min-height: 44px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 999px;
  background: var(--oulu-button, #159bb0);
  color: #fff;
  font: inherit;
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 14px 26px rgba(20, 38, 74, .18);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.oulu-inquiry-form__submit:hover,
.oulu-inquiry-form__submit:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 16px 28px rgba(20, 38, 74, .22);
  filter: brightness(1.02);
}

.oulu-inquiry-form__submit i {
  font-style: normal;
}

@media screen and (max-width: 767px) {
  .oulu-inquiry-modal {
    padding: 16px;
    align-items: flex-end;
  }

  .oulu-inquiry-modal__dialog {
    width: 100%;
    max-height: min(92vh, 760px);
    padding: 20px 18px 18px;
    border-radius: 24px 24px 18px 18px;
    overflow: auto;
  }

  .oulu-inquiry-modal__close {
    top: 14px;
    right: 14px;
    width: 36px;
    height: 36px;
    font-size: 24px;
  }

  .oulu-inquiry-modal__header {
    padding-right: 42px;
    margin-bottom: 16px;
  }

  .oulu-inquiry-modal__header h2 {
    font-size: 26px;
  }

  .oulu-inquiry-modal__header p {
    font-size: 14px;
  }

  .oulu-inquiry-modal__tags {
    gap: 7px;
  }

  .oulu-inquiry-modal__tags span {
    min-height: 30px;
    padding: 0 10px;
  }

  .oulu-inquiry-form__grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .oulu-inquiry-form__submit {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .oulu-inquiry-modal__dialog,
  .oulu-inquiry-modal__close,
  .oulu-inquiry-form__submit,
  .oulu-inquiry-form__field input,
  .oulu-inquiry-form__field textarea {
    transition: none !important;
  }
}

#header27512 .mobile_icon {
  display: none !important;
}

#header27512 .sub,
#header27512 .sub3 {
  border-radius: 8px !important;
  border: 1px solid var(--oulu-line) !important;
  box-shadow: 0 20px 45px var(--oulu-shadow) !important;
}

@media (max-width: 1500px) {
  #header27512.header27512,
  #header27512.header27512Important {
    width: calc(100% - 120px) !important;
    min-width: 0 !important;
  }

  #header27512 .content {
    gap: 16px !important;
  }

  #header27512 .blockNavBar {
    gap: 18px !important;
  }
}

@media (max-width: 1440px) and (min-width: 1181px) {
  body.oulu-leadong-home {
    --oulu-section-width: calc(100vw - 72px);
  }

  #header27512.header27512,
  #header27512.header27512Important {
    width: calc(100% - 64px) !important;
    height: 70px !important;
  }

  #header27512 .content,
  #header27512 .navigation,
  #header27512 .blockNavBar,
  #header27512 .blockNavBar > li,
  #header27512 .blockNavBar > li > a {
    height: 70px !important;
  }

  #header27512 .content {
    padding: 0 16px 0 22px !important;
    gap: 14px !important;
  }

  #header27512 .logo {
    flex: 0 0 176px !important;
    width: 176px !important;
  }

  #header27512 .logo img {
    max-height: 46px !important;
  }

  #header27512 .blockNavBar {
    gap: 18px !important;
  }

  #header27512 .blockNavBar > li > a {
    font-size: 15px !important;
  }

  #header27512 .langBar,
  #header27512 .ls_change_lang_btn,
  #header27512 .ls_change_lang_icon {
    width: 38px !important;
    height: 38px !important;
    flex-basis: 38px !important;
  }

  #header27512 .oulu-header-inquiry {
    flex: 0 0 146px !important;
    width: 146px !important;
    height: 40px !important;
    padding: 0 8px 0 18px !important;
    font-size: 13px !important;
  }

  #iowwef91s9 {
    width: calc(100% - 64px) !important;
    max-width: none !important;
    left: auto !important;
    translate: none !important;
    margin-top: 34px !important;
    margin-bottom: 34px !important;
    padding-bottom: 26px !important;
  }

  #iowwef91s9 .oulu-project-carousel__slide {
    grid-template-columns: minmax(240px, 320px) minmax(0, 1fr) !important;
    gap: 24px !important;
  }

  #iowwef91s9 .oulu-project-carousel__media {
    width: 100% !important;
    max-width: 320px !important;
  }

  #iowwef91s9 .oulu-project-carousel__content {
    width: 100% !important;
    max-width: none !important;
  }

  #iowwef91s9 .oulu-project-carousel__content h3 {
    font-size: 24px !important;
  }

  #iowwef91s9 .oulu-project-carousel__content p {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow--prev {
    left: -16px !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow--next {
    right: -16px !important;
  }

  #i4wzc6t {
    width: var(--oulu-section-width) !important;
    max-width: none !important;
    left: auto !important;
    translate: none !important;
    padding-bottom: 46px !important;
  }

  #i4wzc6t #ijs923o,
  .oulu-partners__inner {
    width: 100% !important;
  }

  #i4wzc6t #ig40yfn {
    grid-template-columns: minmax(280px, 38%) minmax(0, 1fr) !important;
    height: auto !important;
    max-height: none !important;
    min-height: 300px !important;
  }

  #i4wzc6t #ifhhw2f {
    padding: 30px 30px 28px !important;
  }

  #i4wzc6t #i68ilow {
    height: auto !important;
    min-height: 300px !important;
  }

  #i4wzc6t #i4kbv13,
  #i4wzc6t #i4kbv13 .paragraph2 {
    max-width: 100% !important;
    font-size: 15px !important;
    line-height: 1.68 !important;
  }
}

@media (max-width: 1600px) and (min-width: 1281px) and (max-height: 950px) {
  body.oulu-leadong-home {
    --oulu-section-width: calc(100vw - 56px);
  }

  #ioxzzczk7n,
  #ioxzzczk7n .gjs-slick-slider-item,
  #igp86mt,
  #iayrew8,
  #ijtmbmc {
    height: 480px !important;
    min-height: 480px !important;
  }

  #header27512.header27512,
  #header27512.header27512Important {
    width: calc(100% - 48px) !important;
    height: 66px !important;
  }

  #header27512 .content,
  #header27512 .navigation,
  #header27512 .blockNavBar,
  #header27512 .blockNavBar > li,
  #header27512 .blockNavBar > li > a {
    height: 66px !important;
  }

  #header27512 .content {
    padding: 0 14px 0 20px !important;
    gap: 12px !important;
  }

  #header27512 .logo {
    flex: 0 0 168px !important;
    width: 168px !important;
  }

  #header27512 .logo img {
    max-height: 44px !important;
  }

  #header27512 .blockNavBar {
    gap: 16px !important;
  }

  #header27512 .blockNavBar > li > a {
    font-size: 14px !important;
  }

  #header27512 .langBar,
  #header27512 .ls_change_lang_btn,
  #header27512 .ls_change_lang_icon {
    width: 36px !important;
    height: 36px !important;
    flex-basis: 36px !important;
  }

  #header27512 .oulu-header-inquiry {
    flex: 0 0 138px !important;
    width: 138px !important;
    height: 38px !important;
    padding: 0 8px 0 16px !important;
    font-size: 12px !important;
  }

  #i7ggwqd {
    min-height: 578px !important;
    padding: 8px 0 48px !important;
  }

  #i7ggwqd #igyrsj4,
  #i7ggwqd .lead-tab-list {
    gap: 14px !important;
    margin-bottom: 16px !important;
    padding-bottom: 14px !important;
  }

  #i7ggwqd #igyrsj4 > .lead-tab-item,
  #i7ggwqd .lead-tab-list > .lead-tab-item {
    min-height: 112px !important;
    gap: 10px !important;
    padding: 8px 8px 14px !important;
  }

  #i7ggwqd #igyrsj4 > .lead-tab-item .lead_icon,
  #i7ggwqd .lead-tab-list > .lead-tab-item .lead_icon {
    width: 46px !important;
    height: 46px !important;
    font-size: 40px !important;
  }

  #i7ggwqd #igyrsj4 > .lead-tab-item .lead-button-text,
  #i7ggwqd #igyrsj4 > .lead-tab-item .lead-button-text *,
  #i7ggwqd .lead-tab-list > .lead-tab-item .lead-button-text,
  #i7ggwqd .lead-tab-list > .lead-tab-item .lead-button-text * {
    font-size: 14px !important;
    line-height: 1.28 !important;
  }

  #i7ggwqd .lead-tab-content-item:not(.hidden) {
    min-height: 404px !important;
  }

  #i7ggwqd .block-prodlist-container-replace {
    gap: 24px !important;
  }

  #i7ggwqd .list-item-container {
    height: 404px !important;
    min-height: 404px !important;
    max-height: 404px !important;
  }

  #i7ggwqd .prodListPhoto {
    flex-basis: 192px !important;
    height: 192px !important;
    padding: 14px 14px 0 !important;
  }

  #i7ggwqd .prodListBrief {
    min-height: 34px !important;
    max-height: 34px !important;
    margin-bottom: 10px !important;
  }

  #i7ggwqd [data-nodelistid="175023499305429300"] {
    padding: 0 10px 18px !important;
  }

  #i7ggwqd [data-nodelistid="175023499305429300"] .leadPayBtn,
  #i7ggwqd [data-nodelistid="175023499305429300"] .prodInquire-inner {
    height: 36px !important;
    min-height: 36px !important;
  }

  #iowwef91s9 {
    width: calc(100% - 56px) !important;
    height: 150px !important;
    min-height: 150px !important;
    margin-top: 26px !important;
    margin-bottom: 24px !important;
    padding-bottom: 20px !important;
  }

  #iowwef91s9 .oulu-project-carousel__viewport,
  #iowwef91s9 .oulu-project-carousel__slide {
    height: 120px !important;
    min-height: 120px !important;
  }

  #iowwef91s9 .oulu-project-carousel__slide {
    grid-template-columns: minmax(280px, 320px) minmax(0, 1fr) !important;
    gap: 24px !important;
  }

  #iowwef91s9 .oulu-project-carousel__media {
    width: 100% !important;
    max-width: 320px !important;
    height: 120px !important;
  }

  #iowwef91s9 .oulu-project-carousel__media img {
    height: 120px !important;
  }

  #iowwef91s9 .oulu-project-carousel__content {
    width: 100% !important;
    max-width: none !important;
    height: 98px !important;
  }

  #iowwef91s9 .oulu-project-carousel__content h3 {
    margin: 0 0 6px !important;
    height: 28px !important;
    max-height: 28px !important;
    font-size: 22px !important;
  }

  #iowwef91s9 .oulu-project-carousel__content p {
    min-height: 52px !important;
    max-height: 52px !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow {
    top: 60px !important;
    width: 38px !important;
    height: 38px !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow--prev {
    left: -12px !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow--next {
    right: -12px !important;
  }

  #i4wzc6t {
    width: var(--oulu-section-width) !important;
    max-width: none !important;
    padding-bottom: 26px !important;
  }

  #i4wzc6t #ig40yfn {
    grid-template-columns: minmax(320px, 37%) minmax(0, 1fr) !important;
    height: 304px !important;
    max-height: 304px !important;
  }

  #i4wzc6t #ifhhw2f {
    padding: 26px 30px 24px !important;
  }

  #i4wzc6t #i68ilow {
    height: 304px !important;
  }

  #i4wzc6t #ihaylx3,
  #i4wzc6t #i1pobrg {
    margin-bottom: 12px !important;
  }

  #i4wzc6t #i4kbv13,
  #i4wzc6t #i4kbv13 .paragraph2 {
    max-width: 100% !important;
    font-size: 14px !important;
    line-height: 1.62 !important;
  }

  #i4wzc6t #izab3as {
    min-width: 150px !important;
    height: 46px !important;
    padding: 0 20px !important;
  }
}

@media (max-width: 1280px) and (min-width: 1181px) {
  body.oulu-leadong-home {
    --oulu-section-width: calc(100vw - 48px);
  }

  #ioxzzczk7n,
  #ioxzzczk7n .gjs-slick-slider-item,
  #igp86mt,
  #iayrew8,
  #ijtmbmc {
    height: 460px !important;
    min-height: 460px !important;
  }

  #header27512.header27512,
  #header27512.header27512Important {
    width: calc(100% - 32px) !important;
    height: 64px !important;
  }

  #header27512 .content,
  #header27512 .navigation,
  #header27512 .blockNavBar,
  #header27512 .blockNavBar > li,
  #header27512 .blockNavBar > li > a {
    height: 64px !important;
  }

  #header27512 .content {
    padding: 0 14px 0 18px !important;
    gap: 10px !important;
  }

  #header27512 .logo {
    flex: 0 0 160px !important;
    width: 160px !important;
  }

  #header27512 .logo img {
    max-height: 42px !important;
  }

  #header27512 .blockNavBar {
    gap: 14px !important;
  }

  #header27512 .blockNavBar > li > a {
    font-size: 14px !important;
  }

  #header27512 .langBar,
  #header27512 .ls_change_lang_btn,
  #header27512 .ls_change_lang_icon {
    width: 36px !important;
    height: 36px !important;
    flex-basis: 36px !important;
  }

  #header27512 .oulu-header-inquiry {
    flex: 0 0 132px !important;
    width: 132px !important;
    height: 38px !important;
    padding: 0 6px 0 14px !important;
    font-size: 12px !important;
  }

  #header27512 .oulu-header-inquiry i {
    width: 24px !important;
    height: 24px !important;
    font-size: 16px !important;
  }

  #iowwef91s9 {
    width: calc(100% - 48px) !important;
    margin-top: 28px !important;
    margin-bottom: 30px !important;
  }

  #iowwef91s9 .oulu-project-carousel__viewport,
  #iowwef91s9 .oulu-project-carousel__slide {
    height: 124px !important;
    min-height: 124px !important;
  }

  #iowwef91s9 .oulu-project-carousel__slide {
    grid-template-columns: 220px minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  #iowwef91s9 .oulu-project-carousel__media,
  #iowwef91s9 .oulu-project-carousel__media img {
    width: 220px !important;
    height: 124px !important;
  }

  #iowwef91s9 .oulu-project-carousel__content h3 {
    margin-bottom: 8px !important;
    font-size: 20px !important;
    height: auto !important;
    max-height: none !important;
  }

  #iowwef91s9 .oulu-project-carousel__content p {
    min-height: 48px !important;
    max-height: 48px !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow {
    top: 54px !important;
    width: 34px !important;
    height: 34px !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow--prev {
    left: -10px !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow--next {
    right: -10px !important;
  }

  #i4wzc6t {
    width: calc(100% - 48px) !important;
    padding-bottom: 40px !important;
  }

  #i4wzc6t #ig40yfn {
    grid-template-columns: minmax(248px, 36%) minmax(0, 1fr) !important;
    min-height: 280px !important;
  }

  #i4wzc6t #ifhhw2f {
    padding: 26px 24px !important;
  }

  #i4wzc6t #i68ilow {
    min-height: 280px !important;
  }

  #i4wzc6t #i4kbv13,
  #i4wzc6t #i4kbv13 .paragraph2 {
    font-size: 14px !important;
    line-height: 1.62 !important;
  }
}

@media (max-width: 1180px) {
  #backstage-headArea {
    top: 14px !important;
  }

  #ioxzzczk7n,
  #ioxzzczk7n .gjs-slick-slider-item,
  #igp86mt,
  #iayrew8,
  #ijtmbmc {
    height: 420px !important;
    min-height: 420px !important;
  }

  body.admin-bar #backstage-headArea {
    top: 60px !important;
  }

  #header27512.header27512,
  #header27512.header27512Important {
    width: calc(100% - 28px) !important;
    height: 64px !important;
    min-width: 0 !important;
  }

  #header27512 .content {
    height: 64px !important;
    padding: 0 18px !important;
  }

  #header27512 .logo {
    flex: 0 0 176px !important;
    width: 176px !important;
  }

  #header27512 .logo img {
    max-height: 46px !important;
  }

  #header27512 .navigation,
  #header27512 .langBar,
  #header27512 .oulu-header-inquiry {
    display: none !important;
  }

  #header27512 .mobile_icon {
    width: 42px !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: auto !important;
  }

  #igp86mt #iqwqr17 .heading3,
  #igp86mt #iqwqr17 .heading3 > span,
  #igp86mt #iqwqr17 .heading3 > span > span {
    white-space: normal !important;
  }
}

#igp86mt > .lead-bg .lead-bg-color,
#iayrew8 > .lead-bg .lead-bg-color,
#ijtmbmc > .lead-bg .lead-bg-color {
  background: linear-gradient(90deg, rgba(20, 38, 74, .68) 0%, rgba(20, 38, 74, .40) 42%, rgba(20, 38, 74, .10) 100%) !important;
  opacity: 1 !important;
}

#ioxzzczk7n,
#ioxzzczk7n .gjs-slick-slider-item,
#igp86mt,
#iayrew8,
#ijtmbmc {
  height: 520px !important;
  min-height: 520px !important;
}

#igp86mt,
#iayrew8,
#ijtmbmc {
  overflow: hidden !important;
}

#igp86mt > .lead-bg .lead-bg-img,
#iayrew8 > .lead-bg .lead-bg-img,
#ijtmbmc > .lead-bg .lead-bg-img,
#igp86mt > .lead-bg .lead-img,
#iayrew8 > .lead-bg .lead-img,
#ijtmbmc > .lead-bg .lead-img {
  height: 100% !important;
}

#igp86mt > .lead-bg .lead-img,
#iayrew8 > .lead-bg .lead-img,
#ijtmbmc > .lead-bg .lead-img {
  width: 100% !important;
  object-fit: cover !important;
}

#igp86mt #iqwqr17 .heading3,
#igp86mt #iqwqr17 .heading3 > span,
#igp86mt #iqwqr17 .heading3 > span > span {
  white-space: nowrap !important;
}

.prodListName .prodNameText,
.prodNameText {
  word-break: normal;
}

#iyz0vk9,
#iclctn8 {
  display: none !important;
}

#iggx7wi {
  order: 1;
}

#ic0p32b {
  order: 2;
}

#iic5fpm {
  order: 3;
}

#i9icrm2 {
  order: 4;
}

#ibwyvzb {
  order: 5;
}

#i7ggwqd,
#i7ggwqd .lead-tab-container,
#i7ggwqd .lead-tab-contents,
#i7ggwqd .lead-tab-content-item,
#i7ggwqd .dynamic-list-container {
  height: auto !important;
  overflow: visible !important;
}

#i7ggwqd {
  position: relative !important;
  min-height: 610px !important;
  padding: 10px 0 58px !important;
  border-radius: 34px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(19, 143, 163, .10), transparent 36%),
    linear-gradient(180deg, rgba(255, 255, 255, .82), rgba(245, 249, 252, .98)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .9),
    0 26px 60px rgba(20, 38, 74, .05) !important;
  isolation: isolate;
  --oulu-product-primary: #0a3880;
  --oulu-product-neutral: #303846;
  --oulu-product-muted: #637083;
  --oulu-product-line: #dce6ef;
  --oulu-product-hover-line: #aebfd1;
}

#i7ggwqd > .site-block-container,
#i7ggwqd #iytkodr {
  width: var(--oulu-section-width) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#i7ggwqd #igyrsj4,
#i7ggwqd .lead-tab-list {
  width: min(100%, 1460px) !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 18px !important;
  margin: 0 auto 20px !important;
  padding: 0 0 18px !important;
  border-bottom: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

#i7ggwqd #igyrsj4 > .lead-bg,
#i7ggwqd #igyrsj4 > .lead-bg-color,
#i7ggwqd .lead-tab-list > .lead-bg,
#i7ggwqd .lead-tab-list > .lead-bg-color {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

#i7ggwqd #igyrsj4 > .lead-tab-item,
#i7ggwqd .lead-tab-list > .lead-tab-item {
  position: relative !important;
  min-width: 0 !important;
  min-height: 124px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  padding: 12px 10px 18px !important;
  box-sizing: border-box !important;
  text-align: center !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border-bottom: 3px solid transparent !important;
  color: var(--oulu-product-neutral) !important;
  transition: border-color .2s ease, color .2s ease, background-color .2s ease !important;
}

#i7ggwqd #igyrsj4 > .lead-tab-item .lead_icon,
#i7ggwqd .lead-tab-list > .lead-tab-item .lead_icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 54px !important;
  height: 54px !important;
  margin: 0 auto !important;
  font-size: 48px !important;
  line-height: 1 !important;
}

#i7ggwqd #igyrsj4 > .lead-tab-item .lead-button-text,
#i7ggwqd #igyrsj4 > .lead-tab-item .lead-button-text *,
#i7ggwqd .lead-tab-list > .lead-tab-item .lead-button-text,
#i7ggwqd .lead-tab-list > .lead-tab-item .lead-button-text * {
  text-align: center !important;
  white-space: normal !important;
  line-height: 1.34 !important;
  font-size: 16px !important;
}

#i7ggwqd #igyrsj4 > .lead-tab-item > .lead-bg-color,
#i7ggwqd .lead-tab-list > .lead-tab-item > .lead-bg-color {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

#i7ggwqd #igyrsj4 > .lead-tab-item:hover,
#i7ggwqd #igyrsj4 > .lead-tab-item:focus-visible,
#i7ggwqd #igyrsj4 > .lead-tab-item.tab-active,
#i7ggwqd #igyrsj4 > .lead-tab-item[aria-selected="true"],
#i7ggwqd .lead-tab-list > .lead-tab-item:hover,
#i7ggwqd .lead-tab-list > .lead-tab-item:focus-visible,
#i7ggwqd .lead-tab-list > .lead-tab-item.tab-active,
#i7ggwqd .lead-tab-list > .lead-tab-item[aria-selected="true"] {
  border-bottom-width: 3px !important;
  border-bottom-color: var(--oulu-product-primary) !important;
  color: var(--oulu-product-primary) !important;
}

#i7ggwqd #igyrsj4 > .lead-tab-item .lead_icon,
#i7ggwqd #igyrsj4 > .lead-tab-item .lead-button-text,
#i7ggwqd #igyrsj4 > .lead-tab-item .lead-button-text *,
#i7ggwqd .lead-tab-list > .lead-tab-item .lead_icon,
#i7ggwqd .lead-tab-list > .lead-tab-item .lead-button-text,
#i7ggwqd .lead-tab-list > .lead-tab-item .lead-button-text * {
  color: var(--oulu-product-neutral) !important;
}

#i7ggwqd #igyrsj4 > .lead-tab-item:hover .lead_icon,
#i7ggwqd #igyrsj4 > .lead-tab-item:hover .lead-button-text,
#i7ggwqd #igyrsj4 > .lead-tab-item:hover .lead-button-text *,
#i7ggwqd #igyrsj4 > .lead-tab-item:focus-visible .lead_icon,
#i7ggwqd #igyrsj4 > .lead-tab-item:focus-visible .lead-button-text,
#i7ggwqd #igyrsj4 > .lead-tab-item:focus-visible .lead-button-text *,
#i7ggwqd #igyrsj4 > .lead-tab-item.tab-active .lead_icon,
#i7ggwqd #igyrsj4 > .lead-tab-item.tab-active .lead-button-text,
#i7ggwqd #igyrsj4 > .lead-tab-item.tab-active .lead-button-text *,
#i7ggwqd #igyrsj4 > .lead-tab-item[aria-selected="true"] .lead_icon,
#i7ggwqd #igyrsj4 > .lead-tab-item[aria-selected="true"] .lead-button-text,
#i7ggwqd #igyrsj4 > .lead-tab-item[aria-selected="true"] .lead-button-text *,
#i7ggwqd .lead-tab-list > .lead-tab-item:hover .lead_icon,
#i7ggwqd .lead-tab-list > .lead-tab-item:hover .lead-button-text,
#i7ggwqd .lead-tab-list > .lead-tab-item:hover .lead-button-text *,
#i7ggwqd .lead-tab-list > .lead-tab-item:focus-visible .lead_icon,
#i7ggwqd .lead-tab-list > .lead-tab-item:focus-visible .lead-button-text,
#i7ggwqd .lead-tab-list > .lead-tab-item:focus-visible .lead-button-text *,
#i7ggwqd .lead-tab-list > .lead-tab-item.tab-active .lead_icon,
#i7ggwqd .lead-tab-list > .lead-tab-item.tab-active .lead-button-text,
#i7ggwqd .lead-tab-list > .lead-tab-item.tab-active .lead-button-text *,
#i7ggwqd .lead-tab-list > .lead-tab-item[aria-selected="true"] .lead_icon,
#i7ggwqd .lead-tab-list > .lead-tab-item[aria-selected="true"] .lead-button-text,
#i7ggwqd .lead-tab-list > .lead-tab-item[aria-selected="true"] .lead-button-text * {
  color: var(--oulu-product-primary) !important;
}

#i7ggwqd .lead-tab-content-item {
  padding: 0 0 8px !important;
}

#i7ggwqd .lead-tab-content-item:not(.hidden) {
  display: block !important;
  position: relative !important;
  min-height: 430px !important;
}

#i7ggwqd .list-row-setting-container,
#i7ggwqd .list-column-setting-container,
#i7ggwqd .dynamic-list-container,
#i7ggwqd .block-prodlist-container-replace,
#i7ggwqd .block-prodlist-container-replace.swiper-wrapper {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  transform: none !important;
}

#i7ggwqd .block-prodlist-container-replace {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px !important;
  padding-top: 8px !important;
  width: min(100%, 1460px) !important;
  max-width: 1460px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  height: auto !important;
  align-items: stretch !important;
  transform: none !important;
}

#i7ggwqd .dynamic-component-container,
#i7ggwqd .list-item-container,
#i7ggwqd .swiper-slide {
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  flex: none !important;
  opacity: 1 !important;
}

#i7ggwqd .list-item-container {
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  height: 435px !important;
  min-height: 435px !important;
  max-height: 435px !important;
  width: 100% !important;
  cursor: pointer;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 251, 254, .98)) !important;
  border: 1px solid rgba(20, 38, 74, .08) !important;
  border-radius: 22px !important;
  box-shadow: none !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  transform: translateY(0);
  transition:
    transform .28s cubic-bezier(.22, .61, .36, 1),
    border-color .24s ease,
    box-shadow .28s ease,
    background-color .24s ease !important;
}

#i7ggwqd .list-item-container:hover,
#i7ggwqd .list-item-container:focus-within {
  transform: translateY(-2px);
  border-color: rgba(23, 165, 186, .24) !important;
  box-shadow: none !important;
}

#i7ggwqd .list-item-container.oulu-product-current,
#i7ggwqd .list-item-container.is-active,
#i7ggwqd .list-item-container[aria-pressed="true"] {
  transform: translateY(0);
  border-width: 2px !important;
  border-color: #17a5ba !important;
  box-shadow: none !important;
}

#i7ggwqd .dynamic-component-container::before,
#i7ggwqd .dynamic-component-container::after,
#i7ggwqd .list-item-container::before,
#i7ggwqd .list-item-container::after {
  content: none !important;
  display: none !important;
}

#i7ggwqd .list-item-container .lead-bg,
#i7ggwqd .list-item-container .lead-bg-color {
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

#i7ggwqd .block-prodlist-container-replace > .list-item-container:nth-child(n+5),
#i7ggwqd .block-prodlist-container-replace > .dynamic-component-container:nth-child(n+5) {
  display: none !important;
}

#i7ggwqd .prodListPhoto {
  flex: 0 0 215px !important;
  height: 215px !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  background: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 16px 16px 0 !important;
  box-sizing: border-box;
}

#i7ggwqd .prodListPhoto .product-image,
#i7ggwqd .prodListPhoto .lead_swiper_container,
#i7ggwqd .prodListPhoto .prodListImg_box {
  width: 100% !important;
  height: 100% !important;
  border-radius: 0 !important;
  overflow: visible !important;
  background: #fff !important;
}

#i7ggwqd .prodListPhoto .product-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  transition: none !important;
  transform: none !important;
  filter: none !important;
}

#i7ggwqd .minimum-unit-container {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box;
}

#i7ggwqd .prodListName,
#i7ggwqd .prodListBrief {
  padding-left: 18px !important;
  padding-right: 18px !important;
  box-sizing: border-box;
}

#i7ggwqd .prodListName .titleLabel,
#i7ggwqd .prodListName .titleLabel h1,
#i7ggwqd .prodListName.prodNameText,
#i7ggwqd .prodNameText {
  color: var(--oulu-heading) !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  margin: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  transition: color .22s ease !important;
}

#i7ggwqd .list-item-container.oulu-product-current .prodNameText,
#i7ggwqd .list-item-container[aria-pressed="true"] .prodNameText {
  color: var(--oulu-product-primary) !important;
}

#i7ggwqd .prodListName {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

#i7ggwqd .prodListName > .titleLabel {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

#i7ggwqd .prodListName > .titleLabel > .prodNameText {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#i7ggwqd .prodListBrief,
#i7ggwqd .prodBriefNoTag {
  color: var(--oulu-muted) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

#i7ggwqd .prodListBrief {
  margin-top: 0 !important;
  min-height: 38px !important;
  max-height: 38px !important;
  margin-bottom: 12px !important;
}

#i7ggwqd .prodListBtns,
#i7ggwqd .prodBtnBox,
#i7ggwqd .prodOper,
#i7ggwqd .prodOperate,
#i7ggwqd .prodListBtns_box,
#i7ggwqd .minimum-unit-container > div:last-child {
  margin-top: auto !important;
}

#i7ggwqd .prodInquire_btn,
#i7ggwqd .prodbasket {
  border-radius: 999px !important;
}

#i7ggwqd [data-nodelistid="175023499305429300"] {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  margin-top: auto !important;
  padding: 0 12px 22px !important;
  box-sizing: border-box !important;
}

#i7ggwqd [data-nodelistid="175023499305429300"] > .lead-bg,
#i7ggwqd [data-nodelistid="175023499305429300"] > .lead-bg .lead-bg-color,
#i7ggwqd [data-nodelistid="175023499305429300"] > .column-container > .lead-bg,
#i7ggwqd [data-nodelistid="175023499305429300"] > .column-container > .lead-bg .lead-bg-color {
  display: none !important;
}

#i7ggwqd [data-nodelistid="175023499305429300"] > .column-container {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 1 1 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#i7ggwqd [data-nodelistid="175023499305429300"] .minimum-unit-container,
#i7ggwqd [data-nodelistid="175023499305429300"] .prodInquire,
#i7ggwqd [data-nodelistid="175023499305429300"] .prodbasket {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#i7ggwqd [data-nodelistid="175023499305429300"] .leadPayBtn {
  width: 100% !important;
  min-width: 0 !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  transition: transform .18s ease !important;
}

#i7ggwqd [data-nodelistid="175023499305429300"] .prodInquire-inner {
  width: 100% !important;
  height: 38px !important;
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  color: inherit !important;
  font-size: 12.5px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  text-align: center !important;
  transition:
    transform .18s ease,
    border-color .22s ease,
    background .22s ease,
    color .22s ease,
    box-shadow .22s ease !important;
}

#i7ggwqd [data-nodelistid="175023499305429300"] .prodInquire-inner span:not(.icon),
#i7ggwqd [data-nodelistid="175023499305429300"] .prodInquire-inner p {
  margin: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
  line-height: 1 !important;
  font-weight: inherit !important;
  white-space: nowrap !important;
}

#i7ggwqd [data-nodelistid="175023499305429300"] .lead_icon {
  margin: 0 !important;
  color: currentColor !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

#i7ggwqd [data-nodelistid="175023499305429300"] .prodbasketBtn .prodInquire-inner {
  border: 1px solid rgba(19, 143, 163, .14) !important;
  background: linear-gradient(135deg, #f7fcfe, #eaf7fb) !important;
  color: #173963 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .92) !important;
}

#i7ggwqd [data-nodelistid="175023499305429300"] .prodbasketBtn .lead_icon {
  display: none !important;
}

#i7ggwqd [data-nodelistid="175023499305429300"] .prodbasketBtn .prodInquire-inner::after {
  content: none !important;
}

#i7ggwqd [data-nodelistid="175023499305429300"] .prodInquireBtn .prodInquire-inner {
  border: 1px solid rgba(19, 143, 163, .12) !important;
  background: rgba(19, 143, 163, .05) !important;
  color: #147b8d !important;
}

#i7ggwqd [data-nodelistid="175023499305429300"] .prodbasketBtn:hover .prodInquire-inner,
#i7ggwqd [data-nodelistid="175023499305429300"] .prodbasketBtn:focus-within .prodInquire-inner {
  transform: translateY(-1px);
  border-color: rgba(19, 143, 163, .22) !important;
  background: linear-gradient(135deg, #f0fbfd, #ddf3f7) !important;
  color: #11345f !important;
  box-shadow: 0 10px 20px rgba(19, 143, 163, .12) !important;
}

#i7ggwqd [data-nodelistid="175023499305429300"] .prodInquireBtn:hover .prodInquire-inner,
#i7ggwqd [data-nodelistid="175023499305429300"] .prodInquireBtn:focus-within .prodInquire-inner {
  transform: translateY(-1px);
  border-color: rgba(19, 143, 163, .2) !important;
  background: rgba(19, 143, 163, .08) !important;
  color: #0f6d7d !important;
  box-shadow: 0 8px 18px rgba(19, 143, 163, .08) !important;
}

#i7ggwqd .list-item-container.oulu-product-current .prodbasketBtn .prodInquire-inner,
#i7ggwqd .list-item-container[aria-pressed="true"] .prodbasketBtn .prodInquire-inner {
  border-color: transparent !important;
  background: linear-gradient(135deg, #18a7bc, #0f8298) !important;
  color: #fff !important;
  box-shadow: 0 14px 24px rgba(19, 143, 163, .22) !important;
}

#i7ggwqd .list-item-container.oulu-product-current .prodInquireBtn .prodInquire-inner,
#i7ggwqd .list-item-container[aria-pressed="true"] .prodInquireBtn .prodInquire-inner {
  border-color: rgba(19, 143, 163, .16) !important;
  background: rgba(19, 143, 163, .07) !important;
  color: #0f7384 !important;
}

#i7ggwqd [data-nodelistid="175023499305429300"] .leadPayBtn:active .prodInquire-inner {
  transform: scale(.985);
}

#i7ggwqd .prodInquire {
  color: #333b4a !important;
}

#i7ggwqd .swiper-button-next,
#i7ggwqd .swiper-button-prev {
  display: none !important;
}

#irtgxic {
  position: absolute !important;
  z-index: 6;
  top: 88px !important;
  right: max(28px, calc((100% - 1600px) / 2 - 102px)) !important;
  width: 220px !important;
  left: auto !important;
  margin-top: 0 !important;
  justify-content: flex-end !important;
}

#irtgxic .lead-button-container,
#irtgxic #i70jhcz {
  width: auto !important;
}

#irtgxic #i70jhcz,
#irtgxic #i70jhcz:hover,
#irtgxic #i70jhcz:focus-visible {
  border-color: transparent !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: var(--ld-main1) !important;
}

#irtgxic #i70jhcz .lead-button-text,
#irtgxic #i70jhcz .lead-button-text *,
#irtgxic #i70jhcz svg,
#irtgxic #i70jhcz svg * {
  color: var(--ld-main1) !important;
  fill: currentColor !important;
}

#iowwef91s9 {
  width: min(100%, 1460px) !important;
  max-width: 1460px !important;
  height: 170px !important;
  min-height: 170px !important;
  margin: 58px auto 30px !important;
  padding: 0 0 24px !important;
  position: relative !important;
  left: auto !important;
  translate: -18px 0 !important;
  background: transparent !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

#iowwef91s9 .oulu-project-carousel__viewport {
  width: 100% !important;
  margin: 0 !important;
  height: 136px !important;
  min-height: 0 !important;
  background: transparent !important;
  overflow: hidden !important;
}

#iowwef91s9 .oulu-project-carousel__track {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  transition: transform .52s cubic-bezier(.22, .61, .36, 1) !important;
  will-change: transform;
}

#iowwef91s9 .oulu-project-carousel__slide {
  flex: 0 0 100% !important;
  width: 100% !important;
  height: 136px !important;
  min-height: 136px !important;
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 1 !important;
  grid-template-columns: 380px minmax(0, 1040px) !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 40px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

#iowwef91s9 .oulu-project-carousel__media,
#iowwef91s9 .oulu-project-carousel__content {
  transition: transform .46s cubic-bezier(.22, .61, .36, 1), opacity .32s ease !important;
}

#iowwef91s9 .oulu-project-carousel__media {
  display: block !important;
  width: 380px !important;
  height: 136px !important;
  overflow: hidden !important;
  border-radius: 8px !important;
  background: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 12px 26px rgba(20, 38, 74, .08) !important;
  transform: translateX(10px) !important;
  opacity: .9 !important;
}

#iowwef91s9 .oulu-project-carousel__media img {
  width: 100% !important;
  height: 136px !important;
  display: block !important;
  object-fit: cover !important;
  transition: transform .3s ease !important;
}

#iowwef91s9 .oulu-project-carousel__slide:hover .oulu-project-carousel__media img {
  transform: scale(1.035) !important;
}

#iowwef91s9 .oulu-project-carousel__content {
  min-width: 0 !important;
  width: 1040px !important;
  max-width: 1040px !important;
  height: 118px !important;
  padding-right: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  transform: translateX(14px) !important;
  opacity: .86 !important;
}

#iowwef91s9 .oulu-project-carousel__slide.is-active .oulu-project-carousel__media,
#iowwef91s9 .oulu-project-carousel__slide.is-active .oulu-project-carousel__content {
  transform: translateX(0) !important;
  opacity: 1 !important;
}

#iowwef91s9 .oulu-project-carousel__content h3 {
  margin: 0 0 10px !important;
  height: 33px !important;
  max-height: 33px !important;
  overflow: hidden !important;
  color: var(--oulu-heading) !important;
  font-size: 26px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

#iowwef91s9 .oulu-project-carousel__content h3 a {
  display: block !important;
  overflow: hidden !important;
  color: var(--oulu-heading) !important;
  text-decoration: none !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#iowwef91s9 .oulu-project-carousel__content h3 a:hover {
  color: var(--ld-main1) !important;
}

#iowwef91s9 .oulu-project-carousel__content p {
  margin: 0 !important;
  width: 100% !important;
  max-width: 1040px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  color: var(--oulu-muted) !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
}

#iowwef91s9 .oulu-project-carousel__arrow {
  position: absolute !important;
  top: 68px !important;
  width: 42px !important;
  height: 42px !important;
  border: 1px solid rgba(19, 143, 163, .18) !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .96) !important;
  color: var(--ld-main1) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 12px 28px rgba(20, 38, 74, .10) !important;
  transform: translateY(-50%) !important;
  cursor: pointer !important;
  z-index: 2 !important;
}

#iowwef91s9 .oulu-project-carousel__arrow--prev {
  left: -46px !important;
}

#iowwef91s9 .oulu-project-carousel__arrow--next {
  right: -28px !important;
}

#iowwef91s9 .oulu-project-carousel__arrow span {
  display: block !important;
  margin-top: -2px !important;
  font-size: 34px !important;
  line-height: 1 !important;
}

#iowwef91s9 .oulu-project-carousel__arrow:hover,
#iowwef91s9 .oulu-project-carousel__arrow:focus-visible {
  background: var(--ld-main1) !important;
  color: #fff !important;
  outline: none !important;
}

#iowwef91s9 .oulu-project-carousel__dots {
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  transform: translateX(-50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
}

#iowwef91s9 .oulu-project-carousel__dots button {
  width: 24px !important;
  height: 24px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#iowwef91s9 .oulu-project-carousel__dots button::before {
  content: "" !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: rgba(20, 38, 74, .22) !important;
}

#iowwef91s9 .oulu-project-carousel__dots button.is-active {
  background: transparent !important;
}

#iowwef91s9 .oulu-project-carousel__dots button.is-active::before {
  width: 20px !important;
  background: var(--ld-main1) !important;
}

#i4wzc6t {
  width: min(100%, 1460px) !important;
  max-width: 1460px !important;
  position: relative !important;
  left: auto !important;
  translate: -18px 0 !important;
  margin: 0 auto !important;
  min-height: 0 !important;
  padding: 0 0 34px !important;
  background: transparent !important;
  background-color: transparent !important;
  overflow: visible !important;
}

#i4wzc6t > .lead-bg,
#i4wzc6t > .lead-bg .lead-bg-img,
#i4wzc6t > .lead-bg .lead-picture,
#i4wzc6t > .lead-bg .lead-img,
#i4wzc6t > .lead-bg .lead-bg-color {
  display: none !important;
}

#i4wzc6t #ijs923o {
  width: min(100%, 1460px) !important;
  max-width: 1460px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
}

#i4wzc6t #ig40yfn {
  width: 100% !important;
  max-width: 1460px !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(360px, 560px) minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 0 !important;
  height: 340px !important;
  max-height: 340px !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  background: #fff !important;
  border: 1px solid var(--oulu-line) !important;
  box-shadow: 0 18px 42px rgba(20, 38, 74, .08) !important;
}

#i4wzc6t #i9xgy1k,
#i4wzc6t #i9k9j3g {
  width: auto !important;
  max-width: none !important;
  display: inline-flex !important;
  align-items: center !important;
}

#i4wzc6t #izab3as {
  width: auto !important;
  min-width: 162px !important;
  max-width: none !important;
  height: 52px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  border-radius: 999px !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

#i4wzc6t #izab3as svg {
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  order: 2 !important;
}

#i4wzc6t #izab3as .lead-button-text {
  width: auto !important;
  max-width: none !important;
  order: 1 !important;
}

#i4wzc6t #izab3as .lead-button-text,
#i4wzc6t #izab3as .lead-button-text *,
#i4wzc6t #izab3as #ld-css-174918902833326270 {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#i4wzc6t #ig40yfn > .lead-bg,
#i4wzc6t #ig40yfn > .lead-bg .lead-bg-img,
#i4wzc6t #ig40yfn > .lead-bg .lead-picture,
#i4wzc6t #ig40yfn > .lead-bg .lead-img,
#i4wzc6t #ifhhw2f > .lead-bg,
#i4wzc6t #ifhhw2f > .lead-bg .lead-bg-img,
#i4wzc6t #ifhhw2f > .lead-bg .lead-picture,
#i4wzc6t #ifhhw2f > .lead-bg .lead-img {
  display: none !important;
}

#i4wzc6t #ifhhw2f,
#i4wzc6t #i68ilow {
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  min-height: 0 !important;
  background: transparent !important;
}

#i4wzc6t #ifhhw2f {
  padding: 34px 54px 32px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

#i4wzc6t #i68ilow {
  min-height: 0 !important;
  height: 340px !important;
}

#i4wzc6t #i68ilow .hot-point {
  display: none !important;
}

#i4wzc6t #i68ilow .lead-container-wrapper,
#i4wzc6t #i68ilow .lead-image-container,
#i4wzc6t #i68ilow picture,
#i4wzc6t #i68ilow img {
  width: 100% !important;
  height: 100% !important;
}

#i4wzc6t #i68ilow img {
  display: block !important;
  object-fit: cover !important;
  object-position: center 58% !important;
}

#i4wzc6t #ihaylx3 .heading3 {
  color: var(--oulu-heading) !important;
}

#i4wzc6t #ikcr9y6,
#i4wzc6t #i8ff5hu,
#i4wzc6t #ib6mvfg {
  display: none !important;
}

#i4wzc6t #ihaylx3,
#i4wzc6t #i1pobrg {
  margin-bottom: 16px !important;
}

#i4wzc6t #i1pobrg {
  width: 52px !important;
  height: 4px !important;
  position: relative !important;
}

#i4wzc6t #i1pobrg img {
  display: none !important;
}

#i4wzc6t #i1pobrg::before {
  content: "" !important;
  display: block !important;
  width: 52px !important;
  height: 4px !important;
  border-radius: 999px !important;
  background: #17a5ba !important;
  opacity: .4 !important;
}

#i4wzc6t #i4kbv13,
#i4wzc6t #i4kbv13 .paragraph2 {
  width: 100% !important;
  max-width: 480px !important;
  color: var(--oulu-text) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

#i04659x.oulu-partners {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 66px 0 70px !important;
  background: var(--oulu-soft) !important;
  overflow: hidden !important;
}

.oulu-partners__inner {
  width: var(--oulu-section-width);
  margin: 0 auto;
}

.oulu-partners__eyebrow {
  margin: 0 0 10px;
  color: var(--ld-main1);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
}

.oulu-partners h3 {
  margin: 0 0 34px;
  color: var(--oulu-heading);
  font-size: 34px;
  line-height: 1.18;
  font-weight: 700;
  text-align: center;
}

.oulu-partners h3 span {
  color: var(--ld-main1);
}

.oulu-partners__viewport {
  position: relative;
  overflow: hidden;
  padding: 2px 0;
}

.oulu-partners__viewport::before,
.oulu-partners__viewport::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
  width: 80px;
  pointer-events: none;
}

.oulu-partners__viewport::before {
  left: 0;
  background: linear-gradient(90deg, var(--oulu-soft), rgba(245,248,251,0));
}

.oulu-partners__viewport::after {
  right: 0;
  background: linear-gradient(270deg, var(--oulu-soft), rgba(245,248,251,0));
}

.oulu-partners__track {
  display: flex;
  width: max-content;
  animation: oulu-partners-scroll 110s linear infinite;
  will-change: transform;
}

.oulu-partners__viewport:hover .oulu-partners__track {
  animation-play-state: paused;
}

.oulu-partners__group {
  display: flex;
  align-items: center;
  gap: 22px;
  padding-right: 22px;
}

.oulu-partners__item {
  width: 176px;
  height: 82px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border: 1px solid var(--oulu-line);
  border-radius: 6px;
  background: #fff;
}

.oulu-partners__item img {
  max-width: 132px;
  max-height: 52px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: none;
}

@keyframes oulu-partners-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.oulu-certificates {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 0 30px !important;
  background: linear-gradient(180deg, var(--oulu-soft) 0, rgba(245,248,251,.78) 24px, rgba(255,255,255,.94) 78px, #fff 128px) !important;
  overflow: hidden !important;
}

.oulu-certificates__inner {
  width: min(1360px, calc(100vw - 220px));
  margin: 0 auto;
  display: block;
}

.oulu-certificates__intro {
  padding: 0 0 4px;
  margin-bottom: 0;
  text-align: center;
}

.oulu-certificates__eyebrow {
  display: none;
}

.oulu-certificates h3 {
  margin: 0;
  color: var(--oulu-heading);
  font-size: clamp(28px, 2.6vw, 46px);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: .01em;
  text-transform: uppercase;
}

.oulu-certificates h3 span {
  color: var(--ld-main1);
}

.oulu-certificates__stage {
  position: relative;
  min-height: 420px;
  padding: 0 92px 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  outline: none;
  perspective: 1600px;
}

.oulu-certificates__viewport {
  position: relative;
  z-index: 2;
  width: min(980px, 100%);
  height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.oulu-certificates__orbit {
  position: absolute;
  left: 50%;
  bottom: -16px;
  width: min(920px, 76vw);
  height: 128px;
  transform: translateX(-50%);
  pointer-events: none;
  opacity: .42;
}

.oulu-certificates__orbit span {
  position: absolute;
  inset: 0;
}

.oulu-certificates__orbit::before,
.oulu-certificates__orbit::after,
.oulu-certificates__orbit span::before,
.oulu-certificates__orbit span::after {
  content: "";
  position: absolute;
  left: 50%;
  border-radius: 50%;
  transform: translateX(-50%) rotateX(76deg);
}

.oulu-certificates__orbit::before {
  bottom: 2px;
  width: 100%;
  height: 100%;
  border: 2px solid rgba(190, 198, 210, .5);
}

.oulu-certificates__orbit::after {
  bottom: 22px;
  width: calc(100% - 92px);
  height: calc(100% - 46px);
  border: 1px solid rgba(205, 212, 222, .55);
}

.oulu-certificates__orbit span::before {
  bottom: 42px;
  width: calc(100% - 188px);
  height: calc(100% - 88px);
  border: 1px solid rgba(214, 220, 228, .65);
}

.oulu-certificates__orbit span::after {
  bottom: -12px;
  width: calc(100% - 154px);
  height: calc(100% - 8px);
  border-bottom: 10px solid rgba(150, 160, 174, .32);
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  filter: blur(1px);
}

.oulu-certificates__nav {
  position: absolute;
  top: 50%;
  z-index: 4;
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(203, 211, 221, .94);
  border-radius: 999px;
  background: rgba(255, 255, 255, .95);
  color: #b8c0cb;
  box-shadow: 0 16px 34px rgba(31, 48, 82, .08);
  transform: translateY(-50%);
  transition: transform .24s ease, color .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.oulu-certificates__nav:hover,
.oulu-certificates__nav:focus-visible {
  color: var(--ld-main1);
  border-color: rgba(19, 143, 163, .24);
  box-shadow: 0 20px 38px rgba(31, 48, 82, .14);
  transform: translateY(-50%) scale(1.04);
}

.oulu-certificates__nav svg {
  width: 21px;
  height: 21px;
}

.oulu-certificates__nav--prev {
  left: 12px;
}

.oulu-certificates__nav--next {
  right: 12px;
}

.oulu-certificates__item {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  width: min(250px, 20vw);
  min-width: 190px;
  max-width: 250px;
  transform-origin: center center;
  transition:
    transform .46s cubic-bezier(.22, .61, .36, 1),
    opacity .36s ease,
    filter .36s ease,
    z-index .01s linear;
}

.oulu-certificates__item::before {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  bottom: -20px;
  height: 24px;
  background: radial-gradient(ellipse at center, rgba(32, 46, 79, .24) 0%, rgba(32, 46, 79, 0) 72%);
  filter: blur(6px);
  transition: transform .46s cubic-bezier(.22, .61, .36, 1), opacity .36s ease;
}

.oulu-certificates__item[data-cert-state="active"] {
  z-index: 3;
  opacity: 1;
  filter: none;
  transform: translate(-50%, -50%) scale(1);
}

.oulu-certificates__item[data-cert-state="active"]::before {
  opacity: 1;
  transform: scale(1.02);
}

.oulu-certificates__item[data-cert-state="prev"] {
  z-index: 2;
  opacity: .92;
  filter: saturate(.92);
  transform: translate(calc(-50% - 192px), calc(-50% + 14px)) scale(.8) rotate(-3deg);
}

.oulu-certificates__item[data-cert-state="prev"]::before {
  opacity: .7;
  transform: scale(.9);
}

.oulu-certificates__item[data-cert-state="next"] {
  z-index: 2;
  opacity: .92;
  filter: saturate(.92);
  transform: translate(calc(-50% + 192px), calc(-50% + 14px)) scale(.8) rotate(3deg);
}

.oulu-certificates__item[data-cert-state="next"]::before {
  opacity: .7;
  transform: scale(.9);
}

.oulu-certificates__item[data-cert-state="far-prev"],
.oulu-certificates__item[data-cert-state="far-next"] {
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -44%) scale(.66);
}

.oulu-certificates__item[data-cert-state="far-prev"]::before,
.oulu-certificates__item[data-cert-state="far-next"]::before {
  opacity: 0;
}

.oulu-certificates__image {
  display: block;
  position: relative;
  overflow: hidden;
  padding: 12px;
  border: 1px solid rgba(196, 204, 214, .95);
  border-radius: 12px;
  background:
    radial-gradient(circle at 14px 14px, rgba(108, 118, 130, .92) 0 1.8px, rgba(218, 223, 230, .98) 2.2px 5.4px, transparent 5.6px),
    radial-gradient(circle at calc(100% - 14px) 14px, rgba(108, 118, 130, .92) 0 1.8px, rgba(218, 223, 230, .98) 2.2px 5.4px, transparent 5.6px),
    radial-gradient(circle at 14px calc(100% - 14px), rgba(108, 118, 130, .92) 0 1.8px, rgba(218, 223, 230, .98) 2.2px 5.4px, transparent 5.6px),
    radial-gradient(circle at calc(100% - 14px) calc(100% - 14px), rgba(108, 118, 130, .92) 0 1.8px, rgba(218, 223, 230, .98) 2.2px 5.4px, transparent 5.6px),
    linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(243, 246, 250, .98) 100%);
  text-decoration: none;
  box-shadow:
    0 18px 28px rgba(34, 50, 83, .11),
    inset 0 1px 0 rgba(255, 255, 255, .92);
}

.oulu-certificates__image::before {
  content: "";
  position: absolute;
  inset: 10px;
  z-index: 0;
  pointer-events: none;
  border: 1px solid rgba(230, 234, 239, .98);
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px rgba(248, 250, 252, .84);
}

.oulu-certificates__image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  border-radius: 12px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .78),
    inset 0 -24px 42px rgba(197, 205, 216, .12);
}

.oulu-certificates__image img {
  width: 100%;
  aspect-ratio: 0.73;
  display: block;
  object-fit: cover;
  position: relative;
  z-index: 1;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .75);
}

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

.oulu-cert-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 42px 24px;
  background: rgba(9, 20, 38, .72);
  backdrop-filter: blur(8px);
}

.oulu-cert-preview-open {
  overflow: hidden;
}

.oulu-cert-lightbox.is-open {
  display: flex;
}

.oulu-cert-lightbox__panel {
  width: fit-content;
  max-width: calc(100vw - 48px);
  max-height: calc(100vh - 84px);
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .34);
}

.oulu-cert-lightbox__media {
  min-height: 0;
  overflow: hidden;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f6f8fb;
}

.oulu-cert-lightbox__media img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: calc(100vh - 178px);
  display: block;
  object-fit: contain;
}

.oulu-cert-lightbox__bar {
  min-height: 58px;
  padding: 0 14px 0 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-top: 1px solid rgba(20, 38, 74, .10);
}

.oulu-cert-lightbox__title {
  margin: 0;
  color: var(--oulu-heading);
  font-size: 15px;
  line-height: 1.3;
  font-weight: 800;
}

.oulu-cert-lightbox__close {
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  border: 1px solid rgba(20, 38, 74, .14);
  border-radius: 999px;
  background: #fff;
  color: var(--oulu-heading);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.oulu-cert-lightbox__close:hover,
.oulu-cert-lightbox__close:focus-visible {
  border-color: rgba(23, 165, 186, .42);
  color: #12899c;
}

.oulu-faq {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 58px 0 62px !important;
  background: #fff !important;
}

.oulu-faq__inner {
  width: var(--oulu-section-width);
  margin: 0 auto;
}

.oulu-faq__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
}

.oulu-faq__title-group {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
}

.oulu-faq__head-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  flex: 0 0 auto;
}

.oulu-faq h3 {
  margin: 0;
  color: var(--oulu-heading);
  font-size: 34px;
  line-height: 1.18;
  font-weight: 800;
}

.oulu-faq h3 span {
  color: var(--ld-main1);
}

.oulu-faq__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--ld-main1);
  font-size: 16px;
  line-height: 1;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.oulu-faq__link span {
  font-size: 22px;
  line-height: 1;
}

.oulu-faq__controls {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}

.oulu-faq__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(19, 143, 163, .2);
  border-radius: 999px;
  background: #fff;
  color: var(--ld-main1);
  cursor: pointer;
  transition: border-color .24s ease, background-color .24s ease, color .24s ease, transform .24s ease;
}

.oulu-faq__arrow span {
  font-size: 16px;
  line-height: 1;
}

.oulu-faq__arrow:hover,
.oulu-faq__arrow:focus-visible {
  border-color: var(--ld-main1);
  background: var(--ld-main1);
  color: #fff;
  transform: translateY(-1px);
}

.oulu-faq__viewport {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}

.oulu-faq__track {
  display: flex;
  transition: transform .58s cubic-bezier(.22, .61, .36, 1);
  will-change: transform;
}

.oulu-faq__card {
  flex: 0 0 100%;
  width: 100%;
  box-sizing: border-box;
  position: relative;
  min-height: 230px;
  padding: 34px 72px 70px 92px;
  overflow: hidden;
  border: 1px solid var(--oulu-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(20, 38, 74, .10);
}

.oulu-faq__card::before {
  content: "";
  position: absolute;
  inset: 0 0 0 auto;
  width: 190px;
  background: linear-gradient(90deg, rgba(19,143,163,0), rgba(19,143,163,.08));
  clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%);
}

.oulu-faq__content {
  position: relative;
  z-index: 1;
}

.oulu-faq__content h4 {
  margin: 0 0 14px;
  color: var(--ld-main1);
  font-size: 24px;
  line-height: 1.24;
  font-weight: 800;
}

.oulu-faq__content p {
  margin: 0 0 18px;
  max-width: 1060px;
  color: var(--oulu-muted);
  font-size: 15.5px;
  line-height: 1.62;
}

.oulu-faq__content p:last-child {
  margin-bottom: 0;
}

.oulu-faq__quote {
  position: absolute;
  z-index: 2;
  color: var(--ld-main1);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 58px;
  line-height: 1;
  font-weight: 800;
}

.oulu-faq__quote--start {
  left: 34px;
  top: 34px;
}

.oulu-faq__quote--end {
  right: 30px;
  bottom: 22px;
}

.oulu-faq__watermark {
  position: absolute;
  right: -18px;
  top: 50%;
  z-index: 0;
  color: rgba(19,143,163,.08);
  font-size: 124px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0;
  transform: translateY(-50%) rotate(90deg);
  transform-origin: center;
}

.oulu-faq__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 0;
  margin-top: 8px;
}

.oulu-faq__dots {
  position: static;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.oulu-faq__dots button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(20, 38, 74, .14);
  cursor: pointer;
  transition: width .24s ease, background-color .24s ease, opacity .24s ease;
}

.oulu-faq__dots button.is-active {
  width: 28px;
  background: var(--ld-main1);
}

#iv5vnxg .lead-bg-color {
  background: linear-gradient(90deg, rgba(245,248,251,.96), rgba(245,248,251,.80), rgba(245,248,251,.42)) !important;
  opacity: 1 !important;
}

#iv5vnxg.oulu-services {
  position: relative !important;
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 72px 0 88px !important;
  overflow: hidden !important;
  background: var(--oulu-soft) !important;
}

.oulu-services__bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(245,248,251,.97) 0%, rgba(245,248,251,.88) 38%, rgba(245,248,251,.55) 70%, rgba(245,248,251,.30) 100%),
    var(--oulu-services-bg, url("../images/hero-solutions-ftth-oulu-v5.webp")) center center / cover no-repeat;
  transition: background-image .28s ease;
}

.oulu-services__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(245,248,251,.06) 0%, rgba(245,248,251,.20) 48%, rgba(245,248,251,.82) 62%, var(--oulu-soft) 72%, var(--oulu-soft) 100%);
}

.oulu-services__inner {
  position: relative;
  width: var(--oulu-section-width);
  margin: 0 auto;
  display: block;
}

.oulu-services__intro {
  width: min(760px, 58%);
  margin: 0;
  min-height: 420px;
  padding: 44px 0 126px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.oulu-services__eyebrow {
  margin: 0 0 10px;
  color: var(--ld-main1);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0;
}

.oulu-services h3 {
  width: auto;
  margin: 0 0 24px;
  padding: 0;
  color: var(--oulu-heading);
  font-size: 40px;
  line-height: 1.2;
  font-weight: 800;
  background: transparent;
}

.oulu-services h3 span {
  color: var(--ld-main1);
}

.oulu-services__intro p {
  margin: 0;
  max-width: 720px;
  color: var(--oulu-text);
  font-size: 16px;
  line-height: 1.72;
}

.oulu-services__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 14px;
  margin-top: 32px;
}

.oulu-services__button {
  min-width: 142px;
  height: 52px;
  padding: 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ld-main1);
  border-radius: 7px;
  color: var(--oulu-button);
  font-size: 15px;
  line-height: 1;
  font-weight: 600;
  text-decoration: none;
}

.oulu-services__button--primary {
  border-color: var(--oulu-button);
  background: var(--oulu-button);
  color: #fff;
}

.oulu-services__button:hover,
.oulu-services__button:focus-visible {
  border-color: var(--oulu-button-hover);
  background: var(--oulu-button-soft);
  color: var(--oulu-button-hover);
}

.oulu-services__button--primary:hover,
.oulu-services__button--primary:focus-visible {
  background: var(--oulu-button-hover);
  color: #fff;
}

.oulu-services__cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  width: 100%;
  max-width: none;
  margin: -62px auto 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, .88) 0%, rgba(255, 255, 255, .98) 34%, #fff 100%);
  border: 1px solid var(--oulu-line);
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(20, 38, 74, .12);
  backdrop-filter: blur(8px);
  overflow: hidden;
  box-sizing: border-box;
}

.oulu-services__card {
  min-height: 214px;
  padding: 30px 30px 32px;
  border-right: 1px solid var(--oulu-line);
  background: transparent;
  cursor: pointer;
  transition: background-color .22s ease, box-shadow .22s ease, transform .22s ease;
  outline: none;
}

.oulu-services__card:last-child {
  border-right: 0;
}

.oulu-services__card:hover,
.oulu-services__card:focus-visible,
.oulu-services__card.is-active {
  background: linear-gradient(180deg, rgba(235, 247, 250, .88) 0%, rgba(242, 248, 250, .98) 34%, #f8fbfc 100%);
}

.oulu-services__card.is-active {
  box-shadow: inset 0 3px 0 var(--ld-main1);
}

.oulu-services__card:focus-visible {
  box-shadow: inset 0 3px 0 var(--ld-main1), 0 0 0 3px rgba(19,143,163,.22);
}

.oulu-services__card-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}

.oulu-services__card-title span {
  display: none;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border: 3px solid rgba(20,38,74,.78);
  border-radius: 50%;
  box-shadow: inset 0 0 0 4px #fff;
  background: var(--ld-main1);
}

.oulu-services__card.is-active .oulu-services__card-title span {
  display: block;
  border-color: var(--ld-main1);
  background: var(--oulu-button);
}

.oulu-services__card h4 {
  margin: 0;
  color: var(--oulu-heading);
  font-size: 21px;
  line-height: 1.25;
  font-weight: 800;
  white-space: nowrap;
}

.oulu-services__card p {
  margin: 0;
  color: var(--oulu-muted);
  font-size: 15px;
  line-height: 1.7;
}

.oulu-services__card small {
  display: block;
  margin-top: 14px;
  color: #7b8798;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 700;
}

#i1hzxje .jump-number,
#i1hzxje .lead-jump-number {
  white-space: nowrap !important;
}

#i1hzxje {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  min-height: 0 !important;
  padding-top: 56px !important;
  padding-bottom: 64px !important;
  position: relative !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(245, 248, 251, .96) 0%, rgba(255, 255, 255, .98) 74%),
    url('../images/bg-about-factory.webp') center/cover no-repeat !important;
}

#i1hzxje::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .66) 48%, rgba(255, 255, 255, .92) 100%),
    radial-gradient(circle at 82% 12%, rgba(19, 143, 163, .10), transparent 32%);
}

#i1hzxje::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  pointer-events: none;
  background: rgba(10, 56, 128, .10);
}

#i1hzxje #iv8sqgs {
  width: var(--oulu-section-width) !important;
  max-width: none !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

#i1hzxje #i93ewig,
#i1hzxje #iprn9m1,
#i1hzxje #ibgz0eo {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
}

#i1hzxje #igu1718 {
  margin-bottom: 28px !important;
}

#i1hzxje #igu1718 .heading3 {
  color: var(--oulu-heading) !important;
  font-size: 36px !important;
  line-height: 1.16 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

#i1hzxje #ittvo7a {
  display: none !important;
}

#i1hzxje #ibgz0eo {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: minmax(320px, 360px) minmax(0, 1fr) !important;
  gap: 42px !important;
  align-items: center !important;
  overflow: visible !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#i1hzxje #iovssyt {
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 100% !important;
  flex-basis: 100% !important;
  justify-self: stretch !important;
  height: 460px !important;
  min-height: 460px !important;
  max-height: 460px !important;
  overflow: hidden !important;
  position: relative !important;
  border-radius: 10px !important;
  box-shadow: 0 18px 42px rgba(20, 38, 74, .13) !important;
  background: #075fc4 url('../images/about-oulu-industry40.webp') center/cover no-repeat !important;
}

#i1hzxje #iovssyt > .lead-bg {
  display: none !important;
}

#i1hzxje #iovssyt .lead-bg-img,
#i1hzxje #iovssyt .lead-picture,
#i1hzxje #iovssyt .lead-img {
  width: 100% !important;
  height: 100% !important;
}

#i1hzxje #iovssyt .lead-img {
  object-fit: cover !important;
  transform: scale(1.02);
  filter: saturate(1.04) contrast(1.03);
}

#i1hzxje #iovssyt::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(20, 38, 74, 0) 0%, rgba(20, 38, 74, .10) 100%),
    linear-gradient(90deg, rgba(20, 38, 74, .06), rgba(20, 38, 74, 0));
}

#i1hzxje #ilul7nc,
#i1hzxje #i1wke5z,
#i1hzxje #ixsaw7y,
#i1hzxje #ijnw85p {
  display: none !important;
}

#i1hzxje #ilul7nc {
  position: absolute !important;
  left: 28px !important;
  top: 28px !important;
  z-index: 2 !important;
  display: block !important;
  width: auto !important;
  max-width: calc(100% - 56px) !important;
  padding: 8px 12px !important;
  border: 1px solid rgba(255, 255, 255, .24) !important;
  border-radius: 999px !important;
  background: rgba(20, 38, 74, .46) !important;
  backdrop-filter: blur(8px);
}

#i1hzxje #ilul7nc .heading4 {
  margin: 0 !important;
  color: #fff !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
}

#i1hzxje #i1wke5z,
#i1hzxje #ixsaw7y {
  position: absolute !important;
  left: 24px !important;
  right: 24px !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
}

#i1hzxje #i1wke5z {
  bottom: 96px !important;
}

#i1hzxje #ixsaw7y {
  bottom: 24px !important;
}

#i1hzxje #i1wke5z > .column-container,
#i1hzxje #ixsaw7y > .column-container {
  width: 100% !important;
  height: 62px !important;
  min-height: 62px !important;
  padding: 9px 12px !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .14) !important;
  box-shadow: none !important;
  backdrop-filter: blur(10px);
}

#i1hzxje #i1wke5z .lead-staticNum p,
#i1hzxje #ixsaw7y .lead-staticNum p {
  justify-content: flex-start !important;
  margin: 0 !important;
  color: #fff !important;
  line-height: 1 !important;
}

#i1hzxje #i1wke5z .number,
#i1hzxje #i1wke5z .suffix,
#i1hzxje #ixsaw7y .number,
#i1hzxje #ixsaw7y .suffix {
  color: #fff !important;
  font-size: 24px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

#i1hzxje #i1wke5z .paragraph2,
#i1hzxje #ixsaw7y .paragraph2 {
  margin: 5px 0 0 !important;
  color: rgba(255, 255, 255, .82) !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  text-align: left !important;
}

#i1hzxje #ilul7nc,
#i1hzxje #i1wke5z,
#i1hzxje #ixsaw7y {
  display: none !important;
}

#i1hzxje #iuu3cw5 {
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 100% !important;
  flex-basis: 100% !important;
  justify-self: stretch !important;
  height: 460px !important;
  min-height: 460px !important;
  max-height: 460px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-content: center !important;
  column-gap: 44px !important;
  row-gap: 30px !important;
  overflow: visible !important;
  padding: 12px 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

#i1hzxje #iuu3cw5 > .lead-bg,
#i1hzxje #iuu3cw5 > .lead-bg .lead-bg-color,
#i1hzxje #io3o8ew > .lead-bg,
#i1hzxje #io3o8ew > .lead-bg .lead-bg-color,
#i1hzxje #izao3bf > .lead-bg,
#i1hzxje #izao3bf > .lead-bg .lead-bg-color,
#i1hzxje #io3o8ew > .column-container > .lead-bg,
#i1hzxje #izao3bf > .column-container > .lead-bg,
#i1hzxje #io3o8ew > .column-container > .lead-bg .lead-bg-color,
#i1hzxje #izao3bf > .column-container > .lead-bg .lead-bg-color {
  display: none !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

#i1hzxje #io3o8ew,
#i1hzxje #izao3bf {
  display: contents !important;
  grid-template-columns: none !important;
  height: auto !important;
  min-height: 0 !important;
}

#i1hzxje #io3o8ew {
  margin-bottom: 0 !important;
}

#i1hzxje #io3o8ew > .column-container,
#i1hzxje #izao3bf > .column-container {
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 100% !important;
  flex-basis: 100% !important;
  justify-self: stretch !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 0 24px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(20, 38, 74, .10) !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  transition: border-color .2s ease, transform .2s ease !important;
}

#i1hzxje #io3o8ew > .column-container:hover,
#i1hzxje #izao3bf > .column-container:hover,
#i1hzxje #io3o8ew > .column-container:focus-within,
#i1hzxje #izao3bf > .column-container:focus-within {
  border-color: rgba(19, 143, 163, .34) !important;
  box-shadow: none !important;
  transform: translateY(-1px) !important;
}

#i1hzxje #io3o8ew .lead-text,
#i1hzxje #izao3bf .lead-text {
  width: 100% !important;
  max-width: none !important;
}

#i1hzxje .heading6 {
  margin: 0 !important;
  line-height: 1.22 !important;
}

#i1hzxje .heading6 strong,
#i1hzxje .heading6 a {
  color: #12376c !important;
  font-size: 17px !important;
  line-height: 1.22 !important;
  font-weight: 800 !important;
}

#i1hzxje .heading6 i {
  width: auto !important;
  height: auto !important;
  margin-right: 12px !important;
  display: inline !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ld-main1) !important;
  font-size: 16px !important;
}

#i1hzxje .paragraph3 {
  margin-top: 14px !important;
  color: var(--oulu-text) !important;
  font-size: 14px !important;
  line-height: 1.62 !important;
}

#ie4jj45 {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-bottom: 72px !important;
}

#ie4jj45 #ilp39it {
  width: var(--oulu-section-width) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
}

#ie4jj45 #i1m4fzg,
#ie4jj45 #ios8qji {
  width: 100% !important;
  max-width: none !important;
}

#ie4jj45 #ikq955u {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

#ie4jj45 #ikq955u > .lead-bg,
#ie4jj45 #ikq955u > .lead-bg .lead-bg-color {
  display: none !important;
}

#ie4jj45 #ikq955u > .column-container {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  position: relative !important;
  cursor: pointer !important;
  border: 1px solid rgba(20, 38, 74, .08) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%) !important;
  box-shadow: 0 10px 28px rgba(20, 38, 74, .08) !important;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease, background .24s ease !important;
}

#ie4jj45 #ikq955u > .column-container::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  background: linear-gradient(180deg, rgba(23, 165, 186, .12) 0%, rgba(23, 165, 186, 0) 56%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .24s ease !important;
}

#ie4jj45 #ikq955u > .column-container::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  height: 5px !important;
  background: linear-gradient(90deg, #1496a9 0%, #27b7ca 100%) !important;
  opacity: 0 !important;
  transform: scaleX(.84) !important;
  transform-origin: center !important;
  transition: opacity .24s ease, transform .24s ease !important;
}

#ie4jj45 #ikq955u > .column-container:hover,
#ie4jj45 #ikq955u > .column-container:focus-within,
#ie4jj45 #ikq955u > .column-container[aria-pressed="true"] {
  border-color: rgba(20, 150, 169, .24) !important;
  background: linear-gradient(180deg, #eefbfd 0%, #ffffff 100%) !important;
  box-shadow: 0 18px 42px rgba(20, 38, 74, .15), 0 0 0 7px rgba(20, 150, 169, .10) !important;
  transform: translateY(-4px) !important;
}

#ie4jj45 #ikq955u > .column-container:hover::before,
#ie4jj45 #ikq955u > .column-container:focus-within::before,
#ie4jj45 #ikq955u > .column-container[aria-pressed="true"]::before,
#ie4jj45 #ikq955u > .column-container:hover::after,
#ie4jj45 #ikq955u > .column-container:focus-within::after,
#ie4jj45 #ikq955u > .column-container[aria-pressed="true"]::after {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

#ie4jj45 #ikq955u > .column-container[aria-pressed="true"] {
  border-color: rgba(20, 150, 169, .32) !important;
  background: linear-gradient(180deg, #e3f7fb 0%, #f6fdff 46%, #ffffff 100%) !important;
  box-shadow: 0 22px 48px rgba(20, 38, 74, .18), 0 0 0 10px rgba(20, 150, 169, .12) !important;
  transform: translateY(-6px) !important;
}

#ie4jj45 #ikq955u .lead-icon-container {
  width: 56px !important;
  height: 56px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 16px !important;
  background: rgba(20, 150, 169, .10) !important;
  box-shadow: inset 0 0 0 1px rgba(20, 150, 169, .08) !important;
  transition: transform .24s ease, background-color .24s ease, box-shadow .24s ease !important;
}

#ie4jj45 #ikq955u .lead_icon {
  color: #13889d !important;
  transition: color .24s ease, transform .24s ease !important;
}

#ie4jj45 #ikq955u > .column-container:hover .lead-icon-container,
#ie4jj45 #ikq955u > .column-container:focus-within .lead-icon-container,
#ie4jj45 #ikq955u > .column-container[aria-pressed="true"] .lead-icon-container {
  background: linear-gradient(180deg, #1496a9 0%, #27b7ca 100%) !important;
  box-shadow: 0 14px 30px rgba(20, 150, 169, .24) !important;
  transform: scale(1.06) !important;
}

#ie4jj45 #ikq955u > .column-container:hover .heading5,
#ie4jj45 #ikq955u > .column-container:hover .heading5 *,
#ie4jj45 #ikq955u > .column-container:hover .heading5 a,
#ie4jj45 #ikq955u > .column-container:hover .heading5 span,
#ie4jj45 #ikq955u > .column-container:focus-within .heading5,
#ie4jj45 #ikq955u > .column-container:focus-within .heading5 *,
#ie4jj45 #ikq955u > .column-container:focus-within .heading5 a,
#ie4jj45 #ikq955u > .column-container:focus-within .heading5 span,
#ie4jj45 #ikq955u > .column-container[aria-pressed="true"] .heading5,
#ie4jj45 #ikq955u > .column-container[aria-pressed="true"] .heading5 *,
#ie4jj45 #ikq955u > .column-container[aria-pressed="true"] .heading5 a,
#ie4jj45 #ikq955u > .column-container[aria-pressed="true"] .heading5 span {
  color: #0d6d81 !important;
}

#ie4jj45 #ikq955u > .column-container:hover .paragraph2,
#ie4jj45 #ikq955u > .column-container:hover .paragraph2 *,
#ie4jj45 #ikq955u > .column-container:hover p,
#ie4jj45 #ikq955u > .column-container:hover p *,
#ie4jj45 #ikq955u > .column-container:focus-within .paragraph2,
#ie4jj45 #ikq955u > .column-container:focus-within .paragraph2 *,
#ie4jj45 #ikq955u > .column-container:focus-within p,
#ie4jj45 #ikq955u > .column-container:focus-within p *,
#ie4jj45 #ikq955u > .column-container[aria-pressed="true"] .paragraph2,
#ie4jj45 #ikq955u > .column-container[aria-pressed="true"] .paragraph2 *,
#ie4jj45 #ikq955u > .column-container[aria-pressed="true"] p,
#ie4jj45 #ikq955u > .column-container[aria-pressed="true"] p * {
  color: #23496d !important;
}

#ie4jj45 #ikq955u > .column-container:hover .lead_icon,
#ie4jj45 #ikq955u > .column-container:focus-within .lead_icon,
#ie4jj45 #ikq955u > .column-container[aria-pressed="true"] .lead_icon {
  color: #fff !important;
}

.oulu-footer {
  background: #edf3f7;
  border-top: 1px solid var(--oulu-line);
  color: var(--oulu-heading);
  font-family: "Open Sans", Arial, sans-serif;
  padding-bottom: clamp(16px, 2.5vh, 32px);
}

.oulu-footer a {
  color: inherit;
  text-decoration: none;
}

.oulu-footer__inner {
  width: var(--oulu-section-width);
  max-width: none;
  margin: 0 auto;
  padding: 64px 0 28px;
  display: grid;
  grid-template-columns: minmax(360px, 500px) 1fr;
  gap: 72px;
  box-sizing: border-box;
}

.oulu-footer__logo {
  display: inline-flex;
  align-items: center;
  margin-bottom: 22px;
}

.oulu-footer__logo img {
  width: 180px;
  height: auto;
  object-fit: contain;
}

.oulu-footer__brand p {
  margin: 0 0 24px;
  max-width: none;
  color: var(--oulu-muted);
  font-size: 15px;
  line-height: 1.7;
  white-space: nowrap;
}

.oulu-footer__contact {
  display: grid;
  gap: 10px;
  color: var(--oulu-text);
  font-size: 14px;
  line-height: 1.5;
}

.oulu-footer__nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
}

.oulu-footer__nav h3 {
  margin: 0 0 18px;
  color: var(--oulu-heading);
  font-size: 18px;
  line-height: 1.2;
}

.oulu-footer__nav a {
  display: block;
  margin: 0 0 11px;
  color: var(--oulu-muted);
  font-size: 14px;
  line-height: 1.45;
}

.oulu-footer__nav a:hover,
.oulu-footer__contact a:hover {
  color: var(--ld-main1);
}

.oulu-footer__mobile {
  display: none;
}

@media screen and (max-width: 1024px) {
  #i7ggwqd > .site-block-container,
  #i7ggwqd #iytkodr {
    width: calc(100% - 48px) !important;
  }

  #i7ggwqd {
    min-height: 930px !important;
  }

  #i7ggwqd .lead-tab-content-item:not(.hidden) {
    min-height: 740px !important;
  }

  #i7ggwqd #igyrsj4,
  #i7ggwqd .lead-tab-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-bottom: 18px !important;
    padding-bottom: 14px !important;
  }

  #i7ggwqd #igyrsj4 > .lead-tab-item,
  #i7ggwqd .lead-tab-list > .lead-tab-item {
    min-height: 108px !important;
    padding: 10px 8px 14px !important;
    gap: 10px !important;
  }

  #i7ggwqd #igyrsj4 > .lead-tab-item .lead_icon,
  #i7ggwqd .lead-tab-list > .lead-tab-item .lead_icon {
    width: 44px !important;
    height: 44px !important;
    font-size: 38px !important;
  }

  #i7ggwqd #igyrsj4 > .lead-tab-item .lead-button-text,
  #i7ggwqd #igyrsj4 > .lead-tab-item .lead-button-text *,
  #i7ggwqd .lead-tab-list > .lead-tab-item .lead-button-text,
  #i7ggwqd .lead-tab-list > .lead-tab-item .lead-button-text * {
    font-size: 14px !important;
  }

  #i7ggwqd .block-prodlist-container-replace {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px !important;
    padding-top: 8px !important;
    width: 100% !important;
    max-width: 720px !important;
  }

  #i7ggwqd .list-item-container {
    height: 420px !important;
    min-height: 420px !important;
    max-height: 420px !important;
  }

  #i7ggwqd .prodListPhoto {
    flex-basis: 210px !important;
    height: 210px !important;
  }

  #irtgxic {
    position: static !important;
    margin-top: 14px !important;
    padding-right: 24px !important;
  }

  #iowwef91s9 {
    width: calc(100% - 48px) !important;
    max-width: 1460px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    left: auto !important;
    translate: none !important;
    height: 164px !important;
    min-height: 164px !important;
    margin-top: 42px !important;
    margin-bottom: 38px !important;
    padding: 0 0 30px !important;
  }

  #iowwef91s9 .oulu-project-carousel__viewport,
  #iowwef91s9 .oulu-project-carousel__slide {
    height: 136px !important;
    min-height: 136px !important;
  }

  #iowwef91s9 .oulu-project-carousel__slide {
    grid-template-columns: minmax(300px, 360px) minmax(0, 1fr) !important;
    justify-content: stretch !important;
    gap: 32px !important;
  }

  #iowwef91s9 .oulu-project-carousel__media {
    width: 100% !important;
    max-width: 360px !important;
    height: 136px !important;
  }

  #iowwef91s9 .oulu-project-carousel__media img {
    height: 136px !important;
  }

  #iowwef91s9 .oulu-project-carousel__content {
    width: 100% !important;
    max-width: none !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow {
    top: 59px !important;
    width: 38px !important;
    height: 38px !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow--prev {
    left: -32px !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow--next {
    right: -19px !important;
  }

  #i4wzc6t {
    width: calc(100% - 48px) !important;
    left: 50% !important;
    translate: -50% 0;
    padding-bottom: 54px !important;
  }

  #i4wzc6t #ijs923o {
    width: 100% !important;
  }

  #i4wzc6t #ig40yfn {
    grid-template-columns: minmax(300px, 42%) minmax(0, 1fr) !important;
    height: 320px !important;
    max-height: 320px !important;
  }

  #i4wzc6t #ifhhw2f {
    padding: 30px 36px 28px !important;
  }

  #i4wzc6t #i68ilow {
    min-height: 0 !important;
    height: 320px !important;
  }

  .oulu-partners__inner {
    width: calc(100% - 48px);
  }

  .oulu-partners__item {
    width: 154px;
    height: 74px;
  }

  .oulu-partners__item img {
    max-width: 118px;
    max-height: 46px;
  }

  .oulu-certificates__inner {
    width: calc(100% - 48px);
  }

  .oulu-certificates__intro {
    padding: 0 0 4px;
  }

  .oulu-certificates__stage {
    min-height: 380px;
    padding: 0 64px 26px;
  }

  .oulu-certificates__viewport {
    height: 286px;
  }

  .oulu-certificates__orbit {
    width: min(760px, 82vw);
    height: 110px;
    bottom: -12px;
  }

  .oulu-certificates__item {
    width: min(220px, 22vw);
  }

  .oulu-certificates__item[data-cert-state="prev"] {
    transform: translate(calc(-50% - 160px), calc(-50% + 10px)) scale(.78) rotate(-2.8deg);
  }

  .oulu-certificates__item[data-cert-state="next"] {
    transform: translate(calc(-50% + 160px), calc(-50% + 10px)) scale(.78) rotate(2.8deg);
  }

  .oulu-certificates__nav {
    width: 50px;
    height: 50px;
  }

  .oulu-faq__inner {
    width: calc(100% - 48px);
  }

  .oulu-faq__head-actions {
    gap: 14px;
  }

  .oulu-faq__title-group {
    gap: 14px;
  }

  .oulu-faq__card {
    padding: 34px 52px 70px 82px;
  }

  .oulu-faq__content p {
    max-width: 920px;
  }

  #ie4jj45 #ilp39it {
    width: calc(100% - 48px) !important;
  }

  #ie4jj45 #ikq955u {
    gap: 16px !important;
  }

  #i1hzxje {
    padding-top: 42px !important;
    padding-bottom: 44px !important;
  }

  #i1hzxje #iv8sqgs {
    width: calc(100% - 48px) !important;
  }

  #i1hzxje #ibgz0eo {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  #i1hzxje #iovssyt {
    width: 100% !important;
    height: 320px !important;
    min-height: 320px !important;
    max-height: 320px !important;
    border-radius: 14px 14px 0 0 !important;
  }

  #i1hzxje #iuu3cw5 {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 34px 34px 38px !important;
  }

  #i1hzxje #io3o8ew,
  #i1hzxje #izao3bf {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px !important;
  }

  .oulu-services__inner {
    width: calc(100% - 48px);
  }

  .oulu-services__intro {
    width: min(720px, 76%);
    min-height: 0;
  }

  .oulu-services__cards {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .oulu-services__card:nth-child(2) {
    border-right: 0;
  }

  .oulu-services__card:nth-child(-n+2) {
    border-bottom: 1px solid var(--oulu-line);
  }

  .oulu-footer__inner {
    width: calc(100% - 48px);
    grid-template-columns: 1fr;
    padding: 52px 0 40px;
    gap: 36px;
  }

  .oulu-footer__brand p {
    white-space: normal;
  }

}

@media screen and (max-width: 1366px) and (min-width: 1025px) {
  #i7ggwqd #igyrsj4,
  #i7ggwqd .lead-tab-list {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 12px !important;
    max-width: none !important;
    margin-bottom: 20px !important;
  }

  #i7ggwqd #igyrsj4 > .lead-tab-item,
  #i7ggwqd .lead-tab-list > .lead-tab-item {
    min-height: 104px !important;
    padding: 8px 8px 14px !important;
    gap: 10px !important;
  }

  #i7ggwqd #igyrsj4 > .lead-tab-item .lead_icon,
  #i7ggwqd .lead-tab-list > .lead-tab-item .lead_icon {
    width: 42px !important;
    height: 42px !important;
    font-size: 36px !important;
  }

  #i7ggwqd #igyrsj4 > .lead-tab-item .lead-button-text,
  #i7ggwqd #igyrsj4 > .lead-tab-item .lead-button-text *,
  #i7ggwqd .lead-tab-list > .lead-tab-item .lead-button-text,
  #i7ggwqd .lead-tab-list > .lead-tab-item .lead-button-text * {
    font-size: 13px !important;
    line-height: 1.28 !important;
  }
}

@media screen and (max-width: 767px) {
  #ioxzzczk7n,
  #ioxzzczk7n .gjs-slick-slider-item,
  #igp86mt,
  #iayrew8,
  #ijtmbmc {
    height: 360px !important;
    min-height: 360px !important;
  }

  #i7ggwqd {
    min-height: 1740px !important;
  }

  #i7ggwqd .lead-tab-content-item:not(.hidden) {
    min-height: 1520px !important;
  }

  #i7ggwqd .block-prodlist-container-replace {
    grid-template-columns: 1fr;
    gap: 18px !important;
    padding-top: 8px !important;
    width: 100% !important;
    max-width: 360px !important;
  }

  #i7ggwqd .list-item-container {
    height: 390px !important;
    min-height: 390px !important;
    max-height: 390px !important;
  }

  #i7ggwqd .prodListPhoto {
    flex-basis: 200px !important;
    height: 200px !important;
  }

  #irtgxic {
    justify-content: flex-start !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  #iowwef91s9 {
    width: calc(100% - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    left: auto !important;
    translate: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin-top: 34px !important;
    margin-bottom: 34px !important;
    padding: 0 0 30px !important;
  }

  #iowwef91s9 .oulu-project-carousel__viewport {
    height: 330px !important;
    min-height: 0 !important;
  }

  #iowwef91s9 .oulu-project-carousel__slide {
    height: 330px !important;
    min-height: 330px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 178px auto !important;
    gap: 18px !important;
  }

  #iowwef91s9 .oulu-project-carousel__media {
    width: 100% !important;
    height: 178px !important;
  }

  #iowwef91s9 .oulu-project-carousel__media img {
    height: 178px !important;
  }

  #iowwef91s9 .oulu-project-carousel__content {
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
  }

  #iowwef91s9 .oulu-project-carousel__content h3 {
    font-size: 20px !important;
  }

  #iowwef91s9 .oulu-project-carousel__content p {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow {
    width: 36px !important;
    height: 36px !important;
    top: 89px !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow--prev {
    left: -28px !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow--next {
    right: -10px !important;
  }

  #i4wzc6t {
    width: calc(100% - 32px) !important;
    left: 50% !important;
    translate: -50% 0;
    padding-bottom: 44px !important;
  }

  #i4wzc6t #ijs923o {
    width: 100% !important;
  }

  #i4wzc6t #ig40yfn {
    display: grid !important;
    grid-template-columns: 1fr !important;
    height: auto !important;
    max-height: none !important;
  }

  #i4wzc6t #ifhhw2f {
    padding: 36px 26px 34px !important;
  }

  #i4wzc6t #i68ilow {
    min-height: 0 !important;
    height: 210px !important;
  }

  #i4wzc6t #i4kbv13,
  #i4wzc6t #i4kbv13 .paragraph2 {
    max-width: none !important;
  }

  #i7ggwqd .prodListName,
  #i7ggwqd .prodListBrief {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  #i7ggwqd .prodListName .titleLabel h1,
  #i7ggwqd .prodNameText {
    font-size: 14px !important;
  }

  #i04659x {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }

  .oulu-partners h3 {
    margin-bottom: 26px;
    font-size: 28px;
  }

  .oulu-partners__inner {
    width: calc(100% - 32px);
  }

  .oulu-partners__group {
    gap: 16px;
    padding-right: 16px;
  }

  .oulu-partners__item {
    width: 136px;
    height: 68px;
  }

  .oulu-partners__item img {
    max-width: 104px;
    max-height: 42px;
  }

  .oulu-certificates {
    padding-bottom: 18px !important;
  }

  .oulu-certificates__inner {
    width: calc(100% - 32px);
  }

  .oulu-certificates__intro {
    padding: 0 0 2px;
  }

  .oulu-certificates h3 {
    font-size: clamp(24px, 7vw, 34px);
  }

  .oulu-certificates__stage {
    min-height: 300px;
    padding: 0 32px 18px;
  }

  .oulu-certificates__viewport {
    height: 228px;
  }

  .oulu-certificates__orbit {
    width: min(560px, 86vw);
    height: 84px;
    bottom: -8px;
  }

  .oulu-certificates__nav {
    width: 42px;
    height: 42px;
  }

  .oulu-certificates__nav svg {
    width: 17px;
    height: 17px;
  }

  .oulu-certificates__item {
    width: min(176px, 52vw);
    min-width: 0;
  }

  .oulu-certificates__item[data-cert-state="prev"] {
    opacity: .22;
    transform: translate(calc(-50% - 70px), calc(-50% + 6px)) scale(.66) rotate(-2.6deg);
  }

  .oulu-certificates__item[data-cert-state="next"] {
    opacity: .22;
    transform: translate(calc(-50% + 70px), calc(-50% + 6px)) scale(.66) rotate(2.6deg);
  }

  .oulu-faq {
    padding-top: 38px !important;
    padding-bottom: 42px !important;
  }

  .oulu-faq__inner {
    width: calc(100% - 32px);
  }

  .oulu-faq__head {
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 24px;
  }

  .oulu-faq__title-group {
    width: 100%;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
  }

  .oulu-faq__head-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .oulu-faq h3 {
    font-size: 28px;
  }

  .oulu-faq__link {
    font-size: 14px;
  }

  .oulu-faq__card {
    min-height: 0;
    padding: 38px 22px 70px 24px;
  }

  .oulu-faq__content h4 {
    padding-left: 38px;
    font-size: 22px;
  }

  .oulu-faq__content p {
    font-size: 14px;
    line-height: 1.7;
  }

  .oulu-faq__quote {
    font-size: 50px;
  }

  .oulu-faq__quote--start {
    left: 22px;
    top: 38px;
  }

  .oulu-faq__quote--end {
    right: 22px;
    bottom: 18px;
  }

  .oulu-faq__watermark {
    right: -52px;
    font-size: 104px;
  }

  .oulu-faq__arrow {
    width: 38px;
    height: 38px;
  }

  .oulu-faq__footer {
    justify-content: flex-end;
    margin-top: 12px;
  }

  #ie4jj45 #ilp39it {
    width: calc(100% - 32px) !important;
  }

  #ie4jj45 #ikq955u {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  #i1hzxje {
    padding-top: 38px !important;
    padding-bottom: 40px !important;
  }

  #i1hzxje #iv8sqgs {
    width: calc(100% - 32px) !important;
  }

  #i1hzxje #igu1718 {
    margin-bottom: 20px !important;
  }

  #i1hzxje #iovssyt {
    width: 100% !important;
    height: 250px !important;
    min-height: 250px !important;
    max-height: 250px !important;
    border-radius: 12px 12px 0 0 !important;
  }

  #i1hzxje #ilul7nc,
  #i1hzxje #i1wke5z,
  #i1hzxje #ixsaw7y {
    display: none !important;
  }

  #i1hzxje #iuu3cw5 {
    display: block !important;
    padding: 28px 22px 32px !important;
  }

  #i1hzxje #io3o8ew,
  #i1hzxje #izao3bf {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  #i1hzxje #io3o8ew {
    margin-bottom: 22px !important;
  }

  #i1hzxje .heading6 strong,
  #i1hzxje .heading6 a {
    font-size: 18px !important;
  }

  #i1hzxje .paragraph3 {
    margin-top: 10px !important;
    font-size: 14px !important;
    line-height: 1.62 !important;
  }

  #iv5vnxg.oulu-services {
    padding-top: 46px !important;
    padding-bottom: 52px !important;
  }

  .oulu-services__inner {
    width: calc(100% - 32px);
  }

  .oulu-services__intro {
    width: 100%;
    margin: 0 auto;
    padding: 24px 0 88px;
  }

  .oulu-services h3 {
    font-size: 28px;
  }

  .oulu-services__intro p {
    font-size: 14px;
    line-height: 1.65;
  }

  .oulu-services__cards {
    width: 100%;
    margin-top: -48px;
    grid-template-columns: 1fr;
  }

  .oulu-services__card {
    min-height: 0;
    padding: 24px 22px;
    border-right: 0;
    border-bottom: 1px solid var(--oulu-line);
  }

  .oulu-services__card:last-child {
    border-bottom: 0;
  }

}

@media screen and (max-width: 1440px) and (min-width: 1380px) and (max-height: 900px) and (min-height: 820px) {
  #iowwef91s9 {
    width: calc(100% - 96px) !important;
    max-width: 1296px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    translate: 20px 0 !important;
    height: 152px !important;
    min-height: 152px !important;
    padding-bottom: 28px !important;
  }

  #iowwef91s9 .oulu-project-carousel__viewport {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    height: 124px !important;
    min-height: 124px !important;
  }

  #iowwef91s9 .oulu-project-carousel__slide {
    width: 100% !important;
    height: 124px !important;
    min-height: 124px !important;
    grid-template-columns: minmax(280px, 320px) minmax(0, 1fr) !important;
    gap: 28px !important;
    padding-left: 30px !important;
    box-sizing: border-box !important;
  }

  #iowwef91s9 .oulu-project-carousel__media {
    max-width: 320px !important;
    height: 124px !important;
  }

  #iowwef91s9 .oulu-project-carousel__media img {
    height: 124px !important;
  }

  #iowwef91s9 .oulu-project-carousel__content {
    width: 100% !important;
    max-width: none !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow {
    top: 52px !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow--prev {
    left: -28px !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow--next {
    right: 12px !important;
  }

  #i4wzc6t {
    width: calc(100% - 48px) !important;
    max-width: 1460px !important;
    left: auto !important;
    translate: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #i4wzc6t #ijs923o {
    width: calc(100% - 96px) !important;
    max-width: 1296px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #i4wzc6t #ig40yfn {
    width: 100% !important;
    max-width: none !important;
  }

  .oulu-footer {
    padding-bottom: 48px;
  }
}

@media screen and (max-width: 1180px) {
  body.oulu-leadong-home {
    overflow-x: hidden !important;
  }

  #i7ggwqd,
  #iowwef91s9,
  #i4wzc6t {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    translate: none !important;
    transform: none !important;
    clear: both !important;
    overflow: visible !important;
  }

  #i7ggwqd {
    width: 100% !important;
    height: auto !important;
    min-height: 900px !important;
    padding: 24px 0 34px !important;
  }

  #i7ggwqd > .site-block-container,
  #i7ggwqd #iytkodr {
    width: min(calc(100% - 32px), 860px) !important;
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #i7ggwqd #igyrsj4,
  #i7ggwqd .lead-tab-list {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    grid-template-columns: none !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 2px 12px !important;
    margin: 0 0 18px !important;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  #i7ggwqd #igyrsj4::-webkit-scrollbar,
  #i7ggwqd .lead-tab-list::-webkit-scrollbar {
    display: none;
  }

  #i7ggwqd #igyrsj4 > .lead-tab-item,
  #i7ggwqd .lead-tab-list > .lead-tab-item {
    flex: 0 0 150px !important;
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    min-height: 104px !important;
    height: auto !important;
    padding: 12px 10px 14px !important;
    box-sizing: border-box !important;
  }

  #i7ggwqd #igyrsj4 > .lead-tab-item .lead-button-text,
  #i7ggwqd .lead-tab-list > .lead-tab-item .lead-button-text {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: block !important;
    text-align: center !important;
  }

  #i7ggwqd #igyrsj4 > .lead-tab-item .lead-button-text p,
  #i7ggwqd .lead-tab-list > .lead-tab-item .lead-button-text p {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: block !important;
  }

  #i7ggwqd #igyrsj4 > .lead-tab-item .lead-button-text,
  #i7ggwqd #igyrsj4 > .lead-tab-item .lead-button-text *,
  #i7ggwqd .lead-tab-list > .lead-tab-item .lead-button-text,
  #i7ggwqd .lead-tab-list > .lead-tab-item .lead-button-text * {
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
  }

  #i7ggwqd .lead-tab-contents,
  #i7ggwqd .lead-tab-content-item,
  #i7ggwqd .lead-tab-content-item:not(.hidden) {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  #i7ggwqd .block-prodlist-container-replace {
    width: 100% !important;
    max-width: 860px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
  }

  #i7ggwqd .list-item-container {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 360px !important;
    max-height: none !important;
  }

  #iowwef91s9 {
    display: none !important;
  }

  #iowwef91s9 .oulu-project-carousel__viewport {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  #iowwef91s9 .oulu-project-carousel__slide {
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: minmax(220px, 320px) minmax(0, 1fr) !important;
    gap: 20px !important;
    align-items: center !important;
  }

  #iowwef91s9 .oulu-project-carousel__media,
  #iowwef91s9 .oulu-project-carousel__media img {
    width: 100% !important;
    height: 132px !important;
  }

  #iowwef91s9 .oulu-project-carousel__content {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow--prev {
    left: 8px !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow--next {
    right: 8px !important;
  }

  #i4wzc6t {
    width: min(calc(100% - 32px), 860px) !important;
    max-width: 860px !important;
    margin: 30px auto 0 !important;
    padding: 0 0 34px !important;
  }

  #i4wzc6t #ijs923o,
  #i4wzc6t #ig40yfn {
    width: 100% !important;
    max-width: 100% !important;
  }

  #i4wzc6t #ig40yfn {
    height: auto !important;
    max-height: none !important;
    grid-template-columns: 1fr !important;
  }

  #i4wzc6t #ifhhw2f {
    padding: 34px 30px 30px !important;
  }

  #i4wzc6t #i68ilow {
    height: 240px !important;
    min-height: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  #i7ggwqd {
    min-height: 1500px !important;
    padding-top: 18px !important;
  }

  #i7ggwqd #igyrsj4 > .lead-tab-item,
  #i7ggwqd .lead-tab-list > .lead-tab-item {
    flex-basis: 136px !important;
    width: 136px !important;
    min-width: 136px !important;
    max-width: 136px !important;
  }

  #i7ggwqd .block-prodlist-container-replace {
    max-width: 390px !important;
    grid-template-columns: 1fr !important;
  }

  #i7ggwqd .list-item-container {
    min-height: 360px !important;
  }

  #iowwef91s9 .oulu-project-carousel__slide {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 14px !important;
  }

  #iowwef91s9 .oulu-project-carousel__media,
  #iowwef91s9 .oulu-project-carousel__media img {
    height: 168px !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow {
    display: none !important;
  }

  #i4wzc6t #ifhhw2f {
    padding: 30px 24px 28px !important;
  }

  #i4wzc6t #i68ilow {
    height: 210px !important;
  }
}

@media (max-width: 1180px) {
  #i7ggwqd {
    min-height: 0 !important;
    height: auto !important;
    padding: 18px 0 36px !important;
  }

  #i7ggwqd #igyrsj4,
  #i7ggwqd .lead-tab-list {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 14px !important;
    padding-bottom: 12px !important;
    overflow: visible !important;
  }

  #i7ggwqd #igyrsj4 > .lead-tab-item,
  #i7ggwqd .lead-tab-list > .lead-tab-item {
    flex: 1 1 120px !important;
    width: auto !important;
    min-width: 108px !important;
    max-width: 140px !important;
    min-height: 96px !important;
    height: auto !important;
    padding: 12px 10px !important;
  }

  #i7ggwqd .lead-tab-content-item,
  #i7ggwqd .lead-tab-content-item:not(.hidden) {
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: 0 !important;
  }

  #i7ggwqd .block-prodlist-container-replace {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 18px !important;
  }

  #i7ggwqd .list-item-container {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  #i7ggwqd .prodListPhoto {
    flex-basis: auto !important;
    height: clamp(180px, 42vw, 220px) !important;
  }

  #i7ggwqd .prodListName,
  #i7ggwqd .prodListBrief {
    min-height: 0 !important;
    max-height: none !important;
  }

  #i7ggwqd .prodListName .titleLabel,
  #i7ggwqd .prodListName .titleLabel h1,
  #i7ggwqd .prodListName.prodNameText,
  #i7ggwqd .prodNameText,
  #i7ggwqd .prodListBrief,
  #i7ggwqd .prodBriefNoTag {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    display: block !important;
    -webkit-line-clamp: unset !important;
  }

  #i7ggwqd [data-nodelistid="175023499305429300"] {
    gap: 10px !important;
    padding-bottom: 18px !important;
  }

  #iowwef91s9 {
    display: block !important;
    width: min(100%, calc(100% - 32px)) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 28px auto !important;
    padding-bottom: 24px !important;
  }

  #iowwef91s9 .oulu-project-carousel__viewport,
  #iowwef91s9 .oulu-project-carousel__slide {
    height: auto !important;
    min-height: 0 !important;
  }

  #iowwef91s9 .oulu-project-carousel__slide {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 16px !important;
  }

  #iowwef91s9 .oulu-project-carousel__media,
  #iowwef91s9 .oulu-project-carousel__media img,
  #iowwef91s9 .oulu-project-carousel__content {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
  }

  #iowwef91s9 .oulu-project-carousel__media img {
    aspect-ratio: 16 / 9;
    object-fit: cover !important;
  }

  #iowwef91s9 .oulu-project-carousel__content h3,
  #iowwef91s9 .oulu-project-carousel__content p {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow {
    display: none !important;
  }

  #i4wzc6t,
  #i4wzc6t #ijs923o,
  #i4wzc6t #ig40yfn {
    width: 100% !important;
    max-width: 100% !important;
  }

  #i4wzc6t #ig40yfn {
    height: auto !important;
    max-height: none !important;
    grid-template-columns: 1fr !important;
  }

  #i4wzc6t #ifhhw2f {
    padding: 28px 22px !important;
  }

  #i4wzc6t #i68ilow {
    height: auto !important;
    min-height: 0 !important;
  }
}

@media (min-width: 900px) and (max-width: 1180px) {
  #i7ggwqd #igyrsj4 > .lead-tab-item,
  #i7ggwqd .lead-tab-list > .lead-tab-item {
    flex-basis: 124px !important;
    max-width: 150px !important;
  }

  #iowwef91s9 {
    width: calc(100% - 48px) !important;
  }

  #iowwef91s9 .oulu-project-carousel__slide {
    grid-template-columns: minmax(240px, 280px) minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    gap: 18px !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow {
    display: flex !important;
  }

  #i4wzc6t #ig40yfn {
    grid-template-columns: minmax(280px, 34%) minmax(0, 1fr) !important;
  }
}

@media (max-width: 899px) {
  #i7ggwqd #igyrsj4 > .lead-tab-item,
  #i7ggwqd .lead-tab-list > .lead-tab-item {
    flex-basis: calc(33.333% - 10px) !important;
    max-width: calc(33.333% - 10px) !important;
  }
}

@media (max-width: 520px) {
  #i7ggwqd #igyrsj4 > .lead-tab-item,
  #i7ggwqd .lead-tab-list > .lead-tab-item {
    flex-basis: calc(50% - 7px) !important;
    max-width: calc(50% - 7px) !important;
  }

  #ibwyvzb {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Responsive layout normalization: use fluid containers and natural content height. */
:root {
  --oulu-page-gutter: clamp(16px, 4vw, 72px);
  --oulu-content-max: 1460px;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body.oulu-leadong-home *,
body.oulu-leadong-home *::before,
body.oulu-leadong-home *::after {
  box-sizing: border-box;
}

body.oulu-leadong-home .site-block-container,
body.oulu-leadong-home .oulu-partners__inner,
body.oulu-leadong-home .oulu-certificates__inner,
body.oulu-leadong-home .oulu-faq__inner,
body.oulu-leadong-home .oulu-services__inner,
body.oulu-leadong-home .oulu-footer__inner {
  max-width: var(--oulu-content-max);
}

body.oulu-leadong-home .row-container,
body.oulu-leadong-home .column-container,
body.oulu-leadong-home .minimum-unit-container,
body.oulu-leadong-home .lead-text,
body.oulu-leadong-home .lead-component-wrapper {
  min-width: 0;
}

body.oulu-leadong-home .heading1,
body.oulu-leadong-home .heading2,
body.oulu-leadong-home .heading3,
body.oulu-leadong-home .heading4,
body.oulu-leadong-home .heading5,
body.oulu-leadong-home .heading6,
body.oulu-leadong-home p,
body.oulu-leadong-home a {
  overflow-wrap: break-word;
}

body.oulu-leadong-home img,
body.oulu-leadong-home video {
  max-width: 100%;
}

/* The hero remains visually substantial without coupling it to a device height. */
#ioxzzczk7n,
#ioxzzczk7n .gjs-slick-slider-item,
#igp86mt,
#iayrew8,
#ijtmbmc {
  height: clamp(480px, 39vw, 620px) !important;
  min-height: clamp(480px, 39vw, 620px) !important;
}

#igp86mt #iqwqr17 .heading3,
#igp86mt #iqwqr17 .heading3 > span,
#igp86mt #iqwqr17 .heading3 > span > span {
  max-width: min(100%, 720px);
  white-space: normal !important;
}

/* Desktop product cards grow with translated names and descriptions. */
#i7ggwqd {
  min-height: 0 !important;
}

#i7ggwqd > .site-block-container,
#i7ggwqd #iytkodr,
#i7ggwqd .block-prodlist-container-replace,
#iowwef91s9,
#i4wzc6t,
.oulu-partners__inner,
.oulu-certificates__inner,
.oulu-faq__inner,
.oulu-services__inner,
.oulu-footer__inner {
  width: min(var(--oulu-content-max), calc(100% - (var(--oulu-page-gutter) * 2))) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#i7ggwqd .block-prodlist-container-replace {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2vw, 30px) !important;
}

#i7ggwqd .list-item-container {
  height: auto !important;
  min-height: 435px !important;
  max-height: none !important;
}

#i7ggwqd .prodListPhoto {
  flex-basis: clamp(190px, 13vw, 215px) !important;
  height: clamp(190px, 13vw, 215px) !important;
}

#i7ggwqd .prodListName,
#i7ggwqd .prodListBrief {
  min-height: 0 !important;
  max-height: none !important;
}

#i7ggwqd .prodListName .titleLabel,
#i7ggwqd .prodListName .titleLabel h1,
#i7ggwqd .prodListName.prodNameText,
#i7ggwqd .prodNameText,
#i7ggwqd .prodListBrief,
#i7ggwqd .prodBriefNoTag {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  -webkit-line-clamp: unset !important;
}

/* Project and solution media keep their ratio while their surrounding copy can grow. */
#iowwef91s9 {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  padding-bottom: clamp(24px, 3vw, 44px) !important;
}

#iowwef91s9 .oulu-project-carousel__viewport,
#iowwef91s9 .oulu-project-carousel__slide,
#iowwef91s9 .oulu-project-carousel__content {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

#iowwef91s9 .oulu-project-carousel__slide {
  display: grid !important;
  grid-template-columns: minmax(260px, 40%) minmax(0, 1fr) !important;
  gap: clamp(18px, 3vw, 36px) !important;
  align-items: center !important;
}

#iowwef91s9 .oulu-project-carousel__media,
#iowwef91s9 .oulu-project-carousel__media img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
}

#iowwef91s9 .oulu-project-carousel__media img {
  display: block !important;
  object-fit: cover !important;
}

#i4wzc6t,
#i4wzc6t #ijs923o,
#i4wzc6t #ig40yfn {
  max-width: var(--oulu-content-max) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

#i4wzc6t #ig40yfn {
  display: grid !important;
  grid-template-columns: minmax(280px, 36%) minmax(0, 1fr) !important;
}

#i4wzc6t #i68ilow,
#i4wzc6t #i68ilow .lead-container-wrapper,
#i4wzc6t #i68ilow .lead-image-container,
#i4wzc6t #i68ilow picture,
#i4wzc6t #i68ilow img {
  height: auto !important;
  min-height: 0 !important;
}

#i4wzc6t #i68ilow img {
  display: block;
  width: 100% !important;
  aspect-ratio: 16 / 9;
  object-fit: cover !important;
}

@media (max-width: 1440px) {
  #ioxzzczk7n,
  #ioxzzczk7n .gjs-slick-slider-item,
  #igp86mt,
  #iayrew8,
  #ijtmbmc {
    height: clamp(460px, 42vw, 560px) !important;
    min-height: clamp(460px, 42vw, 560px) !important;
  }
}

/* Tablet: collapse navigation and preserve two readable product columns. */
@media (max-width: 1180px) {
  body.oulu-leadong-home {
    --oulu-page-gutter: clamp(16px, 3.5vw, 32px);
  }

  #ioxzzczk7n,
  #ioxzzczk7n .gjs-slick-slider-item,
  #igp86mt,
  #iayrew8,
  #ijtmbmc {
    height: clamp(400px, 54vw, 480px) !important;
    min-height: clamp(400px, 54vw, 480px) !important;
  }

  #i7ggwqd .block-prodlist-container-replace {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #i7ggwqd .list-item-container {
    min-height: 0 !important;
  }

  #i7ggwqd .prodListPhoto {
    flex-basis: auto !important;
    height: auto !important;
    aspect-ratio: 4 / 3;
  }

  #iowwef91s9 .oulu-project-carousel__slide {
    grid-template-columns: minmax(240px, 38%) minmax(0, 1fr) !important;
  }

  #i4wzc6t #ig40yfn {
    grid-template-columns: minmax(260px, 36%) minmax(0, 1fr) !important;
  }
}

/* Mobile: one content column, no viewport-height traps, and compact header sizing. */
@media (max-width: 767px) {
  body.oulu-leadong-home {
    --oulu-page-gutter: 16px;
  }

  #backstage-headArea {
    top: max(12px, env(safe-area-inset-top)) !important;
  }

  #header27512.header27512,
  #header27512.header27512Important,
  #header27512 .content {
    height: 58px !important;
  }

  #header27512 .content {
    padding: 0 14px !important;
  }

  #header27512 .logo {
    flex-basis: 148px !important;
    width: 148px !important;
  }

  #header27512 .logo img {
    max-height: 40px !important;
  }

  #ioxzzczk7n,
  #ioxzzczk7n .gjs-slick-slider-item,
  #igp86mt,
  #iayrew8,
  #ijtmbmc {
    height: clamp(420px, 76vh, 560px) !important;
    min-height: clamp(420px, 76vh, 560px) !important;
  }

  #i7ggwqd .block-prodlist-container-replace {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #i7ggwqd .list-item-container {
    min-height: 0 !important;
  }

  #i7ggwqd .prodListPhoto {
    aspect-ratio: 4 / 3;
  }

  #iowwef91s9 .oulu-project-carousel__slide,
  #i4wzc6t #ig40yfn {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow {
    display: none !important;
  }

  #i4wzc6t #ifhhw2f {
    padding: 28px 22px !important;
  }

  .oulu-inquiry-modal {
    padding:
      max(16px, env(safe-area-inset-top))
      max(16px, env(safe-area-inset-right))
      max(16px, env(safe-area-inset-bottom))
      max(16px, env(safe-area-inset-left));
  }
}

@media (max-width: 520px) {
  #header27512 .logo {
    flex-basis: 136px !important;
    width: 136px !important;
  }

  #i7ggwqd #igyrsj4 > .lead-tab-item,
  #i7ggwqd .lead-tab-list > .lead-tab-item {
    flex-basis: calc(50% - 7px) !important;
    max-width: calc(50% - 7px) !important;
  }
}

/* Safari supports dynamic viewport units on recent releases; vh remains the fallback. */
@supports (height: 100svh) {
  @media (max-width: 767px) {
    #ioxzzczk7n,
    #ioxzzczk7n .gjs-slick-slider-item,
    #igp86mt,
    #iayrew8,
    #ijtmbmc {
      height: clamp(420px, 76svh, 560px) !important;
      min-height: clamp(420px, 76svh, 560px) !important;
    }
  }
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  #header27512::before,
  .oulu-inquiry-modal__backdrop {
    background-color: rgba(255, 255, 255, .98) !important;
  }

  .oulu-inquiry-modal__backdrop {
    background-color: rgba(5, 16, 34, .72) !important;
  }
}

@supports (-webkit-touch-callout: none) {
  .oulu-inquiry-modal__dialog,
  #i7ggwqd #igyrsj4,
  #i7ggwqd .lead-tab-list {
    -webkit-overflow-scrolling: touch;
  }
}

/* Match the project carousel media to the reference image dimension: 259 x 145. */
#iowwef91s9 .oulu-project-carousel__slide {
  grid-template-columns: 259px minmax(0, 1fr) !important;
}

#iowwef91s9 .oulu-project-carousel__media {
  width: 259px !important;
  height: 145px !important;
  aspect-ratio: 259 / 145 !important;
}

#iowwef91s9 .oulu-project-carousel__media img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
}

@media (min-width: 768px) and (max-width: 1180px) {
  #iowwef91s9 .oulu-project-carousel__slide {
    grid-template-columns: minmax(220px, 259px) minmax(0, 1fr) !important;
  }

  #iowwef91s9 .oulu-project-carousel__media {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 259 / 145 !important;
  }
}

@media (max-width: 767px) {
  #iowwef91s9 .oulu-project-carousel__slide {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #iowwef91s9 .oulu-project-carousel__media {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 259 / 145 !important;
  }
}

/* Certificate display: editorial lead image with a three-document rail. */
.oulu-certificates {
  padding: clamp(62px, 6vw, 96px) 0 clamp(58px, 5vw, 84px) !important;
  background: #fff !important;
}

.oulu-certificates__inner {
  width: min(1400px, calc(100vw - 112px)) !important;
}

.oulu-certificates__intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
  padding: 0 !important;
  margin: 0;
  text-align: left;
}

.oulu-certificates__heading {
  min-width: 0;
}

.oulu-certificates h3 {
  color: #050b15;
  font-size: clamp(31px, 3.3vw, 54px);
  line-height: 1;
  font-weight: 800;
  letter-spacing: .025em;
}

.oulu-certificates h3 span {
  color: inherit;
}

.oulu-certificates__heading p {
  max-width: 680px;
  margin: 14px 0 0;
  color: #516078;
  font-size: 16px;
  line-height: 1.5;
}

.oulu-certificates__more {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 48px;
  margin-top: 4px;
  padding: 0 28px;
  border: 1px solid #a8b1c1;
  border-radius: 999px;
  color: #526886;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .03em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}

.oulu-certificates__more:hover,
.oulu-certificates__more:focus-visible {
  border-color: var(--ld-main1);
  background: rgba(19, 143, 163, .05);
  color: var(--ld-main1);
}

.oulu-certificates__stage {
  min-height: 0;
  padding: clamp(34px, 4vw, 62px) 0 0;
  display: block;
  perspective: none;
}

.oulu-certificates__viewport {
  width: 100%;
  height: clamp(390px, 35vw, 540px);
  display: block;
}

.oulu-certificates__orbit {
  display: none;
}

.oulu-certificates__item {
  top: 50%;
  width: clamp(122px, 11.6vw, 172px);
  min-width: 0;
  max-width: none;
  opacity: 1;
  filter: none;
  transition: left .46s cubic-bezier(.22, .61, .36, 1), width .46s cubic-bezier(.22, .61, .36, 1), transform .46s cubic-bezier(.22, .61, .36, 1), opacity .28s ease;
}

.oulu-certificates__item::before {
  display: none;
}

.oulu-certificates__item[data-cert-state="active"] {
  left: 24%;
  z-index: 2;
  width: clamp(270px, 24vw, 360px);
  transform: translate(-50%, -50%) !important;
}

.oulu-certificates__item[data-cert-state="thumbnail"] {
  z-index: 1;
  transform: translate(-50%, -50%) !important;
}

.oulu-certificates__item[data-cert-slot="1"] {
  left: 55%;
}

.oulu-certificates__item[data-cert-slot="2"] {
  left: 71%;
}

.oulu-certificates__item[data-cert-slot="3"] {
  left: 87%;
}

.oulu-certificates__image {
  padding: 7px;
  border: 1px solid #d7d9de;
  border-radius: 0;
  background: #f7f7f8;
  box-shadow: 0 8px 16px rgba(24, 36, 54, .17);
  transition: box-shadow .24s ease, transform .24s ease;
}

.oulu-certificates__image::before,
.oulu-certificates__image::after {
  display: none;
}

.oulu-certificates__image:hover,
.oulu-certificates__image:focus-visible {
  box-shadow: 0 13px 26px rgba(24, 36, 54, .25);
  transform: translateY(-3px);
}

.oulu-certificates__image img {
  aspect-ratio: .73;
  border-radius: 0;
  box-shadow: none;
}

.oulu-certificates__nav {
  top: 50%;
  width: 48px;
  height: 48px;
  border: 0;
  background: #f5f5f5;
  color: #080e17;
  box-shadow: none;
}

.oulu-certificates__nav:hover,
.oulu-certificates__nav:focus-visible {
  border-color: transparent;
  background: #e7eaee;
  color: #080e17;
  box-shadow: none;
  transform: translateY(-50%) scale(1.04);
}

.oulu-certificates__nav svg {
  width: 22px;
  height: 22px;
}

.oulu-certificates__nav--prev {
  left: 43%;
}

.oulu-certificates__nav--next {
  right: -2px;
}

@media (max-width: 1180px) {
  .oulu-certificates__inner {
    width: min(calc(100% - 48px), 1100px) !important;
  }

  .oulu-certificates__viewport {
    height: 410px;
  }

  .oulu-certificates__item[data-cert-state="active"] {
    left: 23%;
    width: clamp(240px, 25vw, 300px);
  }

  .oulu-certificates__item[data-cert-slot="1"] {
    left: 54%;
  }

  .oulu-certificates__item[data-cert-slot="2"] {
    left: 70%;
  }

  .oulu-certificates__item[data-cert-slot="3"] {
    left: 86%;
  }

  .oulu-certificates__nav--prev {
    left: 41%;
  }
}

@media (max-width: 767px) {
  .oulu-certificates {
    padding: 52px 0 56px !important;
  }

  .oulu-certificates__inner {
    width: calc(100% - 32px) !important;
  }

  .oulu-certificates__intro {
    display: block;
  }

  .oulu-certificates h3 {
    font-size: clamp(28px, 9vw, 38px);
  }

  .oulu-certificates__heading p {
    margin-top: 12px;
    font-size: 14px;
  }

  .oulu-certificates__more {
    min-height: 42px;
    margin-top: 22px;
    padding: 0 22px;
    font-size: 12px;
  }

  .oulu-certificates__stage {
    padding-top: 34px;
  }

  .oulu-certificates__viewport {
    height: min(112vw, 450px);
  }

  .oulu-certificates__item[data-cert-state="active"] {
    left: 50%;
    width: min(70vw, 300px);
  }

  .oulu-certificates__item[data-cert-state="thumbnail"] {
    left: 50%;
    opacity: 0;
    pointer-events: none;
  }

  .oulu-certificates__nav {
    width: 42px;
    height: 42px;
  }

  .oulu-certificates__nav--prev {
    left: 0;
  }

  .oulu-certificates__nav--next {
    right: 0;
  }
}

/* Unified responsive layout pass: wide desktop, laptop, tablet and phone. */
:root {
  --oulu-fluid-gutter: clamp(16px, 4vw, 72px);
  --oulu-fluid-content: 1460px;
}

html,
body.oulu-leadong-home {
  max-width: 100%;
}

body.oulu-leadong-home {
  --oulu-page-gutter: var(--oulu-fluid-gutter);
  --oulu-content-max: var(--oulu-fluid-content);
  --oulu-section-width: min(var(--oulu-fluid-content), calc(100% - (var(--oulu-fluid-gutter) * 2)));
}

body.oulu-leadong-home img,
body.oulu-leadong-home picture,
body.oulu-leadong-home video {
  max-width: 100%;
}

body.oulu-leadong-home img,
body.oulu-leadong-home video {
  height: auto;
}

body.oulu-leadong-home .lead-bg-child,
body.oulu-leadong-home .lead-bg-child img {
  max-width: 100%;
}

body.oulu-leadong-home .row-container,
body.oulu-leadong-home .column-container,
body.oulu-leadong-home .lead-text,
body.oulu-leadong-home .lead-component-wrapper {
  min-width: 0;
}

body.oulu-leadong-home :is(h1, h2, h3, h4, h5, h6, p, a, span) {
  overflow-wrap: anywhere;
}

#header27512::before,
.oulu-inquiry-modal__backdrop,
#i1hzxje #ilul7nc,
#i1hzxje #i1wke5z > .column-container,
#i1hzxje #ixsaw7y > .column-container {
  -webkit-backdrop-filter: blur(10px) saturate(118%);
}

/* Remove final fixed project dimensions so media follows its available column. */
#iowwef91s9 .oulu-project-carousel__slide {
  grid-template-columns: minmax(220px, 32%) minmax(0, 1fr) !important;
}

#iowwef91s9 .oulu-project-carousel__media,
#iowwef91s9 .oulu-project-carousel__media img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
}

#iowwef91s9 .oulu-project-carousel__media img {
  object-fit: cover !important;
}

/* About remains a two-column layout until tablet widths, without matched fixed heights. */
#i1hzxje #ibgz0eo {
  grid-template-columns: minmax(280px, .84fr) minmax(0, 1.16fr) !important;
  align-items: stretch !important;
}

#i1hzxje #iovssyt,
#i1hzxje #iuu3cw5 {
  height: auto !important;
  min-height: clamp(380px, 32vw, 460px) !important;
  max-height: none !important;
}

#i1hzxje #iovssyt {
  aspect-ratio: 4 / 5;
}

#i1hzxje #iuu3cw5 {
  align-content: center !important;
}

/* Product, service and footer cards grow with translated copy instead of clipping. */
#i7ggwqd .list-item-container,
.oulu-services__card,
#ie4jj45 #ikq955u > .column-container {
  height: auto !important;
  max-height: none !important;
}

#i7ggwqd .list-item-container {
  min-height: clamp(390px, 31vw, 435px) !important;
}

#i7ggwqd .prodListPhoto {
  height: auto !important;
  aspect-ratio: 4 / 3;
}

.oulu-services__card h4,
.oulu-footer__brand p {
  white-space: normal;
}

.oulu-certificates__inner {
  width: min(1400px, calc(100% - (var(--oulu-fluid-gutter) * 2))) !important;
}

/* Wide desktop: retain open composition while preventing oversized gaps. */
@media (min-width: 1441px) {
  body.oulu-leadong-home {
    --oulu-fluid-gutter: clamp(40px, 5vw, 88px);
  }

  #i7ggwqd .block-prodlist-container-replace {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* Laptop: maintain full navigation and reduce content density before tablet collapse. */
@media (min-width: 1181px) and (max-width: 1440px) {
  body.oulu-leadong-home {
    --oulu-fluid-gutter: clamp(28px, 4vw, 56px);
  }

  #header27512.header27512,
  #header27512.header27512Important {
    width: min(calc(100% - 48px), 1320px) !important;
  }

  #header27512 .logo {
    flex-basis: clamp(156px, 14vw, 180px) !important;
    width: clamp(156px, 14vw, 180px) !important;
  }

  #header27512 .blockNavBar {
    gap: clamp(12px, 1.35vw, 24px) !important;
  }

  #header27512 .blockNavBar > li > a {
    font-size: clamp(13px, 1.05vw, 15px) !important;
  }

  #i7ggwqd .block-prodlist-container-replace {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* Tablet: two-column content, horizontal-safe product controls, and natural section height. */
@media (max-width: 1180px) {
  body.oulu-leadong-home {
    --oulu-fluid-gutter: clamp(16px, 3.5vw, 32px);
  }

  #i7ggwqd .block-prodlist-container-replace,
  .oulu-services__cards,
  #ie4jj45 #ikq955u {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #i7ggwqd .list-item-container {
    min-height: 0 !important;
  }

  #i1hzxje #ibgz0eo {
    grid-template-columns: minmax(250px, .78fr) minmax(0, 1.22fr) !important;
    gap: clamp(26px, 4vw, 42px) !important;
  }

  #i1hzxje #iovssyt,
  #i1hzxje #iuu3cw5 {
    min-height: clamp(340px, 45vw, 420px) !important;
  }

  #iowwef91s9 .oulu-project-carousel__slide {
    grid-template-columns: minmax(220px, 36%) minmax(0, 1fr) !important;
  }

  .oulu-footer__inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 36px !important;
  }
}

/* Narrow tablet: stack image-led sections before content starts to crowd. */
@media (max-width: 900px) {
  body.oulu-leadong-home {
    --oulu-fluid-gutter: clamp(16px, 4vw, 28px);
  }

  #i1hzxje #ibgz0eo,
  #iowwef91s9 .oulu-project-carousel__slide,
  #i4wzc6t #ig40yfn {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
  }

  #i1hzxje #iovssyt {
    width: min(100%, 620px) !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    aspect-ratio: 16 / 10;
  }

  #i1hzxje #iuu3cw5 {
    min-height: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #iowwef91s9 .oulu-project-carousel__arrow {
    display: none !important;
  }

  .oulu-footer__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
  }
}

/* Phone: one column, touch-safe controls and no fixed viewport traps. */
@media (max-width: 767px) {
  body.oulu-leadong-home {
    --oulu-fluid-gutter: 16px;
  }

  #ioxzzczk7n,
  #ioxzzczk7n .gjs-slick-slider-item,
  #igp86mt,
  #iayrew8,
  #ijtmbmc {
    height: clamp(400px, 72vh, 540px) !important;
    min-height: clamp(400px, 72vh, 540px) !important;
  }

  #i7ggwqd .block-prodlist-container-replace,
  .oulu-services__cards,
  #ie4jj45 #ikq955u,
  #i1hzxje #iuu3cw5 {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #i7ggwqd .prodListPhoto,
  #iowwef91s9 .oulu-project-carousel__media,
  #iowwef91s9 .oulu-project-carousel__media img,
  #i4wzc6t #i68ilow img {
    aspect-ratio: 4 / 3 !important;
  }

  #i1hzxje #iovssyt {
    aspect-ratio: 4 / 3;
  }

  #i1hzxje #iuu3cw5 {
    row-gap: 22px !important;
  }

  #i1hzxje #io3o8ew > .column-container,
  #i1hzxje #izao3bf > .column-container {
    padding-bottom: 18px !important;
  }

  .oulu-services__card,
  #ie4jj45 #ikq955u > .column-container {
    min-height: 0 !important;
  }

  .oulu-footer__inner {
    padding-top: 44px;
  }

  .oulu-footer__nav {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
}

@media (max-width: 520px) {
  #header27512 .logo {
    flex-basis: 132px !important;
    width: 132px !important;
  }

  #i7ggwqd #igyrsj4,
  #i7ggwqd .lead-tab-list {
    gap: 10px !important;
  }

  #i7ggwqd #igyrsj4 > .lead-tab-item,
  #i7ggwqd .lead-tab-list > .lead-tab-item {
    flex-basis: calc(50% - 5px) !important;
    max-width: calc(50% - 5px) !important;
  }
}

/* Homepage top navigation follows the shared site navigation order. */
.oulu-leadong-home #header27512 .blockNavBar > #parent_0 { order: 1; }
.oulu-leadong-home #header27512 .blockNavBar > #parent_1 { order: 2; }
.oulu-leadong-home #header27512 .blockNavBar > #parent_6 { order: 3; }
.oulu-leadong-home #header27512 .blockNavBar > #parent_2 { order: 4; }
.oulu-leadong-home #header27512 .blockNavBar > #parent_blog { order: 5; }
.oulu-leadong-home #header27512 .blockNavBar > #parent_solutions { order: 6; }
.oulu-leadong-home #header27512 .blockNavBar > #parent_5 { order: 7; }
.oulu-leadong-home #header27512 .blockNavBar > #parent_3 { order: 8; }

/* Modern Safari gets dynamic viewport height; vh remains the fallback above. */
@supports (height: 100dvh) {
  @media (max-width: 767px) {
    #ioxzzczk7n,
    #ioxzzczk7n .gjs-slick-slider-item,
    #igp86mt,
    #iayrew8,
    #ijtmbmc {
      height: clamp(400px, 72dvh, 540px) !important;
      min-height: clamp(400px, 72dvh, 540px) !important;
    }
  }
}

/* Product showcase expands on laptop and desktop without changing compact layouts. */
@media (min-width: 1181px) {
  #i7ggwqd {
    padding-top: clamp(32px, 3vw, 54px) !important;
    padding-bottom: clamp(76px, 6vw, 112px) !important;
  }

  #i7ggwqd > .site-block-container,
  #i7ggwqd #iytkodr,
  #i7ggwqd .block-prodlist-container-replace {
    width: min(1640px, calc(100% - clamp(32px, 5vw, 104px))) !important;
  }

  #i7ggwqd .block-prodlist-container-replace {
    gap: clamp(22px, 2.25vw, 36px) !important;
  }

  #i7ggwqd .list-item-container {
    min-height: clamp(440px, 34vw, 500px) !important;
  }

  #i7ggwqd .prodListPhoto {
    flex-basis: clamp(220px, 15.5vw, 255px) !important;
    height: clamp(220px, 15.5vw, 255px) !important;
  }
}

/* About Oulu: use a compact portrait crop so the six-item detail grid stays proportionate. */
@media (min-width: 901px) {
  #i1hzxje {
    padding-top: clamp(42px, 3.5vw, 54px) !important;
    padding-bottom: clamp(44px, 3.5vw, 56px) !important;
  }

  #i1hzxje #ibgz0eo {
    grid-template-columns: minmax(300px, 36%) minmax(0, 1fr) !important;
    gap: clamp(30px, 3vw, 40px) !important;
    align-items: stretch !important;
  }

  #i1hzxje #iovssyt {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 7 / 8 !important;
    background: #075fc4 url('../images/about-oulu-industry40.webp') center / cover no-repeat !important;
  }

  #i1hzxje #iuu3cw5 {
    height: auto !important;
    min-height: 0 !important;
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
    align-content: stretch !important;
    row-gap: 0 !important;
    padding: 0 !important;
  }

  #i1hzxje #io3o8ew > .column-container,
  #i1hzxje #izao3bf > .column-container {
    align-self: stretch !important;
    height: 100% !important;
    padding: clamp(16px, 1.5vw, 22px) 0 !important;
  }
}

/* Homepage product cards: keep title, summary and actions aligned across all cards. */
#i7ggwqd .prodListName {
  display: flex !important;
  align-items: center !important;
  min-height: 40px !important;
  max-height: 40px !important;
  height: 40px !important;
  overflow: hidden !important;
}

#i7ggwqd .prodListName > .titleLabel {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 40px !important;
  max-height: 40px !important;
  overflow: hidden !important;
}

#i7ggwqd .prodListName > .titleLabel > .prodNameText {
  display: -webkit-box !important;
  width: 100% !important;
  max-width: 100% !important;
  max-height: 40px !important;
  overflow: hidden !important;
  white-space: normal !important;
  font-size: 16px !important;
  line-height: 20px !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2 !important;
}

#i7ggwqd .prodListBrief {
  display: block !important;
  min-height: 40px !important;
  max-height: 40px !important;
  height: 40px !important;
  margin-bottom: 12px !important;
  overflow: hidden !important;
}

#i7ggwqd .prodListBrief .prodBriefNoTag {
  display: -webkit-box !important;
  overflow: hidden !important;
  font-size: 14px !important;
  line-height: 20px !important;
  margin: 0 !important;
  white-space: normal !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2 !important;
}

/* Products navigation: dynamic WooCommerce category dropdown. */
#header27512 .blockNavBar > li.oulu-nav-products { position: relative !important; overflow: visible !important; }
#header27512 .oulu-nav-products > svg,
#header27512 .oulu-nav-products > .sub { display: none !important; }
#header27512 .oulu-nav-products > a { gap: 7px; }
#header27512 .oulu-nav-products__chevron { width: 7px; height: 7px; margin-top: -4px; border-right: 1.8px solid currentColor; border-bottom: 1.8px solid currentColor; transform: rotate(45deg); transition: transform .2s ease; }
#header27512 .oulu-nav-products__panel { position: fixed; z-index: 9999; top: 96px; left: 50%; width: min(1480px, calc(100vw - 96px)); padding: 16px; opacity: 0; visibility: hidden; pointer-events: none; background: rgba(255, 255, 255, .985); border: 1px solid rgba(21, 155, 176, .26); border-radius: 10px 10px 14px 14px; box-shadow: 0 18px 34px rgba(24, 63, 130, .12); transform: translate(-50%, -8px); transition: opacity .18s ease, visibility .18s ease, transform .18s ease; }
body.admin-bar #header27512 .oulu-nav-products__panel { top: 124px; }
#header27512 .oulu-nav-products:hover .oulu-nav-products__panel,
#header27512 .oulu-nav-products:focus-within .oulu-nav-products__panel { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }
#header27512 .oulu-nav-products:hover .oulu-nav-products__chevron,
#header27512 .oulu-nav-products:focus-within .oulu-nav-products__chevron { transform: rotate(225deg) translate(-2px, -2px); }
#header27512 .oulu-nav-products__list { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); grid-template-rows: 1fr; gap: 12px; margin: 0; padding: 0; list-style: none; }
#header27512 .oulu-nav-products__list > li { display: block !important; height: auto !important; margin: 0 !important; padding: 0 !important; }
#header27512 .oulu-nav-products__list a { position: relative; display: flex !important; min-height: 160px; align-items: flex-end; padding: 14px !important; overflow: hidden; color: #183f82 !important; font-size: 15px !important; font-weight: 700 !important; line-height: 1.3 !important; white-space: normal !important; border: 1px solid rgba(21, 155, 176, .16); border-radius: 11px; background: #f7fbfc; box-shadow: 0 5px 12px rgba(24, 63, 130, .045); transition: color .18s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease; }
#header27512 .oulu-nav-products__image { position: absolute; inset: 0; display: block; }
#header27512 .oulu-nav-products__image::after { position: absolute; inset: 0; display: block; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 36%, rgba(255, 255, 255, .94) 82%); content: ''; }
#header27512 .oulu-nav-products__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
#header27512 .oulu-nav-products__label { position: relative; z-index: 1; color: inherit; }
#header27512 .oulu-nav-products__list a:hover,
#header27512 .oulu-nav-products__list a:focus-visible,
#header27512 .oulu-nav-products__list a[aria-current="page"] { color: #183f82 !important; border-color: #159bb0; background: #fff; box-shadow: 0 9px 18px rgba(21, 155, 176, .14); transform: translateY(-2px); }
#header27512 .oulu-nav-products__list a:focus-visible { outline: 3px solid rgba(21, 155, 176, .38); outline-offset: 2px; }

@media (max-width: 1180px) {
  #header27512 .oulu-nav-products__panel,
  #header27512 .oulu-nav-products__chevron { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  #header27512 .oulu-nav-products__panel,
  #header27512 .oulu-nav-products__chevron,
  #header27512 .oulu-nav-products__list a { transition: none; }
}
