.distribution-page { color:#555; background:#f8f8f8; font-size:16px; }

/* Japanese support page: dimensions mirror the source Support and shared
   VideoSection components while retaining editable Wagtail content. */
#support-banner { width:100%; height:auto; min-height:0; }
#support-banner picture,
#support-banner picture img { width:100%; height:auto; display:block; object-fit:contain; }
#support-banner .cms-hero__shade { display:none; }
#support-banner .cms-hero__copy { top:50%; left:22.5rem; max-width:none; text-align:left; transform:translateY(-50%); animation:support-headline-in 2s linear 1; }
#support-banner h1 { margin:0 0 2.6875rem; color:#e3e3e3; font-size:3rem; font-weight:300; line-height:1; }
@keyframes support-headline-in { from { top:0; opacity:0; } to { top:50%; opacity:1; } }
.cms-video-showcase { margin:5.25rem auto 16.375rem; background:var(--section-bg); }
.cms-video-showcase__inner { width:min(calc(100% - 2.5rem),75rem); margin:0 auto; }
.cms-video-showcase__header { margin:0 0 1.875rem; padding:0 0 .9375rem; display:flex; align-items:center; justify-content:space-between; border-bottom:.0625rem solid #bfbfbf; }
.cms-video-showcase__header h2 { margin:0; color:#333; font-size:1.375rem; font-weight:400; line-height:1; }
.cms-video-showcase__header a { color:#999; font-size:.875rem; text-decoration:none; }
.cms-video-showcase__header a:hover { color:#333; }
.cms-video-showcase__grid { margin-bottom:3rem; display:flex; flex-wrap:wrap; justify-content:space-between; }
.cms-video-showcase__card { width:calc(50% - .625rem); margin-bottom:1.25rem; display:flex; flex-direction:column; }
.cms-video-showcase__thumbnail { width:100%; padding:0; position:relative; aspect-ratio:16/9; overflow:hidden; background:#f5f7fa; border:0; cursor:pointer; }
.cms-video-showcase__thumbnail img { width:100%; height:100%; display:block; object-fit:cover; }
.cms-video-showcase__indicator { position:absolute; z-index:1; right:.625rem; bottom:.625rem; padding:.3125rem .5rem; color:#fff; background:rgb(0 0 0 / 70%); border-radius:.25rem; font-size:.75rem; }
.cms-video-showcase__overlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; background:rgb(0 0 0 / 50%); opacity:0; transition:opacity .3s ease; }
.cms-video-showcase__overlay svg { width:3rem; height:3rem; transition:transform .3s ease; }
.cms-video-showcase__thumbnail:hover .cms-video-showcase__overlay { opacity:1; }
.cms-video-showcase__thumbnail:hover .cms-video-showcase__overlay svg { transform:scale(1.1); }
.cms-video-showcase__thumbnail:hover .cms-video-showcase__indicator { opacity:0; }
.cms-video-showcase__text { width:100%; display:flex; flex-direction:column; gap:.5rem; }
.cms-video-showcase__text h3 { margin:1vw 0 .5vw; color:#666; font-size:1.25rem; font-weight:400; line-height:1.625rem; }
.cms-video-showcase__text p { height:2.5rem; margin:0; display:-webkit-box; overflow:hidden; color:#666; font-size:.875rem; font-weight:400; line-height:1.375rem; text-overflow:ellipsis; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.cms-video-showcase__text time { display:flex; justify-content:flex-end; color:#818181; font-size:.75rem; font-weight:400; }
.media-dialog iframe { width:100%; aspect-ratio:16/9; display:block; background:#000; border:0; }

@media(max-width:1024px) {
  #support-banner .cms-hero__copy { left:11.25rem; }
}

@media(max-width:767px) {
  #support-banner .cms-hero__copy { top:auto; right:auto; bottom:1.25rem; left:4rem; transform:none; animation:none; }
  #support-banner h1 { margin-bottom:.5rem; font-size:1.875rem; font-weight:500; }
  .cms-video-showcase { margin-top:3rem; }
  .cms-video-showcase__card { width:100%; }
  .cms-video-showcase__text h3 { font-size:1rem; line-height:1.375rem; }
  .cms-video-showcase__text p { height:auto; max-height:2.25rem; font-size:.75rem; line-height:1.125rem; }
  .cms-video-showcase__text time { font-size:.625rem; }
  .cms-video-showcase__indicator { right:.3125rem; bottom:.3125rem; padding:.1875rem .375rem; font-size:.625rem; }
  .cms-video-showcase__overlay svg { width:2.25rem; height:2.25rem; }
}

@media(max-width:520px) {
  #support-banner .cms-hero__copy { bottom:.9375rem; left:1.25rem; }
  #support-banner h1 { font-size:1.5rem; }
}

@media(max-width:450px) {
  #support-banner h1 { font-size:1.25rem; }
}
.distribution-banner { position:relative; height:calc(21.25vw - .10625rem); overflow:hidden; background:#17110f; }
.distribution-banner picture,
.distribution-banner picture img { width:100%; height:100%; display:block; object-fit:cover; }
.distribution-banner__copy { position:absolute; top:50%; left:22.5rem; transform:translateY(-50%); }
.distribution-banner h1 { margin:0 0 2.6875rem; color:#e3e3e3; font-size:3rem; font-weight:300; line-height:1; }
.distribution-main { width:100%; margin:0; padding:3.75rem 0; display:flex; align-items:center; flex-direction:column; }
.distribution-intro { width:50rem; max-width:90vw; margin:0 0 3.75rem; position:relative; text-align:center; }
.distribution-intro h2 { margin:0 0 1.25rem; color:#e3540b; font-size:2.25rem; font-weight:400; line-height:1; }
.distribution-intro p { margin:0 auto; max-width:50rem; color:#666; font-size:1rem; line-height:1.6; }
.distribution-intro__icon { position:absolute; top:-.25rem; right:-3.25rem; width:4.0625rem; height:4.0625rem; object-fit:contain; }
.distribution-categories { width:70vw; margin:0 0 5rem; display:flex; flex-wrap:wrap; justify-content:space-between; gap:1.25rem; line-height:1; }
.distribution-categories a { min-width:15.25rem; padding:1.25rem; display:flex; align-items:center; flex-direction:column; color:#333; background:#f3ebe5; border:.125rem solid transparent; border-radius:.75rem; transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
.distribution-categories a:hover { box-shadow:0 .3125rem .9375rem rgb(255 102 0 / 20%); transform:translateY(-.3125rem); }
.distribution-categories a.is-active { border-color:#e3540b; box-shadow:0 .1875rem .625rem rgb(255 102 0 / 15%); }
.distribution-categories img { width:7.5rem; height:7.5rem; margin:1.875rem 0; object-fit:contain; }
.distribution-categories span { color:#333; font-size:.875rem; font-weight:500; text-align:center; }
.distribution-region-filter { width:70vw; margin:0 0 3rem; display:flex; align-items:center; gap:.5rem; color:#707070; font-size:.875rem; }
.distribution-region-filter span { width:15rem; position:relative; display:block; background:#f2f2f2; }
.distribution-region-filter span::after { width:1.875rem; height:1.875rem; position:absolute; top:0; right:0; display:grid; place-items:center; color:#fff; background:#e6e6e6; content:"›"; font-size:1.875rem; line-height:1; pointer-events:none; transform:rotate(90deg); }
.distribution-region-filter span:hover::after { background:#e3540b; }
.distribution-region-filter select { width:100%; height:1.875rem; padding:0 2.625rem 0 .75rem; color:#707070; background:transparent; border:0; border-radius:.125rem; font:inherit; appearance:none; }
.distribution-region-filter select:focus-visible { outline:.0625rem solid #e3540b; outline-offset:.125rem; }
.distribution-regions { width:70vw; height:21rem; min-height:0; margin:0 0 5rem; display:flex; flex-direction:column; justify-content:space-between; background:#fff; border-radius:.75rem; }
.is-overseas-site .distribution-regions { height:auto; min-height:12.5rem; }
.distribution-regions section { padding:1.5625rem 0; position:relative; display:flex; align-items:center; }
.distribution-regions section:not(:last-child)::after { position:absolute; right:2vw; bottom:0; left:2vw; height:.0625rem; content:""; background:#eee; box-shadow:0 0 .0625rem #c7c7c7; }
.distribution-regions h3 { width:10vw; margin:0; color:#333; font-size:1rem; font-weight:500; text-align:center; }
.distribution-regions section > div { display:flex; flex:1; flex-wrap:wrap; gap:1.25rem; }
.distribution-regions section a { padding:1rem; display:flex; align-items:center; justify-content:center; background:#fff; border-radius:.5rem; box-shadow:0 .125rem .5rem rgb(0 0 0 / 10%); transition:transform .3s ease,box-shadow .3s ease; }
.is-overseas-site .distribution-regions section a { width:12.125rem; height:7.5rem; box-sizing:border-box; flex:0 0 12.125rem; }
.distribution-regions section a:hover { box-shadow:0 .3125rem .9375rem rgb(0 0 0 / 15%); transform:translateY(-.1875rem); }
.distribution-regions section img { width:7.5rem; height:5rem; max-height:3.75rem; object-fit:contain; }
.is-overseas-site .distribution-regions section img { width:10rem; max-width:10rem; height:5rem; max-height:5rem; }

.warranty-page { color:#595858; background:#fff; font-size:16px; }
.warranty-hero { position:relative; height:21.25vw; overflow:hidden; }
.warranty-hero picture,
.warranty-hero img { width:100%; height:100%; display:block; object-fit:cover; }
.warranty-hero__copy { position:absolute; top:50%; left:22.5rem; transform:translateY(-50%); }
.warranty-hero h1 { margin:0 0 2.6875rem; color:#e3e3e3; font-size:3rem; font-weight:300; line-height:1; }
.warranty-hero p { margin:0; color:#e3e3e3; }
.warranty-policy { margin:5rem 8.75rem; color:#595858; font-size:1rem; line-height:2.5; }
.warranty-policy__title { margin-bottom:1.25rem; color:#444; font-size:2rem; font-weight:600; line-height:1.25; text-align:center; }
.warranty-policy__section h2 { margin:1.875rem 0 .3125rem; color:#444; font-size:1.5rem; font-weight:600; line-height:1.667; }
.warranty-policy__section h3 { margin:0; color:#595858; font-size:1rem; font-weight:400; line-height:2.5; }
.warranty-policy__copy > :first-child { margin-top:0; }
.warranty-policy__copy > :last-child { margin-bottom:0; }
.warranty-policy__copy p { margin:0; }
.warranty-policy__terms { margin:0; padding:1.875rem; list-style:none; background:#efefef; counter-reset:warranty-term; }
.warranty-policy__terms li { margin:0 0 1.5em; line-height:1.5; counter-increment:warranty-term; }
.warranty-policy__terms li:last-child { margin-bottom:0; }
.warranty-policy__terms li::before { content:counter(warranty-term) ". "; }
.warranty-policy__image { margin:0; display:flex; align-items:center; justify-content:center; }
.warranty-policy__image img { width:100%; max-width:80vw; height:auto; }
.warranty-table { width:100%; margin-top:1.25rem; overflow:auto; }
.warranty-table table { width:100%; border-collapse:collapse; table-layout:fixed; color:#b3b3b3; font-size:.875rem; font-weight:400; line-height:1.4; }
.warranty-table th { padding:.75rem; color:#606266; background:#ececec; border:1px solid #ebeef5; font-weight:500; text-align:center; }
.warranty-table td { height:2.375rem; padding:.5rem .75rem; background:#fafafa; border:1px solid #ebeef5; text-align:center; vertical-align:middle; }
.warranty-table col:nth-child(1) { width:16%; }
.warranty-table col:nth-child(2) { width:21%; }
.warranty-table col:nth-child(3) { width:35%; }
.warranty-table col:nth-child(4) { width:28%; }
.warranty-table tbody tr:hover td { color:#e3540b; background:#f2f2f2; }
.warranty-policy__table-section { margin-top:9.1875rem; }
.warranty-table tbody tr { height:3.16rem; }
.warranty-table__note { margin:.75rem 0 0; color:#666; font-size:.8125rem; text-align:center; }

@media(max-width:1024px) {
  .distribution-banner__copy,
  .warranty-hero__copy { left:11.25rem; }
  .distribution-categories { gap:.9375rem; }
  .distribution-categories a { min-width:9.375rem; padding:.9375rem; }
  .distribution-categories img { width:3.125rem; height:3.125rem; }
  .distribution-categories span { font-size:.75rem; }
}

@media(min-width:1600px) {
  .warranty-policy__table-section { margin-top:10.75rem; }
  .warranty-table tbody tr { height:3.09rem; }
}

@media(min-width:769px) and (max-width:1100px) {
  .warranty-table tbody tr { height:3.377rem; }
}

@media(max-width:767px) {
  .distribution-page,
  .warranty-page { margin-top:-40px; }
  .distribution-banner,
  .warranty-hero { height:54.4vw; }
  .distribution-page { padding-top:3.75rem; }
  .distribution-banner__copy,
  .warranty-hero__copy { top:auto; bottom:0; left:4rem; transform:none; }
  .distribution-banner h1,
  .warranty-hero h1 { margin-bottom:.5rem; font-size:1.875rem; font-weight:500; }
  .distribution-main { padding:0; }
  .distribution-intro { width:auto; max-width:none; margin:0; padding:1.875rem 1.25rem 2.8125rem; }
  .distribution-intro h2 { margin:0 0 .625rem; font-size:1.25rem; font-weight:700; }
  .distribution-intro p { font-size:.8125rem; line-height:1.5; }
  .distribution-intro__icon { top:1.5rem; right:1.5625rem; width:2.125rem; height:2.125rem; }
  .distribution-categories { width:calc(90vw + 2.5rem); max-width:none; margin:0 0 2.5rem; padding:1.25rem; display:grid; grid-template-columns:repeat(3,1fr); gap:.9375rem; background:#fff; border-radius:.5rem; }
  .distribution-categories a { min-width:auto; padding:.9375rem .625rem; border-radius:.375rem; }
  .distribution-categories a:hover { box-shadow:none; transform:none; }
  .distribution-categories a.is-active { box-shadow:none; }
  .distribution-categories img { width:20vw; height:20vw; margin:.625rem 0; }
  .distribution-categories span { font-size:.625rem; font-weight:600; line-height:1.2; text-transform:uppercase; }
  .distribution-regions { width:calc(90vw + 2.5rem); height:26.4375rem; min-height:0; max-width:none; margin:0 0 2.5rem; padding:1.25rem; border-radius:.5rem; }
  .is-overseas-site .distribution-regions { height:auto; min-height:12.5rem; }
  .distribution-region-filter { width:90vw; margin-bottom:1.25rem; gap:.9375rem; }
  .distribution-region-filter span { min-width:0; flex:1; }
  .distribution-regions section { align-items:flex-start; flex-direction:column; }
  .distribution-regions h3 { width:100%; margin-bottom:.75rem; color:#000; font-size:.875rem; font-weight:700; text-align:left; }
  .distribution-regions section > div { width:100%; gap:.9375rem; }
  .distribution-regions section a { min-width:6.25rem; padding:.9375rem 1.25rem; flex:0 0 auto; border:1px solid #e0e0e0; border-radius:.375rem; box-shadow:none; }
  .is-overseas-site .distribution-regions section a { width:auto; height:auto; flex-basis:auto; }
  .distribution-regions section img { width:5rem; height:3.125rem; max-height:2.5rem; }
  .is-overseas-site .distribution-regions section img { width:5rem; max-width:5rem; height:3.125rem; max-height:2.5rem; }
  .distribution-regions section:not(:last-child)::after { right:0; left:0; }

  .warranty-policy { margin:1.875rem; font-size:1rem; line-height:2; }
  .warranty-hero__copy { display:none; }
  .warranty-policy__title { font-size:1.2rem; }
  .warranty-policy__section h2 { font-size:1rem; line-height:2; }
  .warranty-policy__section h3 { line-height:2; }
  .warranty-policy__terms { padding:1.875rem; }
  .warranty-table { overflow:visible; }
  .warranty-table table { font-size:.5rem; line-height:1.35; table-layout:fixed; }
  .warranty-policy__table-section { margin-top:9.8125rem; }
  .warranty-table tbody tr { height:5.522rem; }
  .warranty-table th,
  .warranty-table td { height:1.25rem; padding:.35rem .625rem; overflow-wrap:anywhere; }
  .warranty-table col:nth-child(1) { width:17%; }
  .warranty-table col:nth-child(2) { width:22%; }
  .warranty-table col:nth-child(3) { width:34%; }
  .warranty-table col:nth-child(4) { width:27%; }
}

@media(min-width:767.01px) and (max-width:768px) {
  .distribution-page { margin-top:2.5rem; padding-top:3.75rem; }
  .distribution-banner { height:54.4vw; }
  .distribution-banner__copy { top:auto; bottom:0; left:4rem; transform:none; }
  .distribution-banner h1 { margin-bottom:.5rem; font-size:1.875rem; font-weight:500; }
  .distribution-main { padding:0; }
  .distribution-intro { width:auto; max-width:none; margin:0; padding:1.875rem 1.25rem 2.8125rem; }
  .distribution-intro h2 { margin:0 0 .625rem; font-size:1.25rem; font-weight:700; }
  .distribution-intro p { font-size:.8125rem; line-height:1.5; }
  .distribution-intro__icon { top:1.5rem; right:1.5625rem; width:2.125rem; height:2.125rem; }
  .distribution-categories { width:calc(90vw + 2.5rem); max-width:none; margin:0 0 2.5rem; padding:1.25rem; display:grid; grid-template-columns:repeat(3,1fr); gap:.9375rem; background:#fff; border-radius:.5rem; }
  .distribution-categories a { min-width:auto; padding:.9375rem .625rem; border-radius:.375rem; }
  .distribution-categories a:hover { box-shadow:none; transform:none; }
  .distribution-categories a.is-active { box-shadow:none; }
  .distribution-categories img { width:20vw; height:20vw; margin:.625rem 0; }
  .distribution-categories span { font-size:.625rem; font-weight:600; line-height:1.2; text-transform:uppercase; }
  .distribution-regions { width:calc(90vw + 2.5rem); height:21rem; min-height:0; max-width:none; margin:0 0 2.5rem; padding:1.25rem; border-radius:.5rem; }
  .is-overseas-site .distribution-regions { height:auto; min-height:12.5rem; }
  .distribution-regions section { align-items:flex-start; flex-direction:column; }
  .distribution-regions h3 { width:100%; margin-bottom:.75rem; color:#000; font-size:.875rem; font-weight:700; text-align:left; }
  .distribution-regions section > div { width:100%; gap:.9375rem; }
  .distribution-regions section a { min-width:6.25rem; padding:.9375rem 1.25rem; flex:0 0 auto; border:1px solid #e0e0e0; border-radius:.375rem; box-shadow:none; }
  .is-overseas-site .distribution-regions section a { width:auto; height:auto; flex-basis:auto; }
  .distribution-regions section img { width:5rem; height:3.125rem; max-height:2.5rem; }
  .is-overseas-site .distribution-regions section img { width:5rem; max-width:5rem; height:3.125rem; max-height:2.5rem; }
  .distribution-regions section:not(:last-child)::after { right:0; left:0; }
  .warranty-page { margin-top:2.5rem; }
  .warranty-table tbody tr { height:4.035rem; }
}

@media(max-width:520px) {
  .warranty-hero__copy { left:1.25rem; }
}

@media (width:768px) {
  body.content--about #main-content { padding-top: 2.5rem; }
}

@media(max-width:478px) {
  .distribution-banner h1,
  .warranty-hero h1 { font-size:1.5rem; }
}

/* The source About page is hydrated from its public APIs; keep the first
   innovation frame visible when the original Vue/Swiper runtime is absent. */
.is-overseas-site .cms-replica-sections { line-height: 1; }
/* The source application uses content-box unless a component opts in to
   border-box. Restore that inheritance inside mirrored sections without
   overriding source rules that explicitly choose a sizing model. */
:where(.is-overseas-site .cms-replica-sections, .is-overseas-site .cms-replica-sections *) {
  box-sizing: content-box;
}
.cms-replica-sections .about { font-size:16px; line-height:16px; }
.cms-replica-sections .about .section .headline h2,
.cms-replica-sections .about .section1 .headline h2,
.cms-replica-sections .about .section2 .headline h2,
.cms-replica-sections .about .section3 .headline h2 { line-height:1; }
.cms-replica-sections .about .section1 .new-swiper2 { position:relative; overflow:hidden; }
.cms-replica-sections .about .section1 .swiper-wrapper { position:relative; display:flex; transition:transform .45s ease; }
.cms-replica-sections .about .section1 .swiper-slide { position:relative; min-width:100%; }
.cms-replica-sections .about .section1 .swiper-slide img { width:100%; display:block; }
.cms-replica-sections .about .section1 .name span { display:none; }
.cms-replica-sections .about .section1 .prev,
.cms-replica-sections .about .section1 .next { position:absolute; z-index:10; margin-top:-1.375rem; cursor:pointer; }
.cms-replica-sections .about .section1 .prev::after { content:"‹"; }
.cms-replica-sections .about .section1 .next::after { content:"›"; }

/*
 * These brand-page sections are imported from the public Vue application. Its
 * stylesheet hides every deferred image until Vue adds a `loaded` class. The
 * imported markup already contains a real `src`, but the source lazy-loader is
 * intentionally not shipped here, so reveal those successfully requested
 * images directly. Keep this override scoped to the affected page layouts.
 */
.cms-page--production .cms-replica-sections .lazy-image,
.cms-page--company .cms-replica-sections .lazy-image {
  opacity: 1;
  animation: none;
  background: none;
}

/* About: each selector is scoped to the About layout so reusable blocks keep
   their normal presentation everywhere else. */
.cms-page--about { overflow: hidden; color: #707070; background: #fff; }
.cms-page--about > .cms-hero { width: 100%; height: auto; min-height: 0; }
.cms-page--about > .cms-hero picture,
.cms-page--about > .cms-hero picture img { width: 100%; height: auto; display: block; object-fit: contain; }
.cms-page--about > .cms-hero .cms-hero__shade { display: none; }
.cms-page--about > .cms-hero .cms-hero__copy { top: 50%; left: 20vw; right: auto; max-width: none; text-align: left; transform: translateY(-50%); }
.cms-page--about > .cms-hero h1 { color: #f5f5f5; font-size: 3rem; font-weight: 500; line-height: 1.2; }
.about-section,
.cms-page--about > .cms-timeline { width: 80vw; margin-inline: auto; }
.about-section h2,
.cms-page--about > .cms-timeline > h2 { margin: 0; color: #4d4d4d; font-size: 1.875rem; font-weight: 400; line-height: 1; }
.about-intro { padding-top: 5.25rem; }
.about-intro h2 { margin-bottom: 1.875rem; }
.about-intro__copy { margin-bottom: 2.875rem; }
.about-intro__copy p { margin: 0; color: #707070; font-size: 1rem; font-weight: 300; line-height: 2.5rem; }
.about-intro picture,
.about-intro img { width: 100%; display: block; }
.about-intro { padding-bottom: 4.5rem; }
.about-innovation { padding-top: 2vw; padding-bottom: 7.375rem; }
.about-innovation h2 { margin-bottom: 1.875rem; }
.about-innovation__viewport { width: 100%; overflow: hidden; }
.about-innovation__track { display: flex; transition: transform .45s ease; }
.about-innovation figure { min-width: 100%; margin: 0; }
.about-innovation picture,
.about-innovation img { width: 100%; display: block; }
.about-innovation__controls { position: relative; height: 0; margin-top: 2.1875rem; display: block; }
.about-innovation__controls p { display: none; }
.about-innovation__controls > div { display: contents; }
.about-innovation__controls button { position: absolute; z-index: 10; top: -1.5625rem; width: 2.5rem; height: 2.5rem; padding: 0; color: #ccc; background: transparent; border: 1px solid #ccc; border-radius: .125rem; cursor: pointer; font-size: 1.25rem; line-height: 2.5rem; transition: color .2s ease, border-color .2s ease; }
.about-innovation__controls button:first-child { right: 34%; }
.about-innovation__controls button:last-child { right: 30%; }
.about-innovation__controls button::after { width: .4em; height: .4em; display: inline-block; border-top: 1px solid currentColor; border-right: 1px solid currentColor; content: ""; }
.about-innovation__controls button:first-child::after { transform: rotate(-135deg); }
.about-innovation__controls button:last-child::after { transform: rotate(45deg); }
.about-innovation__controls button:hover { color: #e15516; border-color: #e15516; }
.about-patent { padding-bottom: 0; }
.about-patent h2 { margin-bottom: 2vw; }
.about-patent__layout { min-height: 42.0375rem; display: flex; gap: 5rem; }
.about-patent__layout > picture { width: 33%; max-width: 31.25rem; flex: 0 0 33%; }
.about-patent__layout > picture img { width: 100%; display: block; }
.about-patent__content { min-width: 0; flex: 1; }
.about-patent__copy { margin-bottom: 6vw; }
.about-patent__copy::after { width: 100%; height: 1px; margin-top: 4vw; display: block; content: ""; background: linear-gradient(90deg,#666 56.39%,rgb(102 102 102 / 0%)); }
.about-patent__copy p { margin: 0; color: #666; font-size: 1.25rem; font-weight: 400; line-height: 3.125rem; }
.about-patent__stats { margin-bottom: 2vw; display: grid; grid-template-columns: max-content max-content; column-gap: 9.375rem; row-gap: 2vw; }
.about-patent__stats > div { min-width: 0; }
.about-patent__stats p { margin: 0 0 1.25rem; color: #666; white-space: nowrap; }
.about-patent__stats strong { font-size: 4.375rem; font-weight: 400; line-height: 2.5rem; }
.about-patent__stats span { margin-left: .4rem; color: gray; font-size: 2.1875rem; font-weight: 400; }
.about-patent__stats small { color: gray; font-size: 1.25rem; font-weight: 400; line-height: 1; }
.cms-page--about > .cms-timeline { padding: 2vw 0 3vw; }
.cms-page--about > .cms-timeline > h2 { margin-bottom: 3.75rem; }
.cms-page--about > .cms-timeline ol { padding-left: 2.5rem; }
.cms-page--about > .cms-timeline ol::before { top: .25rem; bottom: 2rem; left: 0; background: #cfcfcf; }
.cms-page--about > .cms-timeline li { height: 5.875rem; min-height: 0; padding: 0 1.25rem 1.25rem 11.75rem; box-sizing: border-box; border-radius: .3125rem; }
.cms-page--about > .cms-timeline li:hover { background: rgb(214 214 214 / 20%); }
.cms-page--about > .cms-timeline li::before { top: .25rem; left: calc(-2.5rem - 4px); background: #e15516; }
.cms-page--about > .cms-timeline time { top: 0; left: 0; width: 11.25rem; color: #4d4d4d; font-size: 1.25rem; font-weight: 500; }
.cms-page--about > .cms-timeline h3 { margin: 0 0 .75rem; color: #676767; font-size: 1.25rem; font-weight: 400; line-height: 1; }
.cms-page--about > .cms-timeline p { margin: 0; color: #676767; font-size: .875rem; font-weight: 300; line-height: .875rem; }

@media(min-width:1601px) {
  .about-patent__stats { padding-bottom: .3379rem; }
}

@media(max-width:1024px) {
  .cms-page--about > .cms-hero .cms-hero__copy { transform: none; }
  .cms-page--about > .cms-hero h1 { margin-bottom: .625rem; font-size: 1.25rem; line-height: 1; }
  .about-patent { padding-bottom: .75rem; }
  .about-patent__layout { gap: 3rem; }
  .about-patent__layout { min-height: 0; }
  .about-patent__copy { margin-bottom: 1.25rem; }
  .about-patent__copy::after { margin-top: 1.25rem; }
  .about-patent__copy p { font-size: 1.125rem; line-height: 1.875rem; }
  .about-patent__stats { margin-bottom: .9375rem; column-gap: 6.25rem; row-gap: .9375rem; }
  .about-patent__stats p { margin-bottom: .625rem; }
  .about-patent__stats strong { font-size: 1.875rem; line-height: 1; }
  .about-patent__stats span { font-size: 1rem; }
  .about-patent__stats small { font-size: .875rem; }
  .about-innovation__controls button:first-child { right: 35%; }
}

@media(max-width:767px) {
  .cms-page--about > .cms-hero { height: auto; min-height: 0; }
  .cms-page--about > .cms-hero .cms-hero__copy { top: auto; right: auto; bottom: 2.5rem; left: 4rem; transform: none; }
  .cms-page--about > .cms-hero h1 { font-size: 2rem; }
  .about-section,
  .cms-page--about > .cms-timeline { width: calc(100% - 2.5rem); }
  .about-section h2,
  .cms-page--about > .cms-timeline > h2 { font-size: 1.5rem; }
  .about-intro { padding-top: 2.5rem; padding-bottom: 2.75rem; }
  .about-intro h2 { margin-bottom: 1.25rem; }
  .about-intro__copy { margin-bottom: 1.75rem; }
  .about-intro__copy p { font-size: .875rem; line-height: 1.75rem; }
  .about-innovation { padding-top: 1rem; padding-bottom: 3.75rem; }
  .about-innovation h2 { margin-bottom: 1.25rem; }
  .about-innovation__controls { margin-top: 1rem; }
  .about-innovation__controls p { font-size: 1rem; }
  .about-innovation__controls button { top: -1.125rem; }
  .about-innovation__controls button:first-child { right: 38%; }
  .about-patent { padding-top: 1rem; padding-bottom: 3.75rem; }
  .about-patent h2 { margin-bottom: 1.25rem; }
  .about-patent__layout { display: block; }
  .about-patent__layout > picture { width: 100%; max-width: none; display: block; }
  .about-patent__content { padding-top: 1.5rem; }
  .about-patent__copy { margin-bottom: 2rem; }
  .about-patent__copy p { font-size: .875rem; line-height: 1.75rem; }
  .about-patent__stats { padding-top: 1.75rem; gap: 0; justify-content: space-between; }
  .about-patent__stats strong { font-size: 2.25rem; line-height: 1; }
  .about-patent__stats span { font-size: 1rem; }
  .about-patent__stats small { max-width: 6rem; display: block; font-size: .75rem; }
  .cms-page--about > .cms-timeline { padding: 1rem 0 4rem; }
  .cms-page--about > .cms-timeline > h2 { margin-bottom: 2rem; }
  .cms-page--about > .cms-timeline ol::before { left: .5rem; }
  .cms-page--about > .cms-timeline li { padding: 0 0 2rem 2rem; }
  .cms-page--about > .cms-timeline li::before { left: calc(.5rem - 4px); }
  .cms-page--about > .cms-timeline time { position: static; margin-bottom: .35rem; font-size: 1rem; }
  .cms-page--about > .cms-timeline h3 { font-size: 1rem; }
  .cms-page--about > .cms-timeline p { font-size: .875rem; line-height: 1.6; }
}

@media(max-width:520px) {
  .cms-page--about > .cms-hero .cms-hero__copy { bottom: 1.5rem; left: 1.25rem; }
}

@media(max-width:767px) {
  .cms-page--about > .cms-hero .cms-hero__copy { top: auto; right: auto; bottom: 3.125rem; left: 4rem; text-align: left; transform: none; }
  .cms-page--about > .cms-hero h1 { font-size: 1.25rem; line-height: 1; }
  .about-section,
  .cms-page--about > .cms-timeline { width: 80vw; box-sizing: border-box; }
  .about-intro { padding: 0 4rem 0; }
  .about-intro h2 { margin-top: 2.5rem; margin-bottom: 1rem; font-size: 1rem; }
  .about-intro__copy { margin-bottom: 1rem; }
  .about-intro__copy p { font-size: .75rem; line-height: 1rem; }
  .about-intro img { margin-bottom: 2.5rem; }
  .about-innovation { padding: 2vw 4rem 3vw; }
  .about-innovation h2 { margin-bottom: 1.125rem; font-size: 1rem; }
  .about-innovation__controls { margin-top: 2.1875rem; }
  .about-patent { padding: 0 4rem; }
  .about-patent h2 { margin-bottom: 2vw; font-size: 1rem; line-height: 1; }
  .about-patent__layout { min-height: 0; gap: 2rem; }
  .about-patent__layout > picture { width: 30%; flex-basis: 30%; }
  .about-patent__copy { margin-bottom: 1.3125rem; }
  .about-patent__copy::after { margin-top: 1.25rem; }
  .about-patent__copy p { font-size: 1rem; font-weight: 300; line-height: 1.5rem; }
  .about-patent__stats { margin-bottom: 0; column-gap: 3.125rem; row-gap: 2.0625rem; }
  .about-patent__stats p { margin-bottom: .25rem; }
  .about-patent__stats strong { font-size: 1.875rem; line-height: 1; }
  .about-patent__stats span { font-size: 1.25rem; }
  .about-patent__stats small { max-width: none; font-size: .875rem; line-height: 1; }
  .cms-page--about > .cms-timeline { padding: 0 4rem; }
  .cms-page--about > .cms-timeline > h2 { margin-top: 4.875rem; margin-bottom: 1.5rem; font-size: 1rem; line-height: 1; }
  .cms-page--about > .cms-timeline ol { padding-left: 1.75rem; }
  .cms-page--about > .cms-timeline ol::before { top: 0; bottom: 0; left: 0; }
  .cms-page--about > .cms-timeline li { min-height: 6.875rem; height: auto; margin-bottom: .5rem; padding: 1rem .75rem; display: grid; grid-template-columns: 5.625rem minmax(0,1fr); align-content: start; background: rgb(214 214 214 / 20%); }
  .cms-page--about > .cms-timeline li::before { top: 1rem; left: calc(-1.75rem - 4px); }
  .cms-page--about > .cms-timeline time { position: static; width: auto; grid-column: 1; grid-row: 1 / span 2; font-size: 1rem; font-weight: 400; line-height: 1; }
  .cms-page--about > .cms-timeline h3 { grid-column: 2; margin-bottom: .75rem; font-size: .875rem; line-height: .875rem; }
  .cms-page--about > .cms-timeline p { grid-column: 2; color: #b3b3b3; font-size: .75rem; font-weight: 400; line-height: 1rem; }
}

@media(max-width:520px) {
  body.content--about #main-content { margin-top: -2.5rem; }
  .cms-page--about > .cms-hero .cms-hero__copy { bottom: 3.125rem; left: 4rem; }
  .about-intro { width: 80vw; padding: 0 1.25rem; display: flex; flex-direction: column; box-sizing: content-box; }
  .about-innovation,
  .about-patent,
  .cms-page--about > .cms-timeline { padding-right: 0; padding-left: 0; }
  .about-patent__layout { flex-direction: column; }
  .about-patent__layout > picture { width: 100%; max-width: none; flex-basis: auto; }
  .about-innovation__controls button { width: 1.70438rem; height: 1.625rem; font-size: .875rem; line-height: 1.625rem; }
  .about-patent__content { padding-top: 0; }
  .about-patent__content { margin-top: 2rem; }
  .about-patent__stats { padding-top: 0; padding-bottom: 1rem; }
  .cms-page--about > .cms-timeline { display: flex; flex-direction: column; }
  .cms-page--about > .cms-timeline ol { margin-bottom: 3vw; }
  .cms-page--about > .cms-timeline li { min-height: 0; margin-bottom: 1.75rem; }
}

@media(max-width:450px) {
  .about-innovation__controls button:first-child { right: 40%; }
}

@media(max-width:520px) {
  .cms-replica-sections .about .section { box-sizing:content-box; }
}
