@font-face  {
  font-family: HemoSans;
  src: url("assets/fonts/source-han-sans-normal.woff2") format("woff2");
  font-weight: 350;
  font-display: swap;
}
@font-face  {
  font-family: HemoSans;
  src: url("assets/fonts/source-han-sans-regular.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}
@font-face  {
  font-family: HemoSans;
  src: url("assets/fonts/source-han-sans-medium.woff2") format("woff2");
  font-weight: 500;
  font-display: swap;
}
@font-face  {
  font-family: HemoSans;
  src: url("assets/fonts/source-han-sans-bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}
:root {
  --brand:#1c68ae;
  --ink:#333;
  --muted:#666;
  --canvas-width:1920px;
  --page-scale:1
}
* {
  box-sizing:border-box
}
html,body {
  margin:0;
  padding:0
}
html {
  scrollbar-width:none
}
html::-webkit-scrollbar {
  display:none
}
body {
  font-family:HemoSans,"Microsoft YaHei",sans-serif;
  color:var(--ink);
  background:#f7f7f7;
  overflow-x:hidden
}
a {
  color:inherit;
  text-decoration:none
}
button,input,select,textarea {
  font:inherit
}
button,a {
  touch-action:manipulation
}
button {
  cursor:pointer
}
button:disabled {
  cursor:default
}
img {
  display:block;
  max-width:100%
}
h1,h2,h3,p {
  margin:0
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline:3px solid #378dde;
  outline-offset:5px
}
[hidden] {
  display:none!important
}
.container {
  width:1560px;
  margin-inline:auto
}
.site-canvas {
  width:1920px;
  margin-inline:auto;
  transform-origin:top left;
  overflow:clip
}
.site-header {
  height:81px;
  width:1920px;
  background:#fff;
  color:#666;
  display:flex;
  align-items:center;
  padding-inline:170px;
  gap:220px
}
.brand-logo {
  width:148px;
  height:41px;
  object-fit:contain
}
.site-header > a {
  translate:0 4px
}
.main-nav {
  display:flex;
  align-items:center;
  gap:46px;
  list-style:none;
  padding:0;
  margin:0
}
.main-nav>li {
  position:relative
}
.nav-item {
  display:flex;
  align-items:center;
  gap:12px;
  min-height:81px;
  font-size:16px;
  white-space:nowrap
}
.nav-item.is-current,.nav-item:hover {
  color:var(--brand)
}
.nav-toggle {
  width:44px;
  height:44px;
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  margin-inline:-12px;
  position:relative
}
.chevron {
  display:block;
  width:10px;
  height:10px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:translate(-50%,-65%) rotate(45deg);
  position:absolute;
  top:50%;
  left:50%
}
.dropdown {
  position:absolute;
  left:-24px;
  top:81px;
  width:200px;
  padding:12px 0;
  background:#fff;
  color:#666;
  box-shadow:0 8px 25px #0010281a;
  border-top:2px solid var(--brand);
  z-index:90;
  visibility:hidden;
  opacity:0;
  transition:opacity .18s
}
.dropdown a {
  display:block;
  padding:12px 24px;
  line-height:1.5
}
.dropdown a:hover {
  background:#f3f7fa;
  color:var(--brand)
}
.main-nav>li:hover:not(.is-dismissed)>.dropdown,.main-nav>li.is-open>.dropdown {
  visibility:visible;
  opacity:1
}
.language-links {
  margin-left:auto;
  display:flex;
  gap:0;
  align-items:center;
  font:14px Arial,sans-serif;
  border:1px solid #666;
  border-radius:18px;
  width:63px;
  height:31px;
  flex:none
}
.language-links span {
  display:grid;
  place-items:center;
  width:31px;
  height:29px;
  color:#666
}
.language-links span[lang=en] {
  order:1;
  border-radius:50%;
  background:var(--brand);
  color:#fff
}
body[data-page=home] .site-header:not(.is-scrolled) .language-links {
  border-color:#ccc
}
body[data-page=home] .site-header:not(.is-scrolled) .language-links span[lang=de] {
  color:#ccc
}
.section-heading {
  text-align:center;
  position:relative
}
.section-heading::after {
  content:"";
  position:absolute;
  width:101px;
  height:3px;
  background:#e4e4e4;
  left:50%;
  bottom:-35px;
  transform:translateX(-50%)
}
.section-heading h2 span {
  color:var(--brand)
}
.section-heading h2 {
  font-size:52px;
  line-height:1.2;
  font-weight:700;
  color:#1d1d1d
}
.section-heading p {
  font-size:35.4457px;
  color:#b2b2b2;
  opacity:.6;
  line-height:1.2;
  margin-top:3px
}
.pill-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-width:200px;
  min-height:68px;
  border:1px solid #aaa;
  border-radius:16px;
  font-size:14px;
  background:transparent;
  transition:background .2s,color .2s,border-color .2s
}
.pill-link:hover {
  background:var(--brand);
  border-color:var(--brand);
  color:#fff
}
.arrow {
  width:14px;
  height:12px;
  object-fit:contain
}
.site-footer {
  position:relative;
  min-height:503px;
  padding:81px 180px 0;
  background:#031026 url(assets/images/12c8cd78acc14ef391274cd27234d072.webp) center/cover;
  color:#fff
}
.footer-main {
  display:flex;
  justify-content:space-between;
  gap:100px;
  min-height:337px
}
.footer-brand {
  width:560px
}
.footer-logo {
  width:185px;
  height:51px;
  object-fit:contain
}
.footer-hotline {
  display:inline-flex;
  align-items:center;
  min-width:324px;
  min-height:51px;
  padding:10px 24px 10px 61px;
  border:1px solid #ffffffa8;
  border-radius:28px;
  margin-top:56px;
  font-size:16px;
  position:relative
}
.footer-hotline::before {
  content:"";
  position:absolute;
  left:24px;
  top:13px;
  width:24px;
  height:23px;
  background:url(assets/icons/00556d2ffd539c090a03c0f41b7a9447.webp) center/contain no-repeat
}
.footer-contact {
  display:grid;
  gap:23px;
  margin-top:35px;
  font-size:14px
}
.footer-contact p {
  display:flex;
  align-items:center;
  gap:0;
  position:relative;
  padding-left:23px
}
.footer-contact img {
  position:absolute;
  left:0;
  width:15px;
  height:17px;
  max-height:20px;
  object-fit:contain
}
.footer-contact p:nth-child(2) img {
  width:13px;
  height:16px
}
.footer-contact p:nth-child(3) img {
  width:18px;
  height:15px
}
.footer-links {
  display:grid;
  grid-template-columns:76px repeat(3,126px) max-content;
  gap:40px
}
.footer-column h3 {
  font-size:16px;
  font-weight:500;
  margin-bottom:28px
}
.footer-column a {
  display:block;
  font-size:14px;
  line-height:1.4;
  margin-bottom:15px;
  color:#fff
}
.footer-column a:hover {
  color:#fff;
  text-decoration:underline
}
.footer-social {
  position:absolute;
  right:196px;
  top:299px;
  display:flex;
  justify-content:flex-end;
  gap:50px;
  margin-top:0;
  align-items:center
}
.footer-social a {
  width:84px;
  height:84px;
  border:0;
  border-radius:0;
  display:grid;
  place-items:center;
  font-size:14px
}
.footer-social a:first-child,.footer-social a:first-child img {
  width:84px;
  height:84px
}
.footer-social img {
  width:84px;
  height:84px
}
.footer-bottom {
  width:1920px;
  margin-left:-180px;
  margin-top:0;
  border-top:1px solid #ffffff5c;
  min-height:85px;
  display:flex;
  align-items:center;
  font-size:14px;
  color:#fff;
  justify-content:center
}
.floating-support {
  position:fixed;
  right:22px;
  top:50%;
  width:64px;
  z-index:100;
  transform-origin:right center;
  transform:translateY(-50%) scale(var(--support-scale,1));
  background:#1c68ae;
  color:#fff;
  border-radius:32px;
  overflow:visible
}
.floating-support a,.floating-support button {
  display:grid;
  place-items:center;
  width:64px;
  height:60px;
  border:0;
  border-bottom:1px solid #ffffff35;
  background:transparent;
  color:inherit
}
.floating-support img {
  width:24px;
  max-height:25px;
  object-fit:contain
}
.floating-support button:hover,.floating-support a:hover {
  background:#12578e
}
.floating-support > button:first-child {
  border-radius:32px 32px 0 0
}
.floating-support > button:nth-child(4) {
  border-bottom:0;
  border-radius:0 0 32px 32px
}
.support-popover {
  position:absolute;
  right:80px;
  width:290px;
  padding:24px;
  color:#333;
  background:#fff;
  border-radius:8px;
  box-shadow:0 8px 35px #00102824;
  font-size:15px;
  line-height:1.7
}
.support-popover strong {
  color:var(--brand);
  font-size:18px
}
.support-popover p {
  margin:12px 0
}
    .support-popover img {
        width: 128px;
        max-height: 128px;
        object-fit: contain
    }
.floating-support .support-popover a {
  display:inline-flex;
  width:auto;
  height:auto;
  color:var(--brand);
  border:0;
  padding:4px 0;
  background:none
}
.skip-link {
  position:fixed;
  left:10px;
  top:-100px;
  z-index:300;
  padding:12px;
  background:#fff;
  color:#1c68ae
}
.skip-link:focus {
  top:10px
}
.carousel-controls {
  display:flex;
  gap:16px;
  align-items:center
}
.carousel-controls button {
  border:0;
  background:transparent;
  color:inherit;
  min-width:28px;
  min-height:36px;
  padding:3px;
  font:14px Arial
}
.carousel-controls button[aria-pressed=true] {
  opacity:1
}
.carousel-controls button[aria-pressed=false] {
  opacity:.5
}
.carousel-line {
  width:75px;
  height:2px;
  position:relative;
  background:#ffffff4d;
  overflow:hidden
}
.carousel-progress {
  display:block;
  width:20px;
  height:100%;
  background:#ffffff80;
  will-change:transform
}
.carousel-controls .carousel-arrow {
  font-size:28px;
  min-width:32px
}
.site-dialog {
  width:min(1000px,90vw);
  border:0;
  padding:50px;
  max-height:85vh;
  overflow:auto;
  color:#333;
  box-shadow:0 20px 100px #0005
}
.site-dialog::backdrop {
  background:#001027aa
}
.dialog-close {
  float:right;
  border:0;
  background:transparent;
  font-size:30px;
  width:44px;
  height:44px
}
.site-dialog h2 {
  font-size:28px;
  margin-bottom:24px
}
.site-dialog video {
  width:100%;
  max-height:65vh
}
.site-dialog p {
  font-size:16px;
  line-height:1.8;
  margin-top:16px
}
.site-dialog img {
  max-height:45vh;
  margin:20px auto;
  object-fit:contain
}
.status-message {
  position:fixed;
  bottom:24px;
  left:50%;
  transform:translateX(-50%);
  background:#031026;
  color:#fff;
  padding:15px 24px;
  border-radius:4px;
  z-index:400;
  max-width:90vw
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important
  }
}
.site-header {
  position:fixed;
  top:0;
  left:var(--canvas-left,0px);
  transform:scale(var(--page-scale));
  transform-origin:top left;
  z-index:200;
  gap:282px;
  transition:background .25s,box-shadow .25s
}
body:not([data-page=home]) main {
  padding-top:81px
}
body[data-page=home] .site-header:not(.is-scrolled) {
  background:rgba(0,10,28,.73);
  color:#fff
}
body[data-page=home] .site-header:not(.is-scrolled) .brand-logo {
  content:url(assets/images/043512ddd62f7c376f2ca1f048159b1c.webp)
}
.site-header.is-scrolled {
  box-shadow:0 2px 18px #00102815
}
.home-hero {
  position:relative;
  height:1080px;
  background:#031026;
  color:#fff;
  isolation:isolate;
  overflow:hidden
}
.hero-slide {
  height:100%;
  position:absolute;
  inset:0;
  z-index:2
}
.hero-slide.is-exiting {
  z-index:1;
  pointer-events:none
}
.hero-background,.hero-video {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover
}
.hero-video {
  opacity:0;
  transition:opacity .6s
}
.hero-video.is-playing {
  opacity:1
}
.hero-copy {
  position:relative;
  z-index:2;
  padding-top:324px;
  margin-left:275px;
  width:679px
}
.hero-copy h1,.hero-copy h2 {
  font-size:53.5464px;
  line-height:1.2;
  font-weight:700
}
.hero-copy p {
  font-size:16px;
  line-height:19.2px;
  margin-top:35px;
  font-weight:350
}
.hero-more {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:45px;
  margin-left:3px;
  width:114px;
  min-height:36px;
  border:1px solid #ffffff99;
  border-radius:22px;
  background:#03163088;
  font-size:16px
}
.hero-more:hover {
  background:var(--brand)
}
.home-hero>.carousel-controls {
  position:absolute;
  right:100px;
  bottom:40px;
  color:#fff;
  z-index:4;
  gap:0;
  height:44px;
  bottom:37px;
  right:88px
}
.home-hero>.carousel-controls [data-carousel-prev] {
  margin-right:24px
}
.home-hero>.carousel-controls [data-carousel-to] {
  width:35px;
  min-width:35px;
  padding:0
}
.home-hero>.carousel-controls .carousel-line {
  margin:0 18px 0 4px
}
.home-hero>.carousel-controls .carousel-arrow {
  position:relative;
  color:transparent;
  width:36px;
  height:44px;
  padding:0
}
.home-hero>.carousel-controls .carousel-arrow::after {
  content:"";
  position:absolute;
  top:16px;
  left:13px;
  width:9px;
  height:9px;
  border:solid #fff;
  border-width:0 1px 1px 0;
  transform:rotate(-45deg)
}
.home-hero>.carousel-controls [data-carousel-prev]::after {
  transform:rotate(135deg)
}
.scroll-cue {
  position:absolute;
  bottom:52px;
  left:947px;
  z-index:4
}
.scroll-cue img {
  animation:mouse-scroll-cue 2.4s cubic-bezier(.45,0,.25,1) infinite
}
@keyframes mouse-scroll-cue {
  0%,100% { transform:translateY(0) }
  50% { transform:translateY(7px) }
}
.home-about {
  position:relative;
  min-height:1076px;
  padding-top:107px;
  background:#fff
}
.about-grid {
  display:grid;
  grid-template-columns:439px 946px;
  gap:174px;
  margin-top:111px
}
.about-copy {
  padding-top:36px;
  font-size:16px;
  line-height:26px;
  font-weight:350
}
.about-copy p+p {
  margin-top:26px
}
.about-copy p {
  text-indent:2em
}
.about-copy .pill-link {
  margin-top:79px
}
.about-media {
  position:relative
}
.about-photo {
  width:946px;
  height:629px;
  object-fit:cover
}
.country-badge {
  position:absolute;
  top:207px;
  left:-105px;
  width:222px;
  min-height:251px;
  padding:73px 63px 40px;
  background:#1c68ae url(assets/images/784c202b9567f3a2a79b62ed2fb2ce31.webp) center/cover;
  color:#fff
}
.country-badge p {
  white-space:nowrap;
  font-size:14px
}
.country-badge p:first-child {
  display:flex;
  align-items:baseline;
  gap:6px;
  margin-bottom:6px
}
.country-badge strong {
  font-size:50px;
  line-height:60px;
  font-weight:350
}
.country-badge span {
  font-size:16px
}
.vertical-label {
  position:absolute;
  right:0;
  top:306px;
  font-size:118.745px;
  font-weight:700;
  color:#b2b2b2;
  opacity:.13;
  writing-mode:vertical-rl;
  pointer-events:none
}
.home-applications {
  min-height:1080px;
  padding-top:60px;
  background:#f6fafc url(assets/images/09a99dd9286a65091fe64217ac7d31bf.webp) center/cover
}
.home-applications .section-heading h2 {
  color:#1d1d1d
}
.application-layout {
  display:grid;
  grid-template-columns:169px 1312px;
  gap:79px;
  margin-top:132px
}
.application-tabs {
  display:flex;
  flex-direction:column;
  gap:22px;
  align-items:flex-start;
  position:relative
}
.application-tabs::before {
  content:"";
  position:absolute;
  top:22px;
  bottom:22px;
  left:18px;
  border-left:1px solid #ddd
}
.application-tabs button {
  padding:0 12px 0 30px;
  min-height:45px;
  position:relative;
  border:0;
  background:none;
  font-size:16px;
  color:#666
}
.application-tabs button::before {
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  background:#aaa;
  border-radius:50%;
  left:14px;
  top:18px
}
.application-tabs button[aria-selected=true] {
  color:var(--brand);
  font-size:18px
}
.application-tabs button[aria-selected=true]::before {
  width:16px;
  height:16px;
  left:10px;
  top:14px;
  background:var(--brand)
}
.application-image {
  width:1312px;
  height:522px;
  object-fit:cover
}
.application-caption {
  position:relative;
  margin-top:-50px;
  margin-left:610px;
  width:656px;
  min-height:156px;
  background:#fff;
  border-radius:10px;
  padding:27px;
  display:flex;
  justify-content:space-between;
  gap:25px
}
.application-caption h3 {
  font-size:20px;
  font-weight:500;
  margin-bottom:20px
}
.application-caption p {
  font-size:16px;
  line-height:26px;
  width:550px
}
.application-caption a {
  position:absolute;
  top:51px;
  right:17px;
  width:60px;
  height:56px;
  display:grid;
  place-items:center
}
.application-caption a span {
  width:27px;
  height:20px;
  font-size:0;
  background:url(assets/icons/595662222954c39a4a01315cf01d43f9.webp) center/contain no-repeat
}
.home-applications.has-scroll-cards {
  position:relative;
  isolation:isolate;
  min-height:0;
  padding-bottom:120px;
  background:#f6fafc;
  overflow:clip
}
.home-applications.has-scroll-cards::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  z-index:-1;
  width:1920px;
  height:var(--application-background-height,1080px);
  background:url(assets/images/09a99dd9286a65091fe64217ac7d31bf.webp) center/100% 100% no-repeat;
  transform:translateY(var(--application-background-offset,0px));
  will-change:transform;
  pointer-events:none
}
.has-scroll-cards .application-layout {
  align-items:start
}
.has-scroll-cards .application-panels {
  display:grid;
  gap:80px
}
.has-scroll-cards .application-panel {
  transform-origin:center top;
  transform-style:preserve-3d
}
.has-scroll-cards .application-tabs {
  will-change:transform
}
html.lenis,html.lenis body {
  height:auto
}
.lenis.lenis-stopped {
  overflow:hidden
}
.lenis [data-lenis-prevent] {
  overscroll-behavior:contain
}
.home-products {
  position:relative;
  min-height:1000px;
  padding-top:65px;
  background:#fff;
  text-align:center
}
.product-track {
  margin:79px auto 0;
  width:1460px;
  min-height:607px;
  display:flex;
  align-items:flex-end;
  gap:32px
}
.product-card {
  position:relative;
  display:none;
  flex:none;
  width:416px;
  height:519px;
  overflow:hidden;
  text-align:left
}
.product-card.is-active,.product-card.is-next,.product-card.is-previous {
  display:flex;
  flex-direction:column;
  justify-content:flex-end
}
.product-card.is-previous {
  order:0
}
.product-card.is-active {
  order:1;
  width:564px;
  height:607px
}
.product-card.is-next {
  order:2
}
.product-photo {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover
}
.product-caption {
  position:relative;
  background:#ffffffcc;
  border:1px solid #fff;
  border-radius:6px;
  margin:0 47px 33px;
  padding:20px 19px;
  min-height:132px;
  opacity:0
}
.is-active .product-caption {
  opacity:1
}
.product-caption h3 {
  font-size:16px;
  font-weight:700;
  margin-bottom:14px
}
.product-caption p {
  font-size:14px;
  line-height:18px
}
.product-caption a {
  position:absolute;
  right:13px;
  top:9px;
  width:52px;
  height:44px;
  display:grid;
  place-items:center
}
.product-caption a span {
  width:27px;
  height:20px;
  font-size:0;
  background:url(assets/icons/595662222954c39a4a01315cf01d43f9.webp) center/contain no-repeat
}
.product-features {
  margin:0;
  padding:0 0 0 9px;
  list-style:none;
  font-size:14px;
  line-height:18px
}
.product-features li {
  position:relative
}
.product-features li+li {
  margin-top:6px
}
.product-features li::before {
  content:"";
  position:absolute;
  top:8px;
  left:-11px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--brand)
}
.product-arrows {
  position:absolute;
  top:562px;
  left:181px;
  width:1557px;
  display:flex;
  justify-content:space-between;
  pointer-events:none
}
.product-arrows button {
  pointer-events:auto;
  border:0;
  position:relative;
  width:81px;
  height:81px;
  background:#555;
  color:#fff;
  font-size:0;
  border-radius:50%;
  transition:background .2s
}
.product-arrows button:hover {
  background:var(--brand)
}
.product-arrows button[data-product-prev] {
  background:var(--brand)
}
.product-arrows button::after {
  content:"";
  position:absolute;
  left:31px;
  top:25px;
  width:19px;
  height:32px;
  background:url(assets/icons/e7f06da1eea8f83509adc44b8c7089f1.webp) center/contain no-repeat
}
.product-arrows button[data-product-prev]::after {
  background-image:url(assets/icons/fa2fb9a2833a64eacafd923732f693aa.webp)
}
.product-dots {
  display:flex;
  gap:14px;
  justify-content:center;
  margin:42px 0 48px
}
.product-dots button {
  border:0;
  width:16px;
  height:16px;
  border-radius:50%;
  padding:0;
  background:#c3c8cc;
  position:relative
}
.product-dots button::after {
  content:"";
  position:absolute;
  inset:-10px
}
.product-dots button[aria-pressed=true] {
  background:#333
}
.home-news {
  min-height:1485px;
  padding-top:78px;
  background:#f7f7f7 url(assets/images/12ccc4879f9b5dc2ecf3322d29becda3.webp) left bottom/1536px 515px no-repeat;
  text-align:center
}
.news-grid {
  display:grid;
  grid-template-columns:repeat(3,494px);
  gap:40px 39px;
  text-align:left
}
.home-news .news-grid {
  margin-top:108px
}
.news-card {
  display:flex;
  flex-direction:column;
  min-height:485px;
  background:#fff;
  padding:29px 42px 21px;
  box-shadow:2.5px 4.33px 6.5px #9c9c9c24;
  transition:background .2s,color .2s,box-shadow .2s
}
.news-image {
  width:410px;
  height:244px;
  object-fit:cover;
  margin-bottom:12px
}
.news-card h3 {
  font-size:18px;
  line-height:22px;
  font-weight:500;
  margin-bottom:10px
}
.news-excerpt {
  font-size:14px;
  line-height:16.8px;
  font-weight:normal
}
.news-card time {
  align-self:flex-end;
  font-size:14px;
  line-height:18px;
  margin-top:14px;
  color:#666
}
.news-more {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:20px;
  padding-top:19px;
  border-top:1px solid #ddd;
  font-size:14px
}
.news-more span {
  width:65px;
  height:24px;
  flex:none;
  font-size:0;
  background:url(assets/icons/12f92a700c3c20d453dd5f14ea27209f.webp) center/contain no-repeat
}
.news-card:hover,.news-card:focus-within,.news-card.is-featured {
  background:var(--brand);
  color:#fff;
  box-shadow:0 15px 30px #00102812
}
.news-card:hover time,.news-card:focus-within time,.news-card.is-featured time {
  color:#fff
}
.news-card:hover .news-more span,.news-card:focus-within .news-more span,.news-card.is-featured .news-more span {
  background-image:url(assets/icons/861168623b4ad8f9bd5331df75378dcb.webp)
}
.home-news>.pill-link {
  margin-top:100px
}
.home-history {
  min-height:983px;
  padding-top:80px;
  background:#fff url(assets/images/61a512a0a325ae27382db2b1e5bdb27c.webp) center/cover
}
.history-timeline {
  display:grid;
  grid-template-columns:212px 202px 227px 217px 184px 191px 187px 140px;
  gap:0;
  margin-top:386px;
  padding:0;
  list-style:none;
  height:330px;
  align-items:start
}
.history-timeline li {
  display:flex;
  flex-direction:column;
  height:152px;
  padding-left:16px;
  position:relative
}
.history-timeline li::before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:7px;
  height:32px;
  background:var(--brand);
  transition:height .25s
}
.history-timeline li::after {
  content:"";
  position:absolute;
  top:32px;
  bottom:0;
  left:3px;
  width:1px;
  background:#fff
}
.history-timeline li:hover::before,.history-timeline li:focus-within::before {
  height:40px
}
.history-timeline h3 {
  font-size:16px;
  font-weight:500;
  color:var(--brand);
  line-height:20px;
  margin-bottom:13px
}
.history-timeline p {
  font-size:14px;
  line-height:16.8px;
  font-weight:500;
  max-width:126px
}
.milestone-copy {
  margin-top:-4px
}
.history-year {
  border:0;
  padding:0;
  color:inherit;
  background:none;
  font:inherit;
  line-height:20px;
  white-space:nowrap;
  text-align:left;
  transition:color .2s
}
.history-timeline li:hover .milestone-copy,.history-timeline li:focus-within .milestone-copy {
  color:#1c68ae
}
.milestone-line {
  display:block;
  flex:1
}
.history-timeline li:nth-child(2) {
  transform:translateY(44px);
  height:178px
}
.history-timeline li:nth-child(2) .milestone-copy { margin-left:-2px; }
.history-timeline li:nth-child(4) .milestone-copy { margin-left:2px; }
.history-timeline li:nth-child(5) p { max-width:112px; }
.history-timeline li:nth-child(6) .milestone-copy { margin-left:2px; }
.history-timeline li:nth-child(3) {
  transform:translateY(0);
  height:180px
}
.history-timeline li:nth-child(4) {
  transform:translateY(-65px);
  height:208px
}
.history-timeline li:nth-child(5) {
  transform:translateY(-142px);
  height:284px
}
.history-timeline li:nth-child(6) {
  transform:translateY(-283px);
  height:340px
}
.history-timeline li:nth-child(7) {
  transform:translateY(-345px);
  height:218px
}
.history-timeline li:nth-child(8) {
  transform:translateY(-381px);
  height:136px
}
.sr-only {
  position:absolute!important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.inner-hero {
  height:459px;
  position:relative;
  background:#031026
}
.inner-hero-image {
  width:1920px;
  height:459px;
  object-fit:cover
}
.breadcrumbs {
  display:flex;
  align-items:center;
  gap:12px;
  min-height:76px;
  font-size:14px;
  color:#666
}
.breadcrumbs [aria-current=page] {
  color:var(--brand)
}
.product-hero-copy {
  position:absolute;
  inset:95px 0 auto;
  padding-left:124px;
  color:#fff
}
.product-hero-copy h1 {
  font-size:42px;
  line-height:1.2;
  font-weight:500
}
.product-hero-actions {
  display:flex;
  gap:40px;
  margin-top:42px
}
.product-neighbors {
  display:grid;
  gap:12px;
  margin-top:48px;
  font-size:16px;
  line-height:24px
}
.product-neighbors p {
  display:flex;
  gap:22px
}
.product-hero-actions .pill-link {
  min-height:68px;
  border-color:#ffffff80;
  font-size:16px;
  font-weight:350;
  color:#fff;
  gap:20px
}
.product-hero-actions .pill-link:disabled {
  opacity:.65
}
.product-hero-actions .pill-link:disabled:hover {
  background:transparent
}
.product-overview {
  min-height:549px;
  background:#f7f7f7
}
.product-overview-grid {
  display:grid;
  grid-template-columns:885px 298px;
  gap:225px;
  padding-top:28px
}
.product-overview-grid h2 {
  font-size:40px;
  line-height:48px;
  font-weight:500;
  margin-bottom:27px
}
.product-overview-grid p {
  font-size:16px;
  line-height:26px
}
.overview-product-image {
  width:298px;
  height:354px;
  object-fit:contain;
  margin-top:6px
}
.product-tags {
  display:flex;
  gap:22px;
  list-style:none;
  padding:0;
  margin:46px 0 30px
}
.product-tags li {
  font-size:14px;
  color:#666;
  font-weight:400;
  background:#edf4f9;
  padding:8px 10px;
  width:120px;
  height:38px;
  white-space:nowrap;
  text-align:center
}
.product-specifications {
  min-height:774px;
  background:#031026 url(assets/images/bb3ea2b0aea083cfc83600e362c653de.webp) center/cover;
  color:#fff;
  padding-top:117px
}
.specifications-grid {
  display:grid;
  grid-template-columns:298px 524px;
  gap:288px;
  padding:69px 229px 48px 220px;
  min-height:541px;
  background:#001323b5;
  border-radius:8px
}
.specifications-image {
  width:298px;
  height:354px;
  object-fit:contain;
  margin-top:41px
}
.specifications-grid h2 {
  font-size:30px;
  line-height:36px;
  font-weight:500;
  margin-bottom:62px
}
.specifications-grid table {
  width:100%;
  border-collapse:collapse;
  font-size:16px;
  line-height:26px
}
.specifications-grid th,.specifications-grid td {
  padding:10px 0;
  font-weight:400
}
.specifications-grid tr:not(:last-child) {
  border-bottom:1px solid #ffffff40
}
.specifications-grid th {
  text-align:left;
  width:5%
}
.specifications-grid td {
  text-align:left
}
.product-details {
  min-height:1487px;
  padding:78px 0 80px;
  font-size:14px;
  line-height:24px;
  color:#666;
  font-weight:500
}
.product-details > p {
  width:1554px;
  padding-left:2px;
  letter-spacing:-.08px
}
.details-image {
  width:1559px;
  height:633px;
  object-fit:cover;
  margin:66px 0 54px
}
.solutions-section {
  padding:75px 0 75px
}
.solutions-banner {
  min-height:230px;
  background:#031026 url(assets/images/21d2951d59a9a8b67251a4e0e57d685e.webp) center/cover;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:60px 94px 60px 113px;
  color:#fff;
  border-radius:16px
}
.solutions-banner h2 {
  font-size:34px;
  line-height:1.4;
  font-weight:400
}
.solutions-banner p {
  font-size:14px;
  line-height:1.5;
  font-weight:350;
  margin-top:14px
}
.solutions-banner .pill-link {
  border-color:#ffffff80
}
.news-list-section {
  min-height:1770px;
  background:#f7f7f7;
  padding-bottom:54px
}
.news-list-section .news-grid {
  margin-top:4px;
  row-gap:40px
}
.news-list-section .news-card {
  min-height:485px
}
.pagination {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  margin:54px auto 0;
  width:522px;
  justify-content:space-between;
  height:50px;
  color:#666
}
.pagination button {
  width:50px;
  height:50px;
  border:0;
  background:transparent;
  color:inherit;
  font-size:14px
}
.pagination [aria-current=page] {
  background:var(--brand);
  color:#fff;
  border-radius:50%;
  width:50px;
  height:50px
}
.pagination button:disabled {
  opacity:.55
}
.news-list-section+.solutions-section {
  padding-top:3px;
  padding-bottom:50px
}
.anchor-target {
  display:block;
  height:0
}
.news-dialog time {
  color:#666;
  font-size:14px
}
.news-dialog .article-label {
  font-size:14px;
  color:#666
}
.contact-methods {
  min-height:280px
}
.contact-method-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:45px;
  padding-top:28px
}
.contact-method-card {
  display:flex;
  gap:34px;
  align-items:center;
  padding:34px 36px 36px;
  background:#fff;
  min-height:132px;
  border-radius:10px;
  box-shadow:2.5px 4.33px 6.5px #9c9c9c24
}
.contact-method-card:hover {
  box-shadow:0 8px 24px #00102810
}
.contact-method-card h2 {
  font-size:16px;
  line-height:1.2;
  color:#666;
  font-weight:400;
  margin-bottom:12px
}
.contact-method-card p {
  font-size:18px;
  font-weight:500;
  color:#666;
  line-height:1.2
}
.company-about {
  min-height:760px
}
.company-about-grid {
  display:grid;
  grid-template-columns:419px 1068px;
  gap:71px;
  padding-top:52px
}
.company-about-copy {
  padding-top:0px
}
.company-about-copy h2 {
  font-size:40px;
  line-height:48px;
  font-weight:500;
  margin-bottom:46px
}
.company-about-copy h2 span {
  color:var(--brand)
}
.company-about-copy p {
  font-size:16px;
  line-height:26px;
  text-indent:2em;
  font-weight:350
}
.company-about-copy p+p {
  margin-top:26px
}
.company-about-copy .pill-link {
  margin-top:103px
}
.company-video-cover {
    margin-top:100px;
  position:relative;
  width:1068px;
  align-self:start
}
.company-cover {
  width:1068px;
  height:629px;
  object-fit:cover
}
.video-play {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border:0;
  padding:0;
  width:76px;
  height:76px;
  background:transparent;
  border-radius:50%
}
.video-play:hover {
  filter:brightness(1.15)
}
.inquiry-section {
  min-height:1152px;
  padding:64px 0 61px
}
.inquiry-grid {
  display:grid;
  grid-template-columns:475px 980px;
  gap:103px
}
.inquiry-intro h2 {
  font-size:36px;
  line-height:43.2px;
  font-weight:500;
  max-width:324px;
  margin-top:34px;
  color:#1d1d1d
}
.inquiry-intro>p {
  font-size:16px;
  line-height:19.2px;
  font-weight:350;
  color:#666;
  margin-top:35px
}
.contact-carousel {
  margin-top:145px
}
.inquiry-promises {
  margin:35px 0 0;
  padding-left:14px;
  width:475px;
  max-width:475px;
  color:#666;
  font-size:16px;
  font-weight:350;
  line-height:19.2px;
  white-space:nowrap;
  font-stretch:condensed
}
.inquiry-promises li::marker { color:#b2b2b2; font-size:10px; }
.inquiry-promises li+li {
  margin-top:19px
}
.contact-carousel .carousel-line {
  background:#ddd
}
.contact-carousel .carousel-progress {
  background:#999
}
.contact-carousel-image {
  width:475px;
  height:287px;
  border-radius:20px;
  object-fit:cover
}
.contact-carousel .carousel-controls {
  justify-content:center;
  margin-top:24px;
  color:#909090;
  gap:12px
}
.contact-form {
  padding:27px 44px 32px;
  background:#fff;
  border-radius:8px;
  box-shadow:2.5px 4.33px 6.5px #9c9c9c24;
  min-height:1027px
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:36px;
  row-gap:30px
}
.form-salutation {
  grid-column:1/-1;
  width:calc((100% - 36px)/2);
  margin-bottom:-19px
}
.form-group {
  display:flex;
  flex-direction:column;
  min-width:0
}
.form-group label {
  font-size:16px;
  line-height:24px;
  margin-bottom:18px;
  color:#333
}
.form-group input,.form-group select,.form-group textarea {
  width:100%;
  border:1px solid transparent;
  background:#f7f7f7;
  color:#333;
  font-size:16px;
  padding:18px 20px;
  border-radius:5px;
  min-height:64px
}
.form-group input::placeholder,.form-group textarea::placeholder {
  color:#999
}
.form-group select:invalid {
  color:#999
}
.form-group textarea {
  min-height:192px;
  resize:vertical
}
.form-group input[aria-invalid=true],.form-group select[aria-invalid=true],.form-group textarea[aria-invalid=true] {
  border-color:#ba2828
}
.field-error {
  font-size:13px;
  color:#b12727;
  line-height:18px;
  min-height:18px;
  margin-top:5px
}
.form-full {
  grid-column:1/-1
}
.captcha-row {
  display:flex;
  gap:0;
  align-items:flex-start;
  margin-top:-25px
}
.captcha-field {
  flex:1
}
.captcha-control {
  display:flex;
  min-width:0;
  border-radius:5px
}
.captcha-control:focus-within {
  outline:3px solid #378dde;
  outline-offset:5px
}
.captcha-control input {
  flex:1;
  min-width:0;
  border-radius:5px 0 0 5px
}
.captcha-control input:focus-visible,#captcha-refresh:focus-visible {
  outline:none
}
.captcha-field label {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0)
}
#captcha-refresh {
  width:231px;
  height:64px;
  padding:0;
  border:0;
  flex:none;
  background:#d1ecf7;
  border-radius:0 5px 5px 0;
  overflow:hidden
}
#captcha-canvas {
  display:block;
  width:231px;
  height:64px
}
.consent-label {
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:14px;
  line-height:24px;
  color:#666;
  font-weight:500
}
.consent-label input {
  width:14px;
  height:14px;
  flex:none;
  margin-top:5px;
  accent-color:var(--brand)
}
.form-submit-row {
  text-align:center;
  margin-top:15px
}
.consent-group {
  margin-top:-30px
}
.submit-button {
  background:var(--brand);
  border-color:var(--brand);
  color:#fff;
  min-width:200px;
  min-height:68px
}
.submit-button:hover {
  background:#155789
}
.form-message {
  font-size:14px;
  line-height:24px;
  color:#1c68ae;
  margin-top:16px
}
.form-message:empty { display:none; }
.form-error-summary {
  border:1px solid #ba2828;
  padding:16px;
  margin-bottom:24px;
  background:#fff5f5;
  display:grid;
  gap:8px;
  font-size:14px;
  color:#a21d1d
}
.form-error-summary a {
  text-decoration:underline
}
.dialog-open {
  overflow-y:hidden
}
.contact-method-grid a {
  transition:box-shadow .2s
}
.site-dialog:not([open]) {
  display:none
}


.news-list-section { padding-bottom:10px; }

.home-news .news-grid { margin-top:124px; }
.footer-column a { width:max-content; max-width:100%; }

.dialog-fallback[open] { position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); margin:0; z-index:300; box-shadow:0 0 0 100vmax #001027aa; }
