.home-v2 {
  --v2-red: #c71920;
  --v2-black: #111;
  --v2-warm: #f2f0eb;
  --v2-line: #d4d4cf;
  background: #fff;
  color: var(--v2-black);
}

.home-v2 .home-v2-shell,
.home-v2 .home-v2-header .header-inner,
.home-v2-hero-inner,
.home-v2-value-line {
  width: min(calc(100% - 64px), 1320px);
  margin-inline: auto;
}

.home-v2 .home-v2-header {
  position: absolute;
  inset: 0 0 auto;
  border-bottom-color: rgba(255, 255, 255, 0.22);
  background: transparent;
  color: #fff;
  backdrop-filter: none;
}

.home-v2 .home-v2-header::after { display: none; }
.home-v2 .home-v2-header .header-inner { min-height: 94px; }

.home-v2 .home-v2-header .brand {
  width: 112px;
  height: 58px;
  overflow: visible;
  background: transparent;
}

.home-v2 .home-v2-header .brand img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.home-v2-header-note {
  margin: 0;
  padding-left: 22px;
  border-left: 1px solid rgba(255, 255, 255, 0.38);
  color: rgba(255, 255, 255, 0.68);
  font-size: 9px;
  font-weight: 750;
  line-height: 1.45;
}

.home-v2 .home-v2-header .site-nav { gap: 27px; }
.home-v2 .home-v2-header .site-nav a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  font-size: 13px;
  line-height: 1.15;
}
.home-v2 .home-v2-header .site-nav a small {
  color: rgba(255,255,255,.52);
  font-size: 7px;
  font-weight: 750;
}
.home-v2 .home-v2-header .site-nav .button { flex-direction: row; }
.home-v2 .home-v2-header .site-nav a:not(.button)::after { background: #fff; }

.home-v2 .home-v2-header .site-nav .home-v2-language {
  min-width: 42px;
  min-height: 30px;
  flex-direction: row;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.5);
  font-size: 10px;
  letter-spacing: .08em;
}

.home-v2 .home-v2-header .site-nav .home-v2-language::after { display: none; }

.home-v2 .home-v2-header .button {
  min-height: 40px;
  padding: 8px 17px;
  border-color: #fff;
  border-radius: 0;
  background: #fff;
  color: var(--v2-black);
}

.home-v2-hero {
  position: relative;
  min-height: min(900px, 100svh);
  overflow: hidden;
  background: #161616;
  color: #fff;
}

.home-v2-hero-image,
.home-v2-hero-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.home-v2-hero-image {
  display: block;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
  animation: v2-image-in 1.4s cubic-bezier(.2,.75,.2,1) both;
}

.home-v2-hero-shade {
  background:
    linear-gradient(90deg, rgba(8,8,8,.8), rgba(8,8,8,.4) 43%, rgba(8,8,8,.06) 76%),
    linear-gradient(180deg, rgba(8,8,8,.45), transparent 30%, rgba(8,8,8,.54));
}

.home-v2-hero-inner {
  position: relative;
  z-index: 2;
  min-height: min(900px, 100svh);
  padding: 128px 0 42px;
  display: grid;
  grid-template-rows: auto 1fr auto;
}

.home-v2-hero-top {
  display: flex;
  justify-content: space-between;
  color: rgba(255,255,255,.58);
  font-size: 10px;
  font-weight: 750;
}

.home-v2-hero-top p { margin: 0; }

.home-v2-hero-copy {
  align-self: center;
  max-width: 810px;
  padding: 44px 0;
}

.home-v4-hero-dynamic {
  position: relative;
  width: fit-content;
  height: 20px;
  margin: 0 0 13px;
  padding-left: 15px;
  overflow: hidden;
  color: rgba(255,255,255,.78);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 20px;
  text-transform: uppercase;
}

.home-v4-hero-dynamic::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  width: 5px;
  height: 5px;
  background: var(--v2-red);
  box-shadow: 0 0 0 4px rgba(199,25,32,.16);
}

.home-v4-hero-dynamic span {
  display: block;
  white-space: nowrap;
  animation: v4-hero-dynamic-text 6s cubic-bezier(.76,0,.24,1) infinite;
}

.home-v2-kicker,
.home-v2-overline {
  margin: 0 0 18px;
  color: var(--v2-red);
  font-size: 12px;
  font-weight: 800;
}

.home-v2-kicker::before,
.home-v2-overline::before {
  content: "";
  width: 34px;
  height: 1px;
  display: inline-block;
  margin-right: 12px;
  vertical-align: middle;
  background: currentColor;
}

.home-v2-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(58px, 7.2vw, 112px);
  font-weight: 760;
  line-height: 1.02;
}

.home-v2-hero h1 em {
  color: transparent;
  font-style: normal;
  -webkit-text-stroke: 1.5px rgba(255,255,255,.88);
}

.home-v2-hero h1 > small {
  display: block;
  margin-top: 20px;
  color: rgba(255,255,255,.52);
  font-size: clamp(11px,1.1vw,15px);
  font-weight: 700;
}

.home-v2-lead {
  max-width: 650px;
  margin: 28px 0 0;
  color: rgba(255,255,255,.76);
  font-size: 17px;
  line-height: 1.8;
}

.home-v2-hero-actions {
  display: flex;
  gap: 12px;
  margin-top: 34px;
}

.home-v2-primary,
.home-v2-ghost {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 46px;
  padding: 0 22px;
  border: 1px solid #fff;
  font-size: 13px;
  font-weight: 750;
  transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.home-v2-primary { border-color: var(--v2-red); background: var(--v2-red); }
.home-v2-ghost { background: rgba(0,0,0,.14); backdrop-filter: blur(8px); }

.home-v2-primary:hover,
.home-v2-ghost:hover {
  background: #fff;
  color: var(--v2-black);
  transform: translateY(-2px);
}

.home-v2-hero-index {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  border-top: 1px solid rgba(255,255,255,.3);
}

.home-v2-hero-index > div {
  display: grid;
  grid-template-columns: 36px minmax(0,1fr);
  padding: 22px 28px 0 0;
  border-right: 1px solid rgba(255,255,255,.22);
}

.home-v2-hero-index > div + div { padding-left: 28px; }
.home-v2-hero-index > div:last-child { border-right: 0; }
.home-v2-hero-index span { grid-row: 1 / 3; color: var(--v2-red); font-size: 11px; font-weight: 850; }
.home-v2-hero-index strong { font-size: 17px; }
.home-v2-hero-index small { margin-top: 2px; color: rgba(255,255,255,.58); font-size: 11px; }

.home-v2 h2 {
  margin: 0;
  font-size: clamp(42px, 5.3vw, 78px);
  font-weight: 720;
  line-height: 1.08;
}

.home-v2-heading-en {
  max-width: 680px;
  display: block;
  margin-top: 18px;
  color: #92928e;
  font-size: clamp(10px,1vw,13px);
  font-weight: 750;
  line-height: 1.3;
}

.home-v2-section-head-inverse .home-v2-heading-en,
.home-v2-factory .home-v2-heading-en {
  color: rgba(255,255,255,.42);
}

.home-v2-statement { padding: 140px 0 0; }

.home-v2-statement-grid {
  display: grid;
  grid-template-columns: 110px minmax(0,1.2fr) minmax(300px,.62fr);
  gap: 50px;
  align-items: start;
}

.home-v2-section-index {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding-top: 7px;
}

.home-v2-section-index span { color: var(--v2-red); font-size: 12px; font-weight: 850; }
.home-v2-section-index small { color: #888; font-size: 9px; font-weight: 760; writing-mode: vertical-rl; }
.home-v2-statement-copy { padding-top: 43px; }
.home-v2-statement-copy p { margin: 0 0 20px; color: #555; }

.home-v2-text-link {
  width: max-content;
  display: inline-flex;
  gap: 50px;
  margin-top: 18px;
  padding-bottom: 8px;
  border-bottom: 1px solid currentColor;
  color: var(--v2-black);
  font-size: 13px;
  font-weight: 780;
}

.home-v2-value-line {
  min-height: 104px;
  margin-top: 118px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  border-top: 1px solid var(--v2-line);
  border-bottom: 1px solid var(--v2-line);
  font-size: 13px;
  font-weight: 780;
}

.home-v2-value-line i {
  width: 5px;
  height: 5px;
  flex: 0 0 auto;
  background: var(--v2-red);
  transform: rotate(45deg);
}

.home-v2-products,
.home-v2-research,
.home-v2-insights { padding: 140px 0; }

.home-v2-section-head {
  display: grid;
  grid-template-columns: 110px minmax(0,1fr) minmax(300px,.5fr);
  gap: 50px;
  align-items: end;
  margin-bottom: 62px;
}

.home-v2-section-head > p { margin: 0 0 4px; color: #666; }

.home-v2-product-stage {
  min-height: 760px;
  display: grid;
  grid-template-columns: minmax(300px,.62fr) minmax(0,1.38fr);
  overflow: hidden;
  background: #e8edf0;
}

.home-v2-product-claim {
  position: relative;
  z-index: 3;
  padding: clamp(42px,5.5vw,82px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--v2-red);
  color: #fff;
}

.home-v2-claim-label {
  margin-bottom: 42px;
  font-size: 9px;
  font-weight: 850;
}

.home-v2-product-claim > strong {
  display: block;
  font-size: clamp(48px,6vw,86px);
  font-weight: 730;
  line-height: .98;
}

.home-v2-product-claim > strong b {
  color: transparent;
  font-size: .72em;
  font-weight: 800;
  -webkit-text-stroke: 1px #fff;
}

.home-v2-product-claim p {
  max-width: 430px;
  margin: 34px 0 0;
  color: rgba(255,255,255,.76);
}

.home-v2-product-claim .home-v2-text-link {
  margin-top: 42px;
  color: #fff;
}

.home-v2-package-showcase {
  position: relative;
  min-height: 760px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(255,255,255,.75), transparent 40%),
    #dfe7eb;
}

.home-v2-package-showcase::before {
  content: "PRODUCT";
  position: absolute;
  top: 9%;
  right: -3%;
  color: rgba(17,17,17,.055);
  font-size: clamp(100px,14vw,230px);
  font-weight: 900;
  line-height: 1;
}

.home-v2-package {
  position: absolute;
  overflow: hidden;
  box-shadow: 0 30px 70px rgba(24,37,43,.16);
  transition: transform 500ms cubic-bezier(.2,.75,.2,1), box-shadow 500ms ease;
}

.home-v2-package:hover {
  z-index: 5;
  box-shadow: 0 40px 90px rgba(24,37,43,.25);
}

.home-v2-package img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-v2-package > span {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 50px 20px 18px;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.7));
  color: #fff;
}

.home-v2-package small,
.home-v2-package strong { display: block; }
.home-v2-package small { margin-bottom: 3px; color: rgba(255,255,255,.62); font-size: 9px; }
.home-v2-package strong { font-size: 17px; }

.home-v2-package-cat {
  top: 7%;
  left: 7%;
  width: 54%;
  height: 62%;
  transform: rotate(-3deg);
}

.home-v2-package-cat:hover { transform: rotate(-1deg) translateY(-8px); }

.home-v2-package-dog {
  top: 19%;
  right: 4%;
  width: 48%;
  height: 56%;
  transform: rotate(3deg);
}

.home-v2-package-dog:hover { transform: rotate(1deg) translateY(-8px); }

.home-v2-package-pouch {
  right: 25%;
  bottom: 3%;
  z-index: 2;
  width: 35%;
  height: 42%;
  transform: rotate(-1deg);
}

.home-v2-package-pouch:hover { transform: rotate(1deg) translateY(-8px); }

.home-v2-package-caption {
  position: absolute;
  right: 4%;
  bottom: 5%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  color: #111;
}

.home-v2-package-caption span { color: var(--v2-red); font-size: 9px; font-weight: 850; }
.home-v2-package-caption strong { margin-top: 4px; font-size: 22px; }
.home-v2-package-caption small { color: #667078; font-size: 10px; }

.home-v2-factory {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(440px,.8fr);
  background: var(--v2-black);
  color: #fff;
}

.home-v2-factory-media { position: relative; min-height: 860px; }
.home-v2-factory-slides,
.home-v2-factory-slide {
  position: absolute;
  inset: 0;
}

.home-v2-factory-slide {
  margin: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: opacity 800ms ease, visibility 800ms ease;
}

.home-v2-factory-slide.is-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
}

.home-v2-factory-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.035);
  transition: transform 6s cubic-bezier(.2,.7,.2,1);
}

.home-v2-factory-slide.is-active img { transform: scale(1); }
.home-v2-factory-slide:nth-child(2) img { object-position: 48% center; }
.home-v2-factory-slide:nth-child(3) img { object-position: 52% center; }
.home-v2-factory-slide:nth-child(4) img { object-position: 58% center; }

.home-v2-factory-slide figcaption {
  position: absolute;
  right: 24px;
  bottom: 76px;
  z-index: 2;
  min-width: 170px;
  padding: 13px 15px;
  background: rgba(255,255,255,.94);
  color: #111;
}

.home-v2-factory-slide figcaption span,
.home-v2-factory-slide figcaption strong { display: block; }
.home-v2-factory-slide figcaption span { font-size: 9px; font-weight: 850; }
.home-v2-factory-slide figcaption strong { margin-top: 4px; font-size: 14px; }

.home-v2-factory-controls {
  position: absolute;
  right: 24px;
  bottom: 24px;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 12px;
}

.home-v2-factory-controls > button {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 0;
  background: rgba(8,10,10,.72);
  color: #fff;
  cursor: pointer;
}

.home-v2-factory-dots {
  display: flex;
  align-items: center;
  gap: 6px;
}

.home-v2-factory-dots button {
  width: 22px;
  height: 3px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: rgba(255,255,255,.42);
  cursor: pointer;
  transition: width 280ms ease, background 280ms ease;
}

.home-v2-factory-dots button.is-active {
  width: 38px;
  background: var(--v2-red);
}
.home-v2-factory-panel { align-self: center; padding: 80px clamp(40px,5.5vw,94px); }
.home-v2-section-index-light small { color: rgba(255,255,255,.45); }
.home-v2-factory-panel h2 { margin-bottom: 28px; }
.home-v2-factory-panel > p:not(.home-v2-overline) { color: rgba(255,255,255,.64); }

.home-v2-zero {
  display: inline-block;
  margin-right: 6px;
  color: transparent;
  font-size: 1.25em;
  -webkit-text-stroke: 2px var(--v2-red);
}

.home-v2-factory-claims {
  margin-top: 42px;
  border-top: 1px solid rgba(255,255,255,.2);
}

.home-v2-factory-claims > div {
  min-height: 82px;
  display: grid;
  grid-template-columns: 60px minmax(0,1fr);
  align-content: center;
  border-bottom: 1px solid rgba(255,255,255,.16);
}

.home-v2-factory-claims span {
  grid-row: 1 / 3;
  color: var(--v2-red);
  font-size: 9px;
  font-weight: 850;
}

.home-v2-factory-claims strong { font-size: 17px; }
.home-v2-factory-claims small { color: rgba(255,255,255,.38); font-size: 8px; font-weight: 700; }

.home-v2-factory-facts {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin: 28px 0 20px;
  border-left: 1px solid rgba(255,255,255,.18);
}

.home-v2-factory-facts > div { min-height: 102px; padding: 19px; border-top: 1px solid rgba(255,255,255,.18); border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.home-v2-factory-facts strong, .home-v2-factory-facts span { display: block; }
.home-v2-factory-facts strong { font-size: 25px; font-weight: 650; }
.home-v2-factory-facts sup { margin-left: 3px; color: var(--v2-red); font-size: 10px; }
.home-v2-factory-facts span { margin-top: 6px; color: rgba(255,255,255,.48); font-size: 9px; }
.home-v2 .home-v2-factory-note { margin: 0 0 24px; color: rgba(255,255,255,.34) !important; font-size: 9px; }
.home-v2-text-link-light { color: #fff; }

.home-v2-video {
  padding: 140px 0;
  overflow: hidden;
  background: #fff;
}

.home-v2-video-head {
  display: grid;
  grid-template-columns: 110px minmax(0,1fr) minmax(300px,.5fr);
  gap: 50px;
  align-items: end;
  margin-bottom: 62px;
}

.home-v2-video-head > p {
  margin: 0 0 4px;
  color: #666;
}

.home-v2-video-frame {
  position: relative;
  overflow: hidden;
  background: #0b0b0b;
}

.home-v2-video-frame video {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.home-v2-video-stamp {
  position: absolute;
  top: 0;
  right: 0;
  width: 180px;
  min-height: 180px;
  padding: 22px;
  background: var(--v2-red);
  color: #fff;
  pointer-events: none;
}

.home-v2-video-stamp span,
.home-v2-video-stamp strong,
.home-v2-video-stamp small { display: block; }
.home-v2-video-stamp span { font-size: 9px; font-weight: 850; }
.home-v2-video-stamp strong { margin-top: 25px; font-size: 28px; line-height: .95; }
.home-v2-video-stamp small { margin-top: 22px; color: rgba(255,255,255,.6); font-size: 8px; }

.home-v2-video-notes {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  border-bottom: 1px solid var(--v2-line);
}

.home-v2-video-notes > div {
  min-height: 112px;
  display: grid;
  grid-template-columns: 38px 1fr;
  align-content: center;
  padding: 18px 28px;
  border-right: 1px solid var(--v2-line);
}

.home-v2-video-notes > div:first-child { padding-left: 0; }
.home-v2-video-notes > div:last-child { border-right: 0; }
.home-v2-video-notes span { grid-row: 1 / 3; color: var(--v2-red); font-size: 10px; font-weight: 850; }
.home-v2-video-notes strong { font-size: 17px; }
.home-v2-video-notes small { color: #777; font-size: 10px; }

.home-v2-research {
  overflow: hidden;
  background: var(--v2-warm);
}

.home-v3-research-stage {
  display: grid;
  grid-template-columns: minmax(290px,.62fr) minmax(0,1.38fr);
  border-top: 1px solid #bdbdb8;
  border-bottom: 1px solid #bdbdb8;
}

.home-v3-research-brief {
  padding: 52px 54px 48px 0;
  border-right: 1px solid #bdbdb8;
}

.home-v3-research-label {
  color: var(--v2-red);
  font-size: 9px;
  font-weight: 850;
}

.home-v3-research-partner {
  margin: 18px 0 54px;
  color: #676763;
  font-size: 12px;
  font-weight: 760;
}

.home-v3-research-brief h3 {
  margin: 0;
  font-size: clamp(32px,3.25vw,50px);
  font-weight: 720;
  line-height: 1.12;
}

.home-v3-research-brief > p:not(.home-v3-research-partner) {
  margin: 28px 0 0;
  color: #61615d;
  line-height: 1.8;
}

.home-v3-research-brief dl {
  margin: 44px 0 0;
  border-top: 1px solid #bdbdb8;
}

.home-v3-research-brief dl > div {
  display: grid;
  grid-template-columns: 112px 1fr;
  align-items: center;
  min-height: 62px;
  border-bottom: 1px solid #c9c9c4;
}

.home-v3-research-brief dt {
  color: var(--v2-red);
  font-size: 10px;
  font-weight: 850;
}

.home-v3-research-brief dd {
  margin: 0;
  color: #4f4f4b;
  font-size: 12px;
}

.home-v3-professors {
  display: grid;
  grid-template-columns: 1fr;
}

.home-v3-professor {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(220px,38%) minmax(0,1fr);
  grid-template-rows: 390px;
  align-items: stretch;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #bdbdb8;
  border-radius: 0;
  background: transparent;
  color: var(--v2-black);
  cursor: pointer;
  text-align: left;
}

.home-v3-professor:last-child { border-bottom: 0; }

.home-v3-professor-photo {
  position: relative;
  min-height: 0;
  display: block;
  overflow: hidden;
  background: #d9dedf;
}

.home-v3-professor-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.02),transparent 52%,rgba(0,0,0,.2)),
    linear-gradient(90deg,transparent 72%,rgba(0,0,0,.08));
}

.home-v3-professor-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  filter: saturate(.98) contrast(1.01);
  transition: transform 550ms cubic-bezier(.2,.75,.2,1), filter 550ms ease;
}

.home-v3-professor:hover .home-v3-professor-photo img {
  transform: scale(1.035);
  filter: saturate(1.08) contrast(1.02);
}

.home-v3-professor-photo > i {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 2;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  background: var(--v2-red);
  color: #fff;
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
}

.home-v3-professor-copy {
  display: flex;
  flex-direction: column;
  padding: 42px 40px 34px;
  background: rgba(255,255,255,.24);
  transition: background 300ms ease;
}

.home-v3-professor:hover .home-v3-professor-copy { background: rgba(255,255,255,.58); }

.home-v3-professor-copy small {
  color: var(--v2-red);
  font-size: 10px;
  font-weight: 850;
}

.home-v3-professor-copy strong {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px;
  margin: 20px 0 12px;
  font-size: clamp(34px,3.2vw,48px);
  line-height: 1;
}

.home-v3-professor-copy strong em {
  color: #8a8a85;
  font-size: 10px;
  font-style: normal;
  font-weight: 760;
}

.home-v3-professor-copy > span {
  color: #555551;
  font-size: 14px;
  line-height: 1.65;
}

.home-v3-professor-copy b {
  margin-top: 28px;
  color: #777772;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.7;
}

.home-v3-professor-copy p {
  max-width: 46ch;
  margin: 16px 0 0;
  color: #777772;
  font-size: 11px;
  line-height: 1.75;
}

.home-v3-professor-copy u {
  display: flex;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid #c9c9c4;
  color: var(--v2-black);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.home-v3-professor-copy u i { color: var(--v2-red); font-style: normal; }
.home-en .home-v3-professor-copy strong { font-size: clamp(29px,2.6vw,40px); }

.home-v3-research-proof {
  min-height: 310px;
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(360px,.75fr);
  margin-top: 18px;
  background: var(--v2-black);
  color: #fff;
}

.home-v3-research-proof img {
  width: 100%;
  height: 310px;
  object-fit: cover;
  object-position: center 52%;
  filter: saturate(.78);
}

.home-v3-research-proof > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 42px;
}

.home-v3-research-proof span {
  color: var(--v2-red);
  font-size: 9px;
  font-weight: 850;
}

.home-v3-research-proof strong {
  margin-top: 21px;
  font-size: clamp(23px,2.25vw,34px);
  line-height: 1.24;
}

.home-v3-research-proof p {
  margin: 20px 0 0;
  color: rgba(255,255,255,.55);
  font-size: 12px;
  line-height: 1.7;
}

.home-v2-process { padding: 140px 0; background: var(--v2-black); color: #fff; }
.home-v2-section-head-inverse > p { color: rgba(255,255,255,.58); }
.home-v2-process-list { margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.24); list-style: none; }

.home-v2-process-list li {
  display: grid;
  grid-template-columns: 90px minmax(220px,.7fr) minmax(0,1fr);
  align-items: center;
  min-height: 104px;
  border-bottom: 1px solid rgba(255,255,255,.18);
  transition: padding 220ms ease, background 220ms ease;
}

.home-v2-process-list li:hover { padding-inline: 22px; background: var(--v2-red); }
.home-v2-process-list li > span { color: var(--v2-red); font-size: 11px; font-weight: 850; }
.home-v2-process-list li:hover > span { color: #fff; }
.home-v2-process-list strong { font-size: 22px; }
.home-v2-process-list p { margin: 0; color: rgba(255,255,255,.52); }

.home-v2-quality { padding: 140px 0; }
.home-v2-quality-grid { display: grid; grid-template-columns: minmax(0,.88fr) minmax(480px,1.12fr); gap: 110px; }
.home-v2-quality-grid h2 { margin-bottom: 26px; }
.home-v2-quality-grid > div:first-child > p:not(.home-v2-overline) { color: #666; }
.home-v2-quality-list { border-top: 1px solid #bdbdb8; }
.home-v2-quality-list > div { min-height: 106px; display: grid; grid-template-columns: 54px minmax(0,1fr) minmax(180px,auto); align-items: center; border-bottom: 1px solid #bdbdb8; }
.home-v2-quality-list span { color: var(--v2-red); font-size: 10px; font-weight: 850; }
.home-v2-quality-list strong { font-size: 20px; }
.home-v2-quality-list small { color: #777; font-size: 11px; text-align: right; }

.home-v2-insights { border-top: 1px solid #d6d6d2; background: #f7f7f5; }
.home-v2-insights .article-grid { gap: 12px; }
.home-v2-insights .article-card { border: 0; border-radius: 0; background: transparent; }
.home-v2-insights .article-card img { aspect-ratio: 4 / 3; filter: saturate(.82); }
.home-v2-insights .article-card-body { padding: 24px 0 0; }
.home-v2-insights .article-card h3 { font-size: 24px; }
.home-v2-all-insights { display: flex; justify-content: space-between; margin-top: 62px; padding: 22px 0; border-top: 1px solid #bdbdb8; border-bottom: 1px solid #bdbdb8; font-size: 13px; font-weight: 780; }

.home-v2-contact { padding: 140px 0; background: var(--v2-red); color: #fff; }
.home-v2-contact-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(560px,1.2fr); gap: 100px; align-items: start; }
.home-v2-contact .home-v2-overline { color: #fff; }
.home-v2-contact-copy h2 { font-size: clamp(46px,5.3vw,76px); }
.home-v2-contact-copy > p:not(.home-v2-overline) { color: rgba(255,255,255,.75); }
.home-v2-contact-detail { display: flex; flex-direction: column; gap: 4px; margin-top: 56px; }
.home-v2-contact-detail a { width: max-content; padding-bottom: 4px; border-bottom: 1px solid #fff; font-size: 24px; font-weight: 720; }
.home-v2-contact-detail span { color: rgba(255,255,255,.6); font-size: 12px; }
.home-v2 .home-v2-form { padding: 0; border: 0; background: transparent; }
.home-v2-form .field label { color: rgba(255,255,255,.7); font-size: 10px; }

.home-v2-form input,
.home-v2-form select,
.home-v2-form textarea {
  padding: 14px 0;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.52);
  border-radius: 0;
  background: transparent;
  color: #fff;
}

.home-v2-form input::placeholder,
.home-v2-form textarea::placeholder { color: rgba(255,255,255,.5); }
.home-v2-form select { color-scheme: dark; }
.home-v2-form input:focus, .home-v2-form select:focus, .home-v2-form textarea:focus { outline: 0; border-color: #fff; box-shadow: none; }

.home-v2-submit {
  width: 100%;
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
  padding: 0 22px;
  border: 1px solid #fff;
  border-radius: 0;
  background: #fff;
  color: var(--v2-red);
  font-weight: 800;
  cursor: pointer;
}

.home-v2-submit:hover { background: var(--v2-black); color: #fff; }
.home-v2-form .form-result { color: #fff; }
.home-v2-footer { border-top: 0; background: var(--v2-black); }

@keyframes v2-image-in {
  from { opacity: 0; transform: scale(1.08); }
  to { opacity: 1; transform: scale(1.015); }
}

@keyframes v4-hero-dynamic-text {
  0%, 38% { transform: translateY(0); opacity: 1; }
  46%, 88% { transform: translateY(-20px); opacity: 1; }
  96%, 100% { transform: translateY(-20px); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .home-v4-hero-dynamic span { animation: none; }
  .home-v4-hero-dynamic span + span { display: none; }
}

@media (max-width: 1080px) {
  .home-v2 .home-v2-shell,
  .home-v2 .home-v2-header .header-inner,
  .home-v2-hero-inner,
  .home-v2-value-line { width: min(calc(100% - 40px),1320px); }
  .home-v2-header-note { display: none; }
  .home-v2 .home-v2-header .site-nav { gap: 18px; }
  .home-v2-statement-grid, .home-v2-section-head { grid-template-columns: 72px minmax(0,1fr) minmax(260px,.58fr); gap: 28px; }
  .home-v2-factory { grid-template-columns: 1fr 1fr; }
  .home-v2-factory-media { min-height: 760px; }
  .home-v3-research-brief { padding-right: 36px; }
  .home-v3-professor {
    grid-template-columns: minmax(210px,36%) minmax(0,1fr);
    grid-template-rows: 370px;
  }
  .home-v3-professor-copy { padding: 34px 30px 30px; }
  .home-v2-quality-grid, .home-v2-contact-grid { gap: 60px; }
}

@media (max-width: 820px) {
  .home-v2 .home-v2-header .menu-toggle {
    display: block;
    border-color: rgba(255,255,255,.65);
    background:
      linear-gradient(#fff,#fff) center 14px / 20px 2px no-repeat,
      linear-gradient(#fff,#fff) center 21px / 20px 2px no-repeat,
      linear-gradient(#fff,#fff) center 28px / 20px 2px no-repeat,
      rgba(0,0,0,.18);
  }
  .home-v2 .home-v2-header .site-nav { top: 82px; right: 20px; left: 20px; background: var(--v2-black); color: #fff; }
  .home-v2-hero, .home-v2-hero-inner { min-height: 820px; }
  .home-v2-hero-image { object-position: 60% center; }
  .home-v2-hero-inner { padding-top: 118px; }
  .home-v2-hero-copy { align-self: end; }
  .home-v2-hero h1 { font-size: clamp(52px,10vw,82px); }
  .home-v2-hero-index { grid-template-columns: 1fr; }
  .home-v2-hero-index > div { min-height: 58px; padding: 12px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .home-v2-hero-index > div + div { padding-left: 0; }
  .home-v2-statement, .home-v2-products, .home-v2-video, .home-v2-research, .home-v2-process, .home-v2-quality, .home-v2-insights, .home-v2-contact { padding: 96px 0; }
  .home-v2-statement-grid, .home-v2-section-head, .home-v2-video-head, .home-v2-quality-grid, .home-v2-contact-grid { grid-template-columns: 1fr; }
  .home-v2-section-index { flex-direction: row; align-items: center; }
  .home-v2-section-index small { writing-mode: initial; }
  .home-v2-statement-copy { padding-top: 0; }
  .home-v2-value-line { margin-top: 80px; overflow-x: auto; justify-content: flex-start; }
  .home-v2-value-line span { white-space: nowrap; }
  .home-v2-section-head { align-items: start; }
  .home-v2-product-stage { grid-template-columns: 1fr; }
  .home-v2-product-claim { min-height: 520px; }
  .home-v2-factory { grid-template-columns: 1fr; }
  .home-v2-factory-media { min-height: 620px; }
  .home-v2-factory-panel { padding: 82px 20px; }
  .home-v3-research-stage { grid-template-columns: 1fr; }
  .home-v3-research-brief { padding: 42px 0 52px; border-right: 0; border-bottom: 1px solid #bdbdb8; }
  .home-v3-research-brief > p:not(.home-v3-research-partner) { max-width: 620px; }
  .home-v3-professor {
    grid-template-columns: minmax(240px,38%) minmax(0,1fr);
    grid-template-rows: 360px;
  }
  .home-v3-research-proof { grid-template-columns: 1.25fr .75fr; }
  .home-v3-research-proof > div { padding: 30px; }
  .home-v2-quality-grid, .home-v2-contact-grid { gap: 64px; }
}

@media (max-width: 560px) {
  .home-v2 .home-v2-shell,
  .home-v2 .home-v2-header .header-inner,
  .home-v2-hero-inner,
  .home-v2-value-line { width: min(calc(100% - 28px),1320px); }
  .home-v2 .home-v2-header .header-inner { min-height: 78px; }
  .home-v2 .home-v2-header .brand { width: 84px; height: 47px; }
  .home-v2-hero, .home-v2-hero-inner { min-height: 760px; }
  .home-v2-hero-inner { padding: 102px 0 22px; }
  .home-v2-hero-top p:last-child { display: none; }
  .home-v2-hero-copy { padding: 26px 0; }
  .home-v2-hero h1 { font-size: clamp(44px,14vw,66px); }
  .home-v2-lead { font-size: 14px; line-height: 1.72; }
  .home-v2-hero-actions { align-items: stretch; flex-direction: column; }
  .home-v2-primary, .home-v2-ghost { width: 100%; }
  .home-v2-hero-index { display: none; }
  .home-v2-statement, .home-v2-products, .home-v2-video, .home-v2-research, .home-v2-process, .home-v2-quality, .home-v2-insights, .home-v2-contact { padding: 72px 0; }
  .home-v2 h2, .home-v2-contact-copy h2 { font-size: 39px; }
  .home-v2-value-line { min-height: 82px; margin-top: 62px; }
  .home-v2-product-stage { display: block; }
  .home-v2-product-claim { min-height: 480px; padding: 42px 24px; }
  .home-v2-package-showcase { min-height: 650px; }
  .home-v2-package-cat { top: 6%; left: 2%; width: 67%; height: 46%; }
  .home-v2-package-dog { top: 31%; right: 0; width: 64%; height: 43%; }
  .home-v2-package-pouch { right: auto; bottom: 4%; left: 4%; width: 55%; height: 34%; }
  .home-v2-package-caption { right: 4%; bottom: 4%; max-width: 38%; }
  .home-v2-package-caption strong { font-size: 17px; text-align: right; }
  .home-v2-video-stamp { width: 112px; min-height: 112px; padding: 14px; }
  .home-v2-video-stamp strong { margin-top: 13px; font-size: 20px; }
  .home-v2-video-stamp small { display: none; }
  .home-v2-video-notes { grid-template-columns: 1fr; }
  .home-v2-video-notes > div, .home-v2-video-notes > div:first-child { min-height: 86px; padding: 14px 0; border-right: 0; border-bottom: 1px solid var(--v2-line); }
  .home-v2-factory-media { min-height: 470px; }
  .home-v2-factory-facts > div { min-height: 96px; padding: 15px 10px; }
  .home-v3-research-partner { margin-bottom: 34px; }
  .home-v3-research-brief h3 { font-size: 34px; }
  .home-v3-research-brief dl > div { grid-template-columns: 105px 1fr; }
  .home-v3-professors { grid-template-columns: 1fr; }
  .home-v3-professor {
    grid-template-columns: 1fr;
    grid-template-rows: 390px minmax(235px,auto);
    border-right: 0;
    border-bottom: 1px solid #bdbdb8;
  }
  .home-v3-professor:last-child { border-bottom: 0; }
  .home-v3-professor-copy { padding: 28px 22px 26px; }
  .home-v3-professor-copy strong { font-size: 36px; }
  .home-v3-research-proof { grid-template-columns: 1fr; }
  .home-v3-research-proof img { height: 270px; }
  .home-v3-research-proof > div { padding: 32px 24px 36px; }
  .home-v2-process-list li { grid-template-columns: 42px minmax(0,1fr); min-height: 116px; }
  .home-v2-process-list p { grid-column: 2; padding-bottom: 14px; font-size: 13px; }
  .home-v2-quality-list > div { grid-template-columns: 36px minmax(0,1fr); padding: 18px 0; }
  .home-v2-quality-list small { grid-column: 2; text-align: left; }
  .home-v2-insights .article-grid { grid-template-columns: 1fr; }
  .home-v2-contact-detail { margin-top: 36px; }
  .home-v2 .home-v2-form { grid-template-columns: 1fr; }
  .home-v2-form .field-full, .home-v2-form .form-result { grid-column: auto; }
}

/* V4 exhibition system: product-led, technical and immersive. */
.home-v2 {
  --v4-ink: #080a0a;
  --v4-panel: #101414;
  --v4-silver: #d8dddd;
  --v4-green: #8ba69a;
}

.home-v2 .home-v2-header {
  border-bottom: 1px solid rgba(255,255,255,.16);
  background: rgba(5,7,7,.58);
  backdrop-filter: blur(18px);
}

.home-v2 .home-v2-header .header-inner { min-height: 82px; }

.home-v2 .home-v2-header .brand {
  width: 92px;
  height: 48px;
}

.home-v2 .home-v2-header .site-nav a {
  font-size: 11px;
  letter-spacing: .04em;
}

.home-v2 .home-v2-header .site-nav a small {
  font-size: 6px;
  letter-spacing: .12em;
}

.home-v2-hero {
  min-height: min(980px,100svh);
  background: var(--v4-ink);
}

.home-v2-hero-image {
  object-position: center;
  transform: scale(1.01);
  filter: contrast(1.02) saturate(1.02);
}

.home-v2-hero-shade {
  background:
    linear-gradient(90deg,rgba(4,6,6,.9) 0%,rgba(4,6,6,.67) 31%,rgba(4,6,6,.15) 51%,rgba(4,6,6,.01) 72%),
    linear-gradient(180deg,rgba(3,5,5,.3),transparent 34%,rgba(3,5,5,.58));
}

.home-v4-hero-grid {
  position: absolute;
  z-index: 1;
  inset: 0;
  opacity: .24;
  background-image:
    linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);
  background-size: 100% 25%, 12.5% 100%;
  mask-image: linear-gradient(90deg,#000,transparent 68%);
  pointer-events: none;
}

.home-v4-hero-code {
  position: absolute;
  z-index: 2;
  top: 132px;
  right: max(32px,calc((100vw - 1320px) / 2));
  width: 136px;
  padding: 14px 0 0;
  border-top: 1px solid rgba(255,255,255,.52);
  color: #fff;
  text-align: right;
}

.home-v4-hero-code span,
.home-v4-hero-code strong,
.home-v4-hero-code small { display: block; }
.home-v4-hero-code span { color: var(--v2-red); font-size: 8px; font-weight: 850; }
.home-v4-hero-code strong { margin: 8px 0 1px; font-size: 38px; line-height: 1; }
.home-v4-hero-code small { color: rgba(255,255,255,.44); font-size: 7px; letter-spacing: .1em; }

.home-v2-hero-inner {
  min-height: min(980px,100svh);
  padding: 112px 0 30px;
}

.home-v2-hero-top {
  padding-right: 170px;
  font-size: 8px;
  letter-spacing: .12em;
}

.home-v2-hero-copy {
  max-width: 720px;
  padding: 54px 0 36px;
}

.home-v2-kicker {
  margin-bottom: 24px;
  font-size: 10px;
  letter-spacing: .12em;
}

.home-v2-hero h1 {
  font-size: clamp(58px,6.35vw,96px);
  font-weight: 720;
  line-height: .96;
  letter-spacing: 0;
}

.home-v2-hero h1 > span { display: inline-block; }

.home-v2-hero h1 em {
  display: inline-block;
  margin-top: 8px;
  -webkit-text-stroke: 1px rgba(255,255,255,.72);
}

.home-en .home-v2-hero h1 {
  max-width: 760px;
  font-size: clamp(56px,6vw,92px);
}

.home-v2-hero h1 > small {
  margin-top: 25px;
  color: var(--v4-green);
  font-size: 9px;
  letter-spacing: .18em;
}

.home-v2-lead {
  max-width: 570px;
  margin-top: 24px;
  color: rgba(255,255,255,.62);
  font-size: 14px;
}

.home-v2-primary,
.home-v2-ghost {
  min-height: 58px;
  gap: 54px;
  padding: 0 20px;
  font-size: 11px;
  letter-spacing: .04em;
}

.home-v2-ghost {
  border-color: rgba(255,255,255,.38);
  background: rgba(7,9,9,.46);
}

.home-v2-hero-index {
  border-top-color: rgba(255,255,255,.22);
}

.home-v2-hero-index > div {
  min-height: 72px;
  grid-template-columns: 76px minmax(0,1fr);
  align-content: center;
  padding: 10px 26px 0 0;
}

.home-v2-hero-index span {
  color: var(--v2-red);
  font-size: 8px;
  letter-spacing: .08em;
}

.home-v2-hero-index strong {
  font-size: 15px;
  font-weight: 720;
}

.home-v2-hero-index small {
  color: rgba(255,255,255,.38);
  font-size: 7px;
  letter-spacing: .1em;
}

.home-v2-statement {
  position: relative;
  overflow: hidden;
  padding-top: 170px;
  background:
    linear-gradient(90deg,transparent calc(50% - .5px),rgba(17,17,17,.075) 50%,transparent calc(50% + .5px)),
    #f4f4f0;
}

.home-v2-statement::before {
  content: "01";
  position: absolute;
  top: 42px;
  right: max(28px,calc((100vw - 1320px) / 2));
  color: rgba(17,17,17,.045);
  font-size: clamp(150px,21vw,330px);
  font-weight: 900;
  line-height: .8;
}

.home-v2-statement-grid {
  position: relative;
  grid-template-columns: 90px minmax(0,1.25fr) minmax(320px,.55fr);
}

.home-v2-products {
  position: relative;
  overflow: hidden;
  background: var(--v4-ink);
  color: #fff;
}

.home-v2-products::before {
  content: "02 / PRODUCT";
  position: absolute;
  top: 58px;
  right: 4vw;
  color: rgba(255,255,255,.045);
  font-size: clamp(70px,10vw,150px);
  font-weight: 900;
  line-height: .8;
  white-space: nowrap;
}

.home-v2-products .home-v2-section-head > p,
.home-v2-products .home-v2-heading-en { color: rgba(255,255,255,.48); }

.home-v2-products .home-v2-section-index small { color: rgba(255,255,255,.35); }

.home-v2-product-stage {
  min-height: 780px;
  border: 1px solid rgba(255,255,255,.18);
  background: #171c1c;
}

.home-v2-product-claim {
  padding: clamp(42px,5vw,76px);
  border-right: 1px solid rgba(255,255,255,.16);
  background:
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px),
    #0f1313;
  background-size: 76px 76px;
}

.home-v2-product-claim::before {
  content: "MXQ\\A PRODUCT\\A SYSTEM";
  white-space: pre;
  margin-bottom: 52px;
  color: var(--v2-red);
  font-size: 9px;
  font-weight: 850;
  line-height: 1.45;
}

.home-v2-claim-label { display: none; }

.home-v2-product-claim > strong {
  font-size: clamp(45px,5.2vw,78px);
}

.home-v2-product-claim > strong b {
  color: var(--v4-green);
  -webkit-text-stroke: 0;
}

.home-v2-package-showcase {
  min-height: 780px;
  background:
    radial-gradient(circle at 62% 42%,rgba(139,166,154,.22),transparent 31%),
    linear-gradient(145deg,#dce2e1,#a9b7b3);
}

.home-v2-package-showcase::after {
  content: "";
  position: absolute;
  inset: 7%;
  border: 1px solid rgba(17,17,17,.15);
  pointer-events: none;
}

.home-v2-package {
  border: 1px solid rgba(255,255,255,.44);
  box-shadow: 0 38px 95px rgba(5,12,12,.28);
}

.home-v2-package-caption {
  right: 5%;
  bottom: 4%;
  z-index: 4;
}

.home-v2-factory {
  grid-template-columns: minmax(0,1.35fr) minmax(460px,.65fr);
  border-top: 1px solid rgba(255,255,255,.18);
  background: #090c0c;
}

.home-v2-factory-media {
  min-height: 940px;
  overflow: hidden;
}

.home-v2-factory-media::after {
  content: "03";
  position: absolute;
  left: 30px;
  bottom: -24px;
  color: rgba(255,255,255,.18);
  font-size: 210px;
  font-weight: 900;
  line-height: 1;
}

.home-v2-factory-slide img {
  filter: saturate(.65) contrast(1.08);
}

.home-v2-factory-panel {
  min-height: 940px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-left: 1px solid rgba(255,255,255,.16);
  background:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    #0d1111;
  background-size: 100% 94px;
}

.home-v2-zero {
  color: var(--v2-red);
  -webkit-text-stroke: 0;
}

.home-v2-factory-claims > div { min-height: 92px; }
.home-v2-factory-facts strong { color: var(--v4-silver); }

.home-v2-video {
  background: #edf0ee;
}

.home-v2-video-frame {
  border: 1px solid #171b1b;
  box-shadow: 0 30px 80px rgba(8,15,15,.12);
}

.home-v2-research {
  background:
    linear-gradient(90deg,transparent calc(50% - .5px),rgba(17,17,17,.065) 50%,transparent calc(50% + .5px)),
    #f1f0eb;
}

.home-v3-research-stage {
  border-top-color: #a9aca8;
  border-bottom-color: #a9aca8;
}

.home-v3-professor-photo img { filter: saturate(.98) contrast(1.01); }

@media (max-width: 1080px) {
  .home-v4-hero-code { right: 20px; }
  .home-v2-hero-copy { max-width: 620px; }
  .home-v2-hero h1 { font-size: clamp(54px,7vw,82px); }
  .home-v2-factory { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 820px) {
  .home-v2 .home-v2-header { background: rgba(5,7,7,.72); }
  .home-v4-hero-code { display: none; }
  .home-v2-hero,
  .home-v2-hero-inner { min-height: 860px; }
  .home-v2-hero-image {
    object-position: 45% center;
    opacity: .88;
  }
  .home-v2-hero-shade {
    background:
      linear-gradient(90deg,rgba(4,6,6,.9),rgba(4,6,6,.46)),
      linear-gradient(180deg,rgba(4,6,6,.25),rgba(4,6,6,.86) 77%);
  }
  .home-v2-hero-copy {
    align-self: end;
    max-width: 700px;
  }
  .home-v2-hero-index > div { grid-template-columns: 72px 1fr; }
  .home-v2-statement-grid { grid-template-columns: 1fr; }
  .home-v2-product-stage { grid-template-columns: 1fr; }
  .home-v2-product-claim { min-height: 500px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .home-v2-factory { grid-template-columns: 1fr; }
  .home-v2-factory-media,
  .home-v2-factory-panel { min-height: 680px; }
  .home-v2-factory-panel { border-left: 0; border-top: 1px solid rgba(255,255,255,.16); }
}

@media (max-width: 560px) {
  .home-v2 .home-v2-header .header-inner { min-height: 72px; }
  .home-v2 .home-v2-header .brand { width: 78px; height: 42px; }
  .home-v2-hero,
  .home-v2-hero-inner { min-height: 780px; }
  .home-v2-hero-inner { padding-top: 94px; }
  .home-v2-hero-image {
    object-position: 20% center;
    opacity: .78;
  }
  .home-v2-hero-shade {
    background:
      linear-gradient(180deg,rgba(4,6,6,.24),rgba(4,6,6,.36) 32%,rgba(4,6,6,.94) 78%),
      linear-gradient(90deg,rgba(4,6,6,.78),rgba(4,6,6,.22));
  }
  .home-v4-hero-grid { background-size: 100% 20%, 25% 100%; }
  .home-v2-hero-copy { padding-bottom: 18px; }
  .home-v4-hero-dynamic {
    height: 18px;
    margin-bottom: 11px;
    font-size: 9px;
    line-height: 18px;
  }
  .home-v4-hero-dynamic span { animation-name: v4-hero-dynamic-text-mobile; }
  .home-v2-hero h1,
  .home-en .home-v2-hero h1 { font-size: clamp(43px,13vw,59px); }
  .home-v2-hero h1 > small { font-size: 7px; line-height: 1.5; }
  .home-v2-lead { font-size: 13px; }
  .home-v2-hero-actions { margin-top: 27px; }
  .home-v2-primary,
  .home-v2-ghost { min-height: 52px; }
  .home-v2-statement { padding-top: 84px; }
  .home-v2-statement::before { top: 28px; right: 10px; font-size: 130px; }
  .home-v2-product-claim { min-height: 455px; }
  .home-v2-package-showcase { min-height: 640px; }
  .home-v2-factory-media { min-height: 500px; }
  .home-v2-factory-panel { min-height: auto; }
  .home-v2-factory-media::after { font-size: 130px; }
  .home-v2-factory-slide figcaption {
    right: 14px;
    bottom: 65px;
    min-width: 150px;
    padding: 11px 12px;
  }
  .home-v2-factory-controls { right: 14px; bottom: 14px; gap: 8px; }
  .home-v2-factory-controls > button { width: 34px; height: 34px; }
  .home-v2-factory-dots button { width: 13px; }
  .home-v2-factory-dots button.is-active { width: 25px; }
}

@keyframes v4-hero-dynamic-text-mobile {
  0%, 38% { transform: translateY(0); opacity: 1; }
  46%, 88% { transform: translateY(-18px); opacity: 1; }
  96%, 100% { transform: translateY(-18px); opacity: 0; }
}

/* Factory V4: cinematic equipment gallery. */
.factory-v4 {
  --factory-red: #c71920;
  background: #090b0b;
  color: #fff;
}

.factory-v4 .site-header {
  border-bottom-color: rgba(255,255,255,.14);
  background: rgba(6,8,8,.78);
  color: #fff;
  backdrop-filter: blur(16px);
}

.factory-v4 .site-header .brand {
  overflow: visible;
  background: transparent;
}

.factory-v4 .site-nav a:not(.button)::after { background: #fff; }

.factory-v4 .page-hero {
  position: relative;
  min-height: 760px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  padding: 150px 0 78px;
  background:
    linear-gradient(90deg,rgba(5,7,7,.92),rgba(5,7,7,.38) 54%,rgba(5,7,7,.08)),
    linear-gradient(180deg,rgba(5,7,7,.2),rgba(5,7,7,.82)),
    url("/assets/factory-system-3d-v4.jpg") center / cover no-repeat;
  color: #fff;
}

.factory-v4 .page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .22;
  background-image:
    linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size: 100% 25%, 12.5% 100%;
  mask-image: linear-gradient(90deg,#000,transparent 72%);
}

.factory-v4 .page-hero .container {
  position: relative;
  z-index: 1;
}

.factory-v4 .page-hero .eyebrow { color: var(--factory-red); }

.factory-v4 .page-hero h1 {
  max-width: 820px;
  color: #fff;
  font-size: clamp(55px,6.2vw,94px);
  line-height: .98;
}

.factory-v4 .page-hero p:last-child {
  max-width: 620px;
  color: rgba(255,255,255,.68);
}

.factory-v4 .section {
  border-top: 1px solid rgba(255,255,255,.12);
  background: #0b0e0e;
  color: #fff;
}

.factory-v4 .section h2,
.factory-v4 .section h3 { color: #fff; }

.factory-v4 .section p { color: rgba(255,255,255,.58); }
.factory-v4 .eyebrow { color: var(--factory-red); }

.factory-v4 .capability-layout {
  gap: clamp(44px,7vw,110px);
}

.factory-v4 .capability-media {
  min-height: 720px;
}

.factory-v4 .capability-media img {
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 0;
  box-shadow: 0 32px 80px rgba(0,0,0,.4);
  filter: saturate(.88) contrast(1.04);
}

.factory-v4 .capability-media img:first-child {
  width: 88%;
  height: 76%;
  object-fit: cover;
}

.factory-v4 .capability-media img:nth-child(2) {
  right: 0;
  bottom: 0;
  width: 58%;
  height: 46%;
  object-fit: cover;
}

.factory-v4 .fact-list {
  border-top-color: rgba(255,255,255,.2);
}

.factory-v4 .fact {
  border-bottom-color: rgba(255,255,255,.16);
}

.factory-v4 .fact strong { color: #fff; }
.factory-v4 .fact span { color: rgba(255,255,255,.46); }

.factory-v4 .factory-gallery-section {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),
    #080a0a;
  background-size: 90px 90px;
}

.factory-v4 .factory-gallery-section::before {
  content: "FACTORY / PROCESS";
  position: absolute;
  top: 38px;
  right: 3vw;
  color: rgba(255,255,255,.045);
  font-size: clamp(70px,9vw,140px);
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.factory-v4 .factory-gallery {
  position: relative;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1px;
  border: 1px solid rgba(255,255,255,.17);
  background: rgba(255,255,255,.17);
}

.factory-v4 .factory-gallery figure {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #0d1111;
}

.factory-v4 .factory-gallery img {
  width: 100%;
  height: 530px;
  object-fit: cover;
  filter: saturate(.8) contrast(1.08);
  transition: transform 600ms cubic-bezier(.2,.75,.2,1), filter 600ms ease;
}

.factory-v4 .factory-gallery figure:hover img {
  transform: scale(1.035);
  filter: saturate(1) contrast(1.03);
}

.factory-v4 .factory-gallery figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  min-height: 150px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 50px 26px 25px;
  background: linear-gradient(180deg,transparent,rgba(5,7,7,.94));
  color: #fff;
}

.factory-v4 .factory-gallery figcaption small {
  margin-bottom: 8px;
  color: var(--factory-red);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .12em;
}

.factory-v4 .factory-gallery figcaption strong {
  color: #fff;
  font-size: 23px;
}

.factory-v4 .factory-gallery figcaption span {
  color: rgba(255,255,255,.5);
}

.factory-v4 .section-muted {
  background: #eef0ed;
  color: #111;
}

.factory-v4 .section-muted h2,
.factory-v4 .section-muted h3 { color: #111; }
.factory-v4 .section-muted p { color: #656a66; }
.factory-v4 .section-muted .process-step { border-color: #c7cbc6; }

.factory-v4 .site-footer {
  border-top-color: rgba(255,255,255,.14);
  background: #070909;
}

@media (max-width: 820px) {
  .factory-v4 .page-hero {
    min-height: 0;
    padding-top: 134px;
    padding-bottom: 56px;
  }
  .factory-v4 .capability-media { min-height: 0; }
  .factory-v4 .factory-gallery { grid-template-columns: 1fr; }
  .factory-v4 .factory-gallery img { height: 500px; }
}

@media (max-width: 560px) {
  .factory-v4 .page-hero {
    min-height: 0;
    padding-top: 118px;
    padding-bottom: 48px;
    background-position: 58% center;
  }
  .factory-v4 .page-hero h1 { font-size: 47px; }
  .factory-v4 .capability-media { min-height: 0; }
  .factory-v4 .factory-gallery img { height: 390px; }
}
