/* Local, OFL-licensed font subsets; see assets/fonts/ and THIRD_PARTY_LICENSES.txt. */
@font-face {
  font-family:Brand;
  src:url("assets/fonts/archivo-latin.woff2") format("woff2");
  font-style:normal;
  font-weight:100 900;
  font-stretch:62% 125%;
  font-display:swap;
  unicode-range:U+0000-024F,U+0300-036F,U+1E00-1EFF,U+2000-206F,U+20AC,U+2122,U+2190-2199,U+2212,U+2215;
}
:root {
  --navy:#004098;
  --navy-deep:#002B66;
  --lavender:#BABDDE;
  --lavender-soft:#EEEFF7;
  --gray:#5B5A58;
  --gray-light:#8A8986;
  --line:#E3E4EA;
  --ink:#121417;
  --paper:#F6F6FA;
  --white:#FFFFFF;
  --pass:#205b40;
  --pass-soft:#e6f2ea;
  --fail:#a13329;
  --fail-soft:#fce9e5;
  --font-brand:Brand,"Noto Sans SC",sans-serif;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:100px;
}

body {
  margin:0;
  color:var(--ink);
  background:var(--white);
  font-family:var(--font-brand);
  -webkit-font-smoothing:antialiased;
}

button,a {
  -webkit-tap-highlight-color:transparent;
}

button,input {
  font:inherit;
}

button,a {
  touch-action:manipulation;
}

button {
  cursor:pointer;
}

button {
  color:inherit;
}

a {
  color:inherit;
  text-decoration:none;
}

img {
  display:block;
  max-width:100%;
}

button {
  border:0;
  background:none;
}

button:focus-visible,a:focus-visible,[tabindex]:focus-visible {
  outline:3px solid var(--navy);
  outline-offset:5px;
}

::selection {
  background:var(--lavender-soft);
}

.section-shell {
  max-width:1440px;
  margin:0 auto;
  padding-left:64px;
  padding-right:64px;
}

.section-space {
  padding-top:110px;
  padding-bottom:100px;
}

.site-header {
  height:88px;
  padding:0 64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
  background:color-mix(in srgb,var(--white) 96.08%,transparent);
  backdrop-filter:blur(16px);
  position:sticky;
  top:0;
  z-index:20;
}

.brand img {
  width:186px;
  height:auto;
}

.site-header nav {
  display:flex;
  gap:38px;
  font-size:14px;
  color:var(--gray);
}

.site-header nav a:hover {
  color:var(--navy);
}

.header-actions {
  display:flex;
  gap:27px;
  align-items:center;
}

.language-control {
  position:relative;
  display:inline-flex;
  align-items:center;
  color:var(--navy-deep);
}
.language-globe,.language-chevron {
  position:absolute;
  pointer-events:none;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.language-globe { width:20px; height:20px; left:12px; }
.language-chevron { width:14px; height:14px; right:10px; }
.language-switch {
  appearance:none;
  -webkit-appearance:none;
  font:inherit;
  font-size:13px;
  width:144px;
  min-height:44px;
  padding:8px 28px 8px 40px;
  color:var(--navy-deep);
  background:transparent;
  border:1px solid transparent;
  border-radius:8px;
  cursor:pointer;
}
.language-switch:hover { background:color-mix(in srgb,var(--navy) 2.75%,transparent); border-color:var(--line); }
.language-switch:focus-visible { outline:2px solid var(--navy); outline-offset:2px; }

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:38px;
  background:var(--navy);
  color:var(--white);
  padding:19px 25px;
  font-size:14px;
  line-height:1.2;
  border:1px solid var(--navy);
  transition:background .2s,transform .2s;
}

.button:hover {
  background:var(--navy-deep);
  transform:translateY(-2px);
}

.button-small {
  padding:13px 18px;
  gap:24px;
  font-size:12px;
}

.menu-toggle {
  display:none;
}

.eyebrow {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:11px;
  font-weight:600;
  letter-spacing:.15em;
  color:var(--navy);
  line-height:1.6;
  margin-bottom:26px;
}

.blue-line {
  width:24px;
  height:2px;
  background:var(--navy);
}

.hero {
  min-height:672px;
  position:relative;
  display:grid;
  grid-template-columns:48% 52%;
  padding-top:90px;
  padding-bottom:82px;
  overflow:hidden;
  background:radial-gradient(ellipse at 83% 39%,var(--paper),transparent 48%);
}

.hero-copy {
  position:relative;
  z-index:2;
}

.hero h1 {
  font-size:clamp(45px,4.35vw,66px);
  letter-spacing:-.045em;
  line-height:1.35;
  margin:0 0 25px;
  font-weight:650;
}

.hero h1 span {
  color:var(--navy);
}

.hero-description {
  font-size:15px;
  color:var(--gray);
  max-width:430px;
  line-height:1.95;
  margin:0;
}

.hero-ctas {
  display:flex;
  align-items:center;
  gap:26px;
  margin-top:33px;
}

.play-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:31px;
  height:31px;
  border:1px solid var(--lavender);
  border-radius:50%;
  font-size:9px;
  padding-left:2px;
  color:var(--navy);
}

.hero-tags {
  display:flex;
  gap:20px;
  margin-top:37px;
  font-size:11px;
  color:var(--gray);
}

.hero-tags span+span {
  border-left:1px solid var(--line);
  padding-left:20px;
}

.hero-visual {
  position:relative;
  min-width:0;
  margin:-63px -32px -14px -15px;
  isolation:isolate;
}

.hero-watermark {
  position:absolute;
  top:4%;
  right:1%;
  font-size:clamp(150px,17vw,258px);
  letter-spacing:-.075em;
  color:var(--lavender-soft);
  font-weight:800;
  line-height:1;
  z-index:-1;
}

.hero-machine {
  width:100%;
  height:520px;
  object-fit:contain;
  position:relative;
  z-index:2;
  filter:drop-shadow(0 29px 17px color-mix(in srgb,var(--ink) 13.33%,transparent));
  transform:translate(4%,9%);
}

.machine-orbit {
  position:absolute;
  width:89%;
  height:27%;
  border:1px solid var(--line);
  border-radius:50%;
  bottom:0;
  left:10%;
  transform:rotate(-10deg);
}

.machine-orbit:after {
  content:"";
  position:absolute;
  inset:15px;
  border:1px dashed var(--line);
  border-radius:50%;
}

.machine-grid {
  position:absolute;
  inset:17% 3% 0;
  background-image:linear-gradient(color-mix(in srgb,var(--line) 31.37%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 31.37%,transparent) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(ellipse,var(--ink),transparent 70%);
  z-index:-1;
}

.crosshair {
  position:absolute;
  color:var(--lavender);
  font-size:22px;
  font-weight:200;
}

.crosshair-one {
  top:14%;
  left:7%;
}

.crosshair-two {
  bottom:7%;
  right:2%;
}

.visual-label {
  position:absolute;
  bottom:4%;
  left:6%;
  background:color-mix(in srgb,var(--white) 92.94%,transparent);
  box-shadow:0 6px 30px color-mix(in srgb,var(--ink) 6.27%,transparent);
  border:1px solid var(--line);
  padding:13px 18px;
  font-size:11px;
  display:flex;
  align-items:center;
  gap:10px;
  z-index:3;
}

.status-dot {
  width:6px;
  height:6px;
  background:var(--navy);
  display:inline-block;
  border-radius:50%;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--navy) 3.92%,transparent);
  flex-shrink:0;
}

.visual-index {
  position:absolute;
  right:8px;
  top:50%;
  writing-mode:vertical-rl;
  letter-spacing:.16em;
  color:var(--gray);
  font-size:8px;
}

.hero-bottom {
  position:absolute;
  bottom:27px;
  left:64px;
  right:64px;
  display:flex;
  justify-content:space-between;
  font-size:9px;
  letter-spacing:.07em;
  color:var(--gray);
}

.hero-bottom .muted {
  margin:0 12px;
}

.muted {
  color:var(--lavender);
}

.spec-strip {
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  padding-top:29px;
  padding-bottom:29px;
  gap:32px;
}

.spec-strip>div {
  display:flex;
  flex-direction:column;
  gap:10px;
}

.spec-strip>div+div {
  border-left:1px solid var(--line);
  padding-left:50px;
}

.spec-kicker {
  font-size:11px;
  color:var(--gray);
}

.spec-strip strong {
  font-size:26px;
  font-weight:500;
  letter-spacing:-.02em;
  color:var(--navy-deep);
}

.spec-strip strong small {
  font-size:16px;
  font-weight:400;
}

.spec-foot {
  font-size:10px;
  color:var(--gray);
}

.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:50px;
  margin-bottom:43px;
}

.section-heading .eyebrow {
  margin-bottom:18px;
}

h2 {
  font-weight:550;
  font-size:42px;
  line-height:1.4;
  letter-spacing:-.04em;
  margin:0;
}

.section-heading>p {
  max-width:360px;
  font-size:14px;
  line-height:1.9;
  color:var(--gray);
  margin:0 0 5px;
}

.explorer {
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  border:1px solid var(--line);
  min-height:564px;
}

.viewer-panel {
  position:relative;
  background:radial-gradient(ellipse at 45% 45%,var(--white),var(--paper));
  min-width:0;
  display:flex;
  flex-direction:column;
}

.viewer-topline {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:24px 28px;
  z-index:2;
  font-size:11px;
  letter-spacing:.04em;
}

.viewer-topline>span:first-child {
  display:flex;
  align-items:center;
  gap:10px;
}

.viewer-badge {
  font-size:8px;
  letter-spacing:.13em;
  border:1px solid var(--line);
  padding:6px 8px;
  color:var(--gray);
}

#model-viewer {
  position:relative;
  width:100%;
  height:416px;
  overflow:hidden;
}

#model-viewer canvas {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  touch-action:none;
}

#model-fallback {
  width:100%;
  height:100%;
  object-fit:contain;
  padding:20px 90px;
  opacity:.55;
}

.viewer-loading {
  position:absolute;
  bottom:10px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:9px;
  font-size:11px;
  background:color-mix(in srgb,var(--white) 94.12%,transparent);
  border:1px solid var(--line);
  padding:12px 16px;
  white-space:nowrap;
}

.spinner {
  height:12px;
  width:12px;
  border:1px solid var(--lavender);
  border-top-color:var(--navy);
  border-radius:50%;
  animation:spin 1s linear infinite;
}

@keyframes spin {
  to {
    transform:rotate(360deg);
  }
}

.viewer-controls {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 24px;
  gap:10px;
  margin-top:auto;
}

.viewer-tools {
  display:flex;
  gap:14px;
}

.viewer-tools button {
  font-size:10px;
  padding:8px 0;
  color:var(--gray);
}

.viewer-tools button[aria-pressed=true] {
  color:var(--navy);
  font-weight:bold;
}

.viewer-caption {
  display:flex;
  justify-content:space-between;
  padding:4px 28px 20px;
  font-size:9px;
  color:var(--gray);
  gap:10px;
}

.explorer-info {
  border-left:1px solid var(--line);
  padding:36px 30px;
  background:var(--white);
}

.small-label {
  font-size:8px;
  letter-spacing:.13em;
  color:var(--gray);
}

.explorer-info h3 {
  font-size:26px;
  line-height:1.5;
  margin:17px 0 13px;
  font-weight:550;
}

.explorer-info>p {
  font-size:12px;
  color:var(--gray);
  line-height:1.9;
  margin-bottom:24px;
}

.detail-item {
  display:flex;
  gap:18px;
  padding:18px 0;
  border-top:1px solid var(--line);
}

.detail-item>span {
  font-size:10px;
  color:var(--gray);
  padding-top:3px;
}

.detail-item h4 {
  font-weight:500;
  font-size:13px;
  margin:0 0 7px;
}

.detail-item p {
  font-size:11px;
  color:var(--gray);
  line-height:1.8;
  margin:0;
}

.inline-link {
  display:inline-flex;
  align-items:center;
  gap:24px;
  color:var(--navy);
  font-size:12px;
  padding:12px 0;
}

.inline-link:hover {
  gap:32px;
}

.model-note {
  font-size:10px;
  line-height:1.7;
  color:var(--gray);
  margin-top:14px;
}

.workflow-section {
  background:var(--paper);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.workflow-tabs {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--line);
  margin-bottom:38px;
  gap:20px;
}

.workflow-tabs button {
  text-align:left;
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:7px;
  padding:17px 5px 23px;
  position:relative;
  color:var(--gray);
}

.workflow-tabs button>span {
  font-size:11px;
  grid-row:span 2;
  margin-top:3px;
}

.workflow-tabs b {
  font-size:16px;
  font-weight:500;
}

.workflow-tabs small {
  font-size:10px;
}

.workflow-tabs button.active {
  color:var(--navy);
}

.workflow-tabs button.active:after {
  content:"";
  position:absolute;
  bottom:-1px;
  height:3px;
  background:var(--navy);
  left:0;
  right:0;
}

.workflow-content {
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  align-items:center;
  gap:55px;
}

.screen-frame {
  border:1px solid var(--line);
  background:var(--white);
  box-shadow:0 15px 40px color-mix(in srgb,var(--ink) 3.92%,transparent);
  border-radius:6px;
  overflow:hidden;
}

.screen-chrome {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 18px;
  background:var(--white);
  font-size:9px;
  color:var(--gray);
  border-bottom:1px solid var(--line);
}

.window-dots {
  display:flex;
  gap:4px;
}

.window-dots i {
  width:5px;
  height:5px;
  background:var(--line);
  border-radius:50%;
}

.screen-indicator {
  width:5px;
  height:5px;
  background:var(--lavender);
  border-radius:50%;
}

#workflow-image {
  width:100%;
  height:374px;
  object-fit:contain;
  background:var(--lavender-soft);
}

.step-counter {
  font-size:49px;
  letter-spacing:-.06em;
  color:var(--gray);
  font-weight:300;
}

.step-counter small {
  font-size:13px;
  color:var(--gray);
  letter-spacing:0;
}

.workflow-copy h3 {
  font-size:24px;
  font-weight:500;
  line-height:1.5;
  margin:16px 0;
}

.workflow-copy>p {
  font-size:13px;
  line-height:1.95;
  color:var(--gray);
}

.applications-section {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:70px;
  padding-bottom:110px;
  align-items:center;
}

.application-image {
  position:relative;
  height:380px;
  overflow:hidden;
  background:var(--paper);
}

.application-image img {
  width:100%;
  height:100%;
  object-fit:cover;
}

.application-image>span {
  position:absolute;
  bottom:20px;
  left:24px;
  background:var(--white);
  padding:10px 14px;
  font-size:8px;
  letter-spacing:.13em;
  color:var(--navy);
}

.application-copy .eyebrow {
  margin-bottom:20px;
}

.application-copy h2 {
  font-size:35px;
}

.application-copy>p {
  font-size:13px;
  color:var(--gray);
  line-height:1.9;
  max-width:400px;
  margin:20px 0;
}

.application-tags {
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin:24px 0;
}

.application-tags span {
  padding:8px 12px;
  font-size:10px;
  border:1px solid var(--line);
  color:var(--gray);
}

.contact-section {
  position:relative;
  background:var(--navy-deep);
  color:var(--white);
  padding-top:65px;
  padding-bottom:62px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  overflow:hidden;
  isolation:isolate;
}

.contact-section .eyebrow {
  color:var(--lavender);
  font-size:9px;
  margin-bottom:24px;
}

.contact-section h2 {
  font-size:42px;
}

.contact-copy {
  max-width:560px;
}

.contact-copy>p {
  font-size:13px;
  line-height:1.9;
  color:var(--lavender);
  margin:19px 0 29px;
  max-width:435px;
}

.button-white {
  background:var(--white);
  border-color:var(--white);
  color:var(--navy-deep);
  font-size:12px;
}

.button-white:hover {
  background:var(--lavender-soft);
}

.contact-details {
  display:flex;
  flex-direction:column;
  gap:16px;
  z-index:1;
  font-size:13px;
  min-width:240px;
  padding-bottom:8px;
}

.contact-details>span {
  font-size:12px;
  color:var(--lavender);
  margin-bottom:8px;
}

.contact-details small {
  font-size:10px;
  color:var(--lavender);
  margin-top:22px;
}

.contact-decoration {
  position:absolute;
  right:-25px;
  top:20px;
  font-size:300px;
  font-weight:800;
  letter-spacing:-.1em;
  color:color-mix(in srgb,var(--white) 1.57%,transparent);
  z-index:-1;
  line-height:1;
}

footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  padding-top:34px;
  padding-bottom:34px;
  font-size:9px;
  color:var(--gray);
}

.footer-brand {
  font-size:17px;
  color:var(--navy);
  font-weight:700;
  letter-spacing:-.02em;
}

.footer-brand span {
  font-size:8px;
  font-weight:400;
  margin-left:6px;
  letter-spacing:.05em;
}

footer b {
  font-weight:400;
  color:var(--navy);
  margin-left:6px;
}

.skip-link {
  position:fixed;
  top:-100px;
  left:20px;
  background:var(--white);
  color:var(--navy);
  padding:15px;
  z-index:100;
}

.skip-link:focus {
  top:10px;
}

dialog {
  border:1px solid var(--line);
  padding:0;
  width:min(1160px,94vw);
  max-height:92vh;
  color:var(--ink);
  box-shadow:0 30px 100px color-mix(in srgb,var(--ink) 20.0%,transparent);
}

dialog::backdrop {
  background:color-mix(in srgb,var(--navy-deep) 85.1%,transparent);
  backdrop-filter:blur(6px);
}

.dialog-header {
  position:sticky;
  top:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 20px;
  border-bottom:1px solid var(--line);
  font-size:12px;
  background:var(--white);
  z-index:1;
}

#close-dialog {
  font-size:20px;
  padding:4px 8px;
}

#dialog-content video {
  display:block;
  width:100%;
  max-height:78vh;
  background:var(--navy-deep);
}

#dialog-content img {
  width:100%;
  height:auto;
  max-height:78vh;
  object-fit:contain;
  background:var(--lavender-soft);
}

.dialog-note {
  font-size:11px;
  line-height:1.7;
  margin:0;
  padding:12px 20px;
  color:var(--gray);
}

.noscript-note {
  position:fixed;
  bottom:0;
  padding:14px;
  background:var(--white);
  border:1px solid var(--line);
  z-index:50;
  width:100%;
  text-align:center;
  font-size:12px;
}

[hidden] {
  display:none!important;
}

.viewer-error .spinner {
  display:none;
}

button:disabled {
  opacity:.35;
  cursor:default;
}

@media(min-width:1600px) {
  .site-header {
    padding-left:max(64px,calc((100vw - 1312px)/2));
    padding-right:max(64px,calc((100vw - 1312px)/2));
  }
}

@media(max-width:1100px) {
  .section-shell {
    padding-left:36px;
    padding-right:36px;
  }
  .site-header {
    padding:0 36px;
  }
  .site-header nav {
    gap:22px;
  }
  .hero {
    padding-top:75px;
    min-height:630px;
  }
  .hero h1 {
    font-size:48px;
  }
  .hero-description {
    font-size:13px;
    max-width:350px;
  }
  .hero-machine {
    height:470px;
  }
  .hero-ctas {
    gap:18px;
  }
  .button {
    gap:22px;
    padding:17px 21px;
  }
  .button-small {
    padding:12px 15px;
    font-size:11px;
  }
  .hero-bottom {
    left:36px;
    right:36px;
  }
  .explorer {
    grid-template-columns:minmax(0,1fr) 285px;
  }
  .explorer-info {
    padding:28px 24px;
  }
  .viewer-caption {
    font-size:8px;
  }
  .workflow-content {
    gap:32px;
    grid-template-columns:minmax(0,1fr) 265px;
  }
  #workflow-image {
    height:320px;
  }
  .spec-strip>div+div {
    padding-left:28px;
  }
  .spec-strip strong {
    font-size:23px;
  }
  .applications-section {
    gap:45px;
  }
  .contact-section {
    padding-top:60px;
    padding-bottom:60px;
  }
}

@media(max-width:800px) {
  .site-header {
    height:76px;
    padding:0 24px;
  }
  .brand img {
    width:155px;
  }
  .header-actions {
    gap:17px;
  }
  .site-header nav {
    display:none;
    position:absolute;
    top:75px;
    left:0;
    right:0;
    background:var(--white);
    padding:25px;
    border-bottom:1px solid var(--line);
    box-shadow:0 12px 20px color-mix(in srgb,var(--navy-deep) 3.92%,transparent);
    flex-direction:column;
    gap:25px;
  }
  .site-header nav.open {
    display:flex;
  }
  .menu-toggle {
    display:block;
    font-size:19px;
    padding:8px;
  }
  .section-shell {
    padding-left:24px;
    padding-right:24px;
  }
  .section-space {
    padding-top:75px;
    padding-bottom:70px;
  }
  .hero {
    min-height:850px;
    grid-template-columns:1fr;
    padding-top:52px;
    padding-bottom:64px;
    gap:0;
    background:radial-gradient(ellipse at 60% 70%,var(--paper),transparent 65%);
  }
  .hero h1 {
    font-size:51px;
  }
  .hero-description {
    max-width:460px;
    font-size:14px;
  }
  .hero-copy {
    max-width:620px;
  }
  .hero-ctas {
    margin-top:26px;
  }
  .hero-tags {
    margin-top:26px;
  }
  .hero-visual {
    height:390px;
    margin:-4px 0 0;
    max-width:600px;
    width:100%;
    justify-self:center;
  }
  .hero-watermark {
    font-size:190px;
    right:6%;
    top:0;
  }
  .hero-machine {
    height:380px;
    transform:translate(4%,-2%);
  }
  .visual-label {
    bottom:4%;
    left:6%;
    font-size:10px;
  }
  .hero-bottom {
    left:24px;
    right:24px;
    bottom:23px;
    font-size:8px;
  }
  .hero-bottom>span .muted {
    margin:0 7px;
  }
  .spec-strip {
    padding-top:23px;
    padding-bottom:23px;
    gap:15px;
    grid-template-columns:1.3fr 1fr 1fr;
  }
  .spec-strip>div+div {
    padding-left:17px;
  }
  .spec-strip strong {
    font-size:19px;
  }
  .spec-strip strong small {
    font-size:12px;
  }
  .spec-kicker,.spec-foot {
    font-size:9px;
    line-height:1.6;
  }
  .section-heading {
    gap:25px;
    align-items:flex-start;
  }
  h2 {
    font-size:34px;
  }
  .section-heading>p {
    max-width:260px;
    font-size:12px;
  }
  .explorer {
    grid-template-columns:1fr;
  }
  .explorer-info {
    border-left:0;
    border-top:1px solid var(--line);
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:30px;
  }
  .explorer-info .small-label,.explorer-info h3,.explorer-info>p,.explorer-info>a {
    grid-column:1;
  }
  .explorer-info .detail-item {
    grid-column:2;
  }
  .explorer-info .detail-item:nth-of-type(1) {
    grid-row:1 / span 2;
  }
  .explorer-info .detail-item:nth-of-type(2) {
    grid-row:3;
  }
  .explorer-info .detail-item:nth-of-type(3) {
    grid-row:4;
  }
  .explorer-info h3 {
    font-size:24px;
  }
  .explorer-info>p {
    margin:0;
  }
  .viewer-caption {
    font-size:9px;
  }
  #model-viewer {
    height:420px;
  }
  .workflow-content {
    grid-template-columns:1fr;
    gap:25px;
  }
  .workflow-copy {
    display:grid;
    grid-template-columns:80px 1fr;
    column-gap:24px;
    align-items:start;
  }
  .workflow-copy .step-counter {
    grid-row:1 / span 3;
  }
  .workflow-copy h3 {
    margin:0 0 8px;
  }
  .workflow-copy p {
    margin:0;
  }
  .workflow-copy .inline-link {
    grid-column:2;
    justify-self:start;
  }
  .workflow-tabs {
    gap:10px;
  }
  .workflow-tabs button {
    grid-template-columns:23px 1fr;
    padding:15px 0;
  }
  .workflow-tabs b {
    font-size:14px;
  }
  .workflow-tabs small {
    font-size:9px;
  }
  #workflow-image {
    height:auto;
    aspect-ratio:1.9;
    object-fit:contain;
  }
  .applications-section {
    gap:35px;
    grid-template-columns:1fr 1fr;
    padding-bottom:75px;
  }
  .application-copy h2 {
    font-size:28px;
  }
  .application-image {
    height:360px;
  }
  .application-copy>p {
    font-size:12px;
  }
  .contact-section h2 {
    font-size:34px;
  }
  .contact-section {
    gap:30px;
  }
  .contact-copy {
    max-width:380px;
  }
  .contact-details {
    min-width:200px;
    font-size:11px;
  }
  footer {
    flex-wrap:wrap;
    gap:20px;
  }
  footer>span {
    font-size:8px;
  }
}

@media(max-width:520px) {
  .site-header {
    padding:0 20px;
    height:70px;
  }
  .brand img {
    width:136px;
  }
  .header-actions {
    gap:14px;
  }
  .header-actions .button {
    display:none;
  }
  .language-switch {
    width:124px;
    font-size:12px;
    padding-left:34px;
    padding-right:22px;
  }
  .language-globe { width:18px; height:18px; left:9px; }
  .language-chevron { right:7px; }
  .site-header nav {
    top:69px;
  }
  .section-shell {
    padding-left:22px;
    padding-right:22px;
  }
  .hero {
    padding-top:45px;
    min-height:840px;
  }
  .eyebrow {
    font-size:9px;
    gap:10px;
    margin-bottom:23px;
  }
  .hero h1 {
    font-size:43px;
    line-height:1.4;
    margin-bottom:19px;
    letter-spacing:-.055em;
  }
  .hero-description {
    font-size:12px;
    line-height:1.95;
    max-width:340px;
  }
  .hero-ctas {
    gap:21px;
  }
  .button {
    font-size:12px;
    padding:17px 20px;
  }
  .hero-tags {
    font-size:9px;
    gap:15px;
  }
  .hero-tags span+span {
    padding-left:15px;
  }
  .hero-visual {
    height:330px;
    margin:10px -16px 0;
    width:calc(100% + 32px);
  }
  .hero-machine {
    height:333px;
    transform:translate(2%,0);
  }
  .hero-watermark {
    font-size:150px;
    top:1%;
    right:7%;
  }
  .visual-label {
    font-size:8px;
    padding:10px 12px;
    bottom:1%;
    left:4%;
  }
  .visual-index {
    font-size:6px;
    right:3%;
  }
  .hero-bottom {
    left:22px;
    right:22px;
    bottom:24px;
    font-size:7px;
    letter-spacing:0;
  }
  .hero-bottom>a {
    font-size:8px;
  }
  .spec-strip {
    grid-template-columns:1fr 1fr;
    gap:23px 15px;
    padding-top:26px;
    padding-bottom:26px;
  }
  .spec-strip>div+div {
    padding-left:17px;
  }
  .spec-strip>div:last-child {
    grid-column:1 / -1;
    border-left:0;
    border-top:1px solid var(--line);
    padding-left:0;
    padding-top:20px;
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    column-gap:18px;
  }
  .spec-strip>div:last-child strong {
    grid-column:2;
    grid-row:1 / span 2;
    font-size:20px;
  }
  .spec-strip>div:last-child .spec-foot {
    grid-column:1;
  }
  .spec-strip strong {
    font-size:21px;
    white-space:nowrap;
  }
  .spec-foot {
    font-size:8px;
  }
  .section-space {
    padding-top:64px;
    padding-bottom:60px;
  }
  .section-heading {
    flex-direction:column;
    gap:18px;
    margin-bottom:30px;
  }
  .section-heading .eyebrow {
    font-size:9px;
    margin-bottom:15px;
  }
  h2 {
    font-size:31px;
  }
  .section-heading>p {
    max-width:100%;
    font-size:12px;
    line-height:1.9;
  }
  .viewer-topline {
    padding:19px 16px;
    font-size:9px;
  }
  .viewer-badge {
    font-size:6px;
    padding:5px;
  }
  #model-viewer {
    height:300px;
  }
  #model-fallback {
    padding:10px 25px;
  }
  .viewer-controls {
    padding:12px 13px;
  }
  .viewer-tools {
    gap:12px;
  }
  .viewer-tools button {
    font-size:9px;
  }
  .viewer-caption {
    padding:5px 16px 17px;
    flex-direction:column;
    font-size:8px;
    gap:7px;
  }
  .explorer-info {
    display:block;
    padding:28px 22px;
  }
  .explorer-info h3 {
    font-size:25px;
    margin-top:12px;
  }
  .explorer-info>p {
    margin-bottom:24px;
  }
  .detail-item {
    padding:16px 0;
  }
  .model-note {
    font-size:9px;
  }
  .workflow-section .section-heading {
    position:relative;
  }
  .workflow-tabs {
    gap:8px;
    margin-bottom:23px;
  }
  .workflow-tabs button {
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:10px 0 16px;
  }
  .workflow-tabs button>span {
    font-size:10px;
  }
  .workflow-tabs b {
    font-size:12px;
  }
  .workflow-tabs small {
    font-size:8px;
    line-height:1.6;
  }
  .screen-chrome {
    padding:11px 12px;
    font-size:8px;
  }
  .workflow-copy {
    grid-template-columns:53px 1fr;
    gap:0 20px;
  }
  .step-counter {
    font-size:36px;
  }
  .step-counter small {
    font-size:10px;
  }
  .workflow-copy h3 {
    font-size:21px;
  }
  .workflow-copy>p {
    font-size:12px;
  }
  .applications-section {
    grid-template-columns:1fr;
    gap:30px;
    padding-bottom:60px;
  }
  .application-image {
    height:285px;
  }
  .application-copy h2 {
    font-size:31px;
  }
  .application-copy .eyebrow {
    font-size:9px;
  }
  .contact-section {
    flex-direction:column;
    align-items:flex-start;
    padding-top:48px;
    padding-bottom:44px;
    gap:38px;
  }
  .contact-section h2 {
    font-size:33px;
  }
  .contact-copy>p {
    font-size:12px;
  }
  .contact-decoration {
    font-size:210px;
    top:10px;
  }
  .contact-details {
    padding-top:27px;
    border-top:1px solid color-mix(in srgb,var(--white) 12.55%,transparent);
    width:100%;
    gap:14px;
    font-size:13px;
  }
  .contact-details small {
    margin-top:9px;
  }
  footer {
    display:grid;
    grid-template-columns:1fr 1fr;
    padding-top:30px;
    padding-bottom:30px;
    gap:25px 12px;
  }
  footer>a:last-child {
    text-align:right;
  }
  footer>span:nth-child(2) {
    text-align:right;
    font-size:9px;
  }
  footer>span:nth-child(3) {
    font-size:7px;
  }
  .footer-brand {
    font-size:16px;
  }
  .footer-brand span {
    font-size:7px;
  }
  .dialog-header {
    font-size:10px;
  }
  .dialog-note {
    font-size:10px;
  }
  .viewer-loading {
    font-size:9px;
  }
}

/* Customer-facing story: outcomes, challenges, capabilities, then product detail. */
.hero h1 {
  font-size:clamp(38px,3.8vw,58px);
}

.hero-description {
  max-width:460px;
}

.advantages-section {
  background:var(--navy-deep);
  color:var(--white);
}

.advantages-section .eyebrow {
  color:var(--lavender);
}

.advantages-section .section-heading>p {
  color:var(--lavender);
}

.advantage-layout {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  align-items:center;
  gap:60px;
}

.comparison-proof {
  margin:0;
  min-width:0;
  background:var(--paper);
  color:var(--ink);
  padding:12px;
  box-shadow:0 20px 40px color-mix(in srgb,var(--navy-deep) 25.1%,transparent);
}

.proof-top {
  padding:6px 9px 17px;
  font-size:10px;
  color:var(--navy);
  letter-spacing:.13em;
}

.comparison-proof img {
  width:100%;
  height:auto;
  border:1px solid var(--line);
}

.comparison-proof figcaption {
  padding:19px 12px 0;
  font-size:12px;
  line-height:1.8;
  color:var(--gray);
}

.comparison-proof .inline-link {
  margin:16px 12px 12px;
}

.advantage-list article {
  display:flex;
  align-items:baseline;
  gap:18px;
  padding:25px 0;
}

.advantage-list article+article {
  border-top:1px solid color-mix(in srgb,var(--white) 14.51%,transparent);
}

.advantage-mark {
  color:var(--lavender);
  font-size:11px;
}

.advantage-list h3 {
  font-size:21px;
  line-height:1.5;
  font-weight:500;
  margin:0 0 12px;
}

.advantage-list p {
  font-size:13px;
  color:var(--lavender);
  line-height:1.9;
  margin:0;
}

.applications-section {
  align-items:center;
}

.application-image {
  height:100%;
  min-height:520px;
  max-height:760px;
}

.explore-section {
  padding-top:70px;
  padding-bottom:0;
}

.explore-section .spec-strip {
  padding:25px 0;
  margin-bottom:32px;
}

summary {
  cursor:pointer;
  list-style:none;
}

summary::-webkit-details-marker {
  display:none;
}

summary:focus-visible {
  outline:3px solid var(--navy);
  outline-offset:4px;
}

.faq-list details[open]>summary>span:last-child {
  transform:rotate(45deg);
}

.faq-section {
  padding-top:70px;
}

.faq-list {
  border-top:1px solid var(--line);
}

.faq-list details {
  border-bottom:1px solid var(--line);
}

.faq-list summary>span:last-child {
  font-size:22px;
  color:var(--navy);
  flex-shrink:0;
}

.faq-list p {
  max-width:950px;
  font-size:14px;
  line-height:1.95;
  color:var(--gray);
  margin:0 38px 26px 0;
}

.contact-details {
  max-width:40%;
}

@media(max-width:1100px) {
  .advantage-layout { gap:30px; }
  .advantage-list h3 { font-size:18px; }
}

@media(max-width:800px) {
  .hero h1 { font-size:44px; }
  .advantage-layout { grid-template-columns:1fr; gap:20px; }
  .application-image { min-height:320px; height:360px; }
  .contact-details { max-width:none; }
}

@media(max-width:520px) {
  .hero h1 { font-size:34px; }
  .hero-tags { gap:10px; flex-wrap:wrap; }
  .hero-tags span+span { padding-left:10px; }
  .advantage-list article { padding:22px 0; }
  .advantage-list h3 { font-size:19px; }
  .comparison-proof figcaption { font-size:11px; }
  .application-image { min-height:280px; height:300px; }
  .explore-section .spec-strip { gap:20px; }
  .faq-section,.explore-section { padding-top:55px; }
  .faq-list summary { font-size:14px; padding:20px 0; }
  .faq-list p { font-size:12px; }
}

/* Keep the application examples fully in frame. */
#model-viewer { height:500px; }

.application-image {
  aspect-ratio:0.95;
  height:auto;
  min-height:0;
  max-height:none;
}

.application-image img {
  position:absolute;
  inset:0;
  object-fit:contain;
  object-position:center;
  transform:none;
}

.scan-feedback {
  padding:18px 24px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid var(--line);
  background:var(--paper);
}

.scan-feedback>div:first-child {
  display:flex;
  flex-direction:column;
  gap:6px;
}

.scan-feedback span {
  font-size:10px;
  color:var(--gray);
}

.scan-feedback strong {
  font-size:13px;
  font-weight:500;
}

.scan-meter {
  display:flex;
  align-items:center;
  gap:10px;
  width:36%;
}

.scan-meter progress {
  width:100%;
  min-width:0;
  height:5px;
  border:0;
  border-radius:4px;
  background:var(--line);
  accent-color:var(--navy);
}

.scan-meter progress::-webkit-progress-bar { background:var(--line); border-radius:4px; }
.scan-meter progress::-webkit-progress-value { background:var(--navy); border-radius:4px; }
.scan-meter progress::-moz-progress-bar { background:var(--navy); border-radius:4px; }
#scan-percent { min-width:32px; font-variant-numeric:tabular-nums; }

.scan-actions button {
  padding:12px 18px;
  background:var(--navy);
  color:var(--white);
  font-size:12px;
  min-width:136px;
}

.scan-actions button:hover { background:var(--navy-deep); }
.scan-actions button:disabled { opacity:.5; cursor:default; }
.viewer-controls { background:var(--paper); }

@media(max-width:800px) {
  #model-viewer { height:440px; }
  .application-image { max-width:600px; width:100%; margin:0 auto; }
}

@media(max-width:520px) {
  #model-viewer { height:330px; }
  .scan-feedback { padding:16px 16px 0; gap:12px; }
  .scan-feedback strong { font-size:12px; }
  .scan-feedback span { font-size:9px; }
  .scan-meter { width:32%; gap:7px; }
  .scan-actions button { min-width:122px; font-size:11px; padding:12px; }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
  }
}

/* Customer reading hierarchy: clear actions, brief benefits, optional detail. */
.section-space { padding-top:80px; padding-bottom:80px; }
.hero { min-height:630px; padding-top:72px; }
.hero-description { font-size:16px; line-height:1.85; max-width:460px; }
.hero-ctas { flex-wrap:wrap; gap:14px; }
.button { min-height:48px; border-radius:6px; font-weight:600; }
.button-outline { background:var(--white); color:var(--navy); border-color:var(--lavender); }
.button-outline:hover { background:var(--lavender-soft); }
.video-button {
  gap:14px;
  min-height:62px;
  padding:14px 24px;
  font-size:16px;
  flex-shrink:0;
  box-shadow:0 7px 18px color-mix(in srgb,var(--navy) 14.12%,transparent);
}
.video-button .play-icon {
  width:32px;
  height:32px;
  flex-shrink:0;
  color:var(--white);
  border-color:color-mix(in srgb,var(--white) 43.92%,transparent);
  background:color-mix(in srgb,var(--white) 9.41%,transparent);
  font-size:12px;
}
.hero-tags { font-size:12px; margin-top:25px; }
.advantage-list h3 { font-size:23px; }
.advantage-list p,.workflow-copy>p,.application-copy>p { font-size:16px; line-height:1.85; }
.comparison-proof figcaption { font-size:13px; line-height:1.7; }
.inline-link { font-size:14px; min-height:44px; }
.workflow-section .section-heading { align-items:center; }
.workflow-copy .inline-link { margin-top:16px; }
.workflow-tabs small { font-size:12px; line-height:1.6; }
.application-tags span { font-size:13px; color:var(--navy-deep); background:var(--paper); border-radius:4px; }
.application-image { aspect-ratio:1373 / 1146; }
.explore-section { padding-top:0; padding-bottom:0; }
.machine-disclosure { border:1px solid var(--line); border-radius:8px; background:var(--paper); }
.machine-disclosure>summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:25px 30px;
  cursor:pointer;
  list-style:none;
}
.machine-disclosure>summary::-webkit-details-marker { display:none; }
.machine-disclosure>summary>span:first-child { display:grid; gap:7px; }
.machine-disclosure strong { font-size:20px; font-weight:600; color:var(--navy-deep); }
.machine-disclosure summary span span { font-size:14px; line-height:1.7; color:var(--gray); }
.disclosure-icon { font-size:25px; color:var(--navy); }
.machine-disclosure[open] .disclosure-icon { transform:rotate(45deg); }
.machine-details-content { padding:0 24px 24px; }
.machine-disclosure .spec-strip { padding-left:0; padding-right:0; }
summary:focus-visible { outline:3px solid var(--navy); outline-offset:5px; }
.faq-section h2 { font-size:30px; }
.faq-section .section-heading { margin-bottom:25px; }
.faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 0; font-size:17px; }
.faq-list p { font-size:15px; line-height:1.85; }
.contact-copy>p { font-size:16px; color:var(--lavender); }
.contact-details { font-size:16px; }
.contact-details>span,.contact-details small { font-size:13px; color:var(--lavender); }
#close-dialog { min-width:44px; min-height:44px; }
@media(max-width:1100px) {
  .hero-ctas .button { padding-left:18px; padding-right:18px; }
  .hero-ctas .video-button { gap:10px; }
  .workflow-section .section-heading { gap:25px; }
  .workflow-section h2 { font-size:34px; }
}
@media(max-width:800px) {
  .section-space { padding-top:60px; padding-bottom:60px; }
  .hero { padding-top:48px; }
  .hero-ctas { flex-wrap:wrap; }
  .workflow-section .section-heading { flex-direction:column; align-items:flex-start; }
  .hero-description { max-width:530px; }
  .machine-details-content { padding:0 16px 20px; }
  .machine-disclosure .spec-strip { padding-left:0; padding-right:0; }
}
@media(max-width:520px) {
  .hero { min-height:0; padding-top:34px; padding-bottom:65px; }
  .hero h1 { font-size:34px; }
  .hero-description { font-size:15px; }
  .hero-ctas { display:grid; grid-template-columns:1fr; gap:10px; margin-top:24px; }
  .hero-ctas .button { width:100%; min-height:48px; font-size:15px; }
  .hero-ctas .video-button { min-height:60px; font-size:17px; }
  .hero-tags { font-size:11px; gap:9px; margin-top:20px; }
  .hero-tags span+span { padding-left:9px; }
  .hero-visual { height:280px; margin-top:18px; }
  .hero-machine { height:280px; }
  .hero-bottom { font-size:7px; }
  .section-space { padding-top:48px; padding-bottom:48px; }
  h2,.application-copy h2,.workflow-section h2 { font-size:29px; }
  .workflow-section .section-heading .video-button { width:100%; min-height:60px; }
  .workflow-tabs { gap:8px; }
  .workflow-tabs b { font-size:15px; }
  .workflow-tabs small { font-size:11px; }
  .advantage-list h3 { font-size:21px; }
  .advantage-list p,.workflow-copy>p,.application-copy>p { font-size:15px; }
  .application-tags span { font-size:12px; }
  .application-image { aspect-ratio:1373 / 1146; }
  .machine-disclosure>summary { padding:22px 18px; gap:14px; }
  .machine-disclosure strong { font-size:18px; }
  .machine-disclosure summary span span { font-size:13px; }
  .faq-section h2 { font-size:26px; }
  .faq-list summary { font-size:16px; }
  .faq-list p { font-size:14px; }
  .contact-copy>p { font-size:15px; }
}

/* Depth and restrained motion for the customer presentation. */
:root { --ease-out:cubic-bezier(.2,.7,.2,1); }
.site-header { transition:box-shadow .25s, background .25s; }
.site-header.is-scrolled { background:color-mix(in srgb,var(--white) 96.08%,transparent); box-shadow:0 5px 26px color-mix(in srgb,var(--navy-deep) 6.27%,transparent); }
.site-header::after { content:""; position:absolute; bottom:-1px; left:0; width:100%; height:2px; background:linear-gradient(90deg,var(--navy),var(--lavender)); transform:scaleX(var(--page-progress,0)); transform-origin:left; pointer-events:none; }
.site-header nav a { position:relative; padding:12px 0; }
.site-header nav a::after { content:""; position:absolute; bottom:3px; left:0; width:100%; height:2px; background:var(--navy); transform:scaleX(0); transform-origin:left; transition:transform .25s var(--ease-out); }
.site-header nav a:hover::after,.site-header nav a[aria-current]::after { transform:scaleX(1); }
.site-header nav a[aria-current] { color:var(--navy); }
.hero { background:radial-gradient(ellipse at 84% 45%,color-mix(in srgb,var(--lavender-soft) 45.88%,transparent),transparent 55%),linear-gradient(140deg,var(--white) 36%,var(--paper)); }
.hero-visual::before { content:""; position:absolute; inset:8% 0 5% 8%; border-radius:50%; background:radial-gradient(ellipse at 52% 46%,var(--white) 15%,color-mix(in srgb,var(--lavender-soft) 20.0%,transparent) 55%,transparent 72%); box-shadow:inset 0 0 70px color-mix(in srgb,var(--white) 60.0%,transparent); z-index:-1; pointer-events:none; }
.hero-machine { translate:var(--pointer-x,0px) var(--pointer-y,0px); transition:translate .4s var(--ease-out); }
.machine-grid { transform:perspective(900px) rotateX(22deg) rotateZ(-8deg); }
.machine-orbit { box-shadow:0 18px 35px -26px color-mix(in srgb,var(--navy) 43.92%,transparent); }
.visual-label { border-radius:7px; box-shadow:0 12px 32px color-mix(in srgb,var(--navy-deep) 9.02%,transparent); }
.button { transition:background .2s,transform .25s var(--ease-out),box-shadow .25s; }
.button:hover { box-shadow:0 10px 24px color-mix(in srgb,var(--navy) 16.86%,transparent); }
.button:active { transform:translateY(0) scale(.985); }
.advantages-section { position:relative; isolation:isolate; background:radial-gradient(ellipse at 8% 18%,color-mix(in srgb,var(--navy-deep) 39.61%,transparent),transparent 60%),linear-gradient(125deg,var(--navy-deep),var(--navy-deep)); }
.comparison-proof { border:1px solid color-mix(in srgb,var(--white) 40.0%,transparent); border-radius:14px; box-shadow:0 24px 55px color-mix(in srgb,var(--navy-deep) 23.14%,transparent),0 2px 5px color-mix(in srgb,var(--navy-deep) 18.82%,transparent); }
.comparison-proof img { border-radius:6px; }
.advantage-list article { border-radius:8px; transition:background .25s,translate .25s; }
.screen-frame { border-radius:12px; box-shadow:0 18px 40px color-mix(in srgb,var(--navy-deep) 6.27%,transparent),0 3px 8px color-mix(in srgb,var(--navy-deep) 3.14%,transparent); }
.workflow-tabs button { transition:color .2s,background .2s; border-radius:7px 7px 0 0; }
.workflow-tabs button:hover { background:var(--lavender-soft); }
.workflow-tabs button.active { background:linear-gradient(0deg,color-mix(in srgb,var(--lavender-soft) 66.67%,transparent),transparent); }
.application-image { border-radius:16px; box-shadow:0 18px 45px color-mix(in srgb,var(--navy-deep) 12.55%,transparent); }
.application-image>span { border-radius:4px; }
.machine-disclosure { background:linear-gradient(120deg,var(--paper),var(--lavender-soft)); box-shadow:0 5px 18px color-mix(in srgb,var(--navy) 3.14%,transparent); transition:border-color .25s,box-shadow .25s; }
.machine-disclosure:hover { border-color:var(--lavender); box-shadow:0 9px 26px color-mix(in srgb,var(--navy) 6.27%,transparent); }
.disclosure-icon { transition:transform .25s; }
.contact-section { background:radial-gradient(ellipse at 85% 25%,color-mix(in srgb,var(--navy-deep) 56.47%,transparent),transparent 65%),linear-gradient(115deg,var(--navy-deep),var(--navy-deep)); }
.contact-decoration { color:color-mix(in srgb,var(--white) 3.14%,transparent); }
.channel-section { margin-top:56px; padding-top:36px; border-top:1px solid var(--line); }
.channel-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.channel-kicker { display:flex; align-items:center; gap:10px; color:var(--gray); font-size:10px; letter-spacing:.1em; }
.youtube-mark { display:inline-grid; place-items:center; width:25px; height:18px; border-radius:5px; background:var(--navy); color:var(--white); font-size:9px; line-height:1; }
.channel-heading h3 { font-size:25px; line-height:1.4; font-weight:550; margin:12px 0 0; }
.channel-link { flex-shrink:0; }
.video-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.video-card { display:block; min-width:0; border:1px solid var(--line); border-radius:12px; background:var(--white); box-shadow:0 7px 18px color-mix(in srgb,var(--navy-deep) 3.14%,transparent); transition:translate .3s var(--ease-out),box-shadow .3s,border-color .3s; }
.video-cover { position:relative; overflow:hidden; aspect-ratio:16/9; border-radius:11px 11px 0 0; background:var(--navy-deep); }
.video-cover img { width:100%; height:100%; object-fit:cover; transition:scale .5s var(--ease-out); }
.video-cover::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,color-mix(in srgb,var(--navy-deep) 33.33%,transparent),transparent 60%); pointer-events:none; }
.video-card-play { position:absolute; z-index:1; top:50%; left:50%; translate:-50% -50%; width:54px; height:54px; display:grid; place-items:center; padding-left:3px; border-radius:50%; background:var(--white); color:var(--navy); box-shadow:0 5px 25px color-mix(in srgb,var(--ink) 26.67%,transparent); transition:scale .25s,background .25s; }
.video-duration { position:absolute; z-index:1; right:14px; bottom:12px; padding:5px 8px; border-radius:4px; background:color-mix(in srgb,var(--navy-deep) 90.98%,transparent); color:var(--white); font-size:12px; font-variant-numeric:tabular-nums; }
.video-card-copy { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:22px 24px; }
.video-topic { color:var(--gray); font-size:11px; letter-spacing:.07em; }
.video-card h4 { margin:8px 0 0; font-size:20px; line-height:1.5; font-weight:550; }
.video-card-arrow { flex-shrink:0; color:var(--navy); font-size:22px; }
.footer-channel { display:inline-flex; align-items:center; gap:9px; min-height:44px; }
#media-dialog { border-radius:12px; }
#dialog-content iframe { display:block; width:100%; aspect-ratio:16/9; min-height:200px; max-height:70vh; border:0; background:var(--navy-deep); }
.youtube-fallback { display:block; color:var(--navy); min-height:44px; font-size:13px; }
@media(hover:hover) {
  .advantage-list article:hover { background:color-mix(in srgb,var(--white) 2.35%,transparent); translate:4px 0; }
  .video-card:hover { translate:0 -5px; border-color:var(--lavender); box-shadow:0 18px 35px color-mix(in srgb,var(--navy-deep) 12.55%,transparent); }
  .video-card:hover img { scale:1.025; }
  .video-card:hover .video-card-play { scale:1.08; background:var(--white); }
}
@media(max-width:800px) {
  .video-card-copy { padding:18px; }
  .video-card h4 { font-size:18px; }
  .channel-heading h3 { font-size:23px; }
}
@media(max-width:520px) {
  .channel-section { margin-top:36px; padding-top:28px; }
  .channel-heading { align-items:flex-start; flex-direction:column; gap:8px; margin-bottom:18px; }
  .channel-kicker { font-size:9px; }
  .channel-heading h3 { font-size:22px; }
  .channel-link { padding:8px 0; }
  .video-grid { grid-template-columns:1fr; gap:20px; }
  .video-card h4 { font-size:18px; }
  .video-card-play { width:48px; height:48px; }
  .hero-visual::before { inset:5% 2%; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-machine,.advantage-list article,.video-card { translate:none!important; }
  .video-card img,.video-card-play { scale:1!important; }
  .button:hover,.button:active { transform:none; }
}
@media print {
  .site-header { position:static; }
  .hero-machine { translate:none; }
}

/* Inspection options: the selected feature and its explanation share one panel. */
.inspection-section { background:linear-gradient(145deg,var(--paper),var(--paper)); border-block:1px solid var(--line); margin-bottom:56px; }
.inspection-section .section-heading { margin-bottom:30px; }
.inspection-intro { margin:20px 0 0; color:var(--gray); line-height:1.8; }
.inspection-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:18px; }
.inspection-tabs[hidden],.inspection-panel[hidden] { display:none; }
.inspection-tabs button { display:flex; align-items:center; gap:14px; min-height:68px; padding:16px 20px; text-align:left; border:1px solid var(--line); border-radius:8px; background:color-mix(in srgb,var(--white) 61.18%,transparent); transition:background .2s,color .2s,box-shadow .2s; }
.inspection-tabs button>span { font-size:12px; opacity:.8; }
.inspection-tabs b { font-size:16px; font-weight:550; line-height:1.4; }
/* German compounds and Polish labels must fit without shrinking the type. */
html:lang(de) main, html:lang(pl) main { overflow-wrap:break-word; }
html:lang(de) .workflow-tabs, html:lang(de) .inspection-tabs { hyphens:auto; }
.workflow-tabs button, .inspection-tabs b { min-width:0; overflow-wrap:anywhere; }
.inspection-tabs button:hover { background:var(--lavender-soft); }
.inspection-tabs button[aria-selected="true"] { background:var(--navy); color:var(--white); border-color:var(--navy); box-shadow:0 5px 14px color-mix(in srgb,var(--navy) 14.9%,transparent); }
.inspection-panel { display:grid; grid-template-columns:2fr 1fr; align-items:center; gap:32px; padding:24px; border:1px solid var(--line); border-radius:14px; background:var(--white); box-shadow:0 16px 38px color-mix(in srgb,var(--navy-deep) 3.53%,transparent); }
.inspection-figure { margin:0; min-width:0; }
.inspection-mobile-readout { display:none; }
.inspection-screenshot>svg { display:block; width:100%; height:auto; aspect-ratio:16 / 10; background:var(--white); }
.inspection-figure figcaption { text-align:center; color:var(--gray); font-size:12px; padding-bottom:8px; }
.inspection-index { font-size:12px; letter-spacing:.15em; color:var(--navy); }
.inspection-copy h3 { font-size:28px; font-weight:550; line-height:1.5; margin:20px 0 16px; }
.inspection-copy p { font-size:16px; line-height:1.9; color:var(--gray); margin:0; }
.inspection-features { list-style:none; display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:24px 0 0; }
.inspection-features li { padding:8px 12px; border-radius:5px; color:var(--navy-deep); background:var(--lavender-soft); font-size:13px; line-height:1.5; }
.inspection-footer { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:22px; }
.inspection-footer p { max-width:620px; font-size:13px; line-height:1.8; color:var(--gray); margin:0; }
.inspection-footer a { flex-shrink:0; font-size:14px; }
@media(max-width:1100px) {
  .inspection-tabs button { padding:14px 12px; gap:10px; }
  .inspection-tabs b { font-size:14px; }
  .inspection-panel { gap:24px; padding:24px; }
  .inspection-copy h3 { font-size:24px; }
}
@media(max-width:800px) {
  .inspection-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .inspection-tabs button { min-height:60px; }
  .inspection-panel { grid-template-columns:1fr; gap:12px; padding:16px 24px 28px; }
  .inspection-figure { width:100%; margin:auto; }
  .inspection-copy h3 { margin:12px 0; }
  .inspection-copy p { font-size:15px; }
  .inspection-footer { flex-direction:column; align-items:flex-start; gap:8px; }
}
@media(max-width:520px) {
  .inspection-section { margin-bottom:32px; }
  .inspection-panel { padding:8px 18px 24px; }
  .inspection-copy h3 { font-size:22px; }
  .inspection-intro { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
  .inspection-tabs button { transition:none; }
}

/* Sample comparisons: source photos, readable readings, clear quality decisions. */
.comparison-section .section-heading { margin-bottom:30px; }
.case-lead { max-width:850px; margin:20px 0 0; color:var(--gray); font-size:16px; line-height:1.85; }
.comparison-cases { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.comparison-case { min-width:0; border:1px solid var(--line); border-radius:14px; padding:28px; background:var(--white); box-shadow:0 14px 38px color-mix(in srgb,var(--navy-deep) 6.27%,transparent); display:flex; flex-direction:column; }
.case-intro { display:grid; grid-template-columns:120px minmax(0,1fr); gap:22px; align-items:center; margin-bottom:24px; }
.case-intro img { display:block; width:120px; height:auto; border-radius:8px; }
.case-label { display:block; font-size:12px; line-height:1.6; color:var(--gray); }
.case-intro h3 { font-size:25px; line-height:1.45; margin:10px 0 0; }
.case-table { width:100%; border-collapse:collapse; table-layout:fixed; }
.case-table caption { text-align:left; font-size:14px; line-height:1.7; padding:0 0 15px; }
.case-table th,.case-table td { padding:14px 8px; text-align:center; vertical-align:middle; border-bottom:1px solid var(--line); }
.case-table thead th { font-size:14px; font-weight:550; background:var(--paper); overflow-wrap:anywhere; }
.case-table thead th:first-child { width:24%; }
.case-table tbody th { color:var(--gray); font-size:14px; font-weight:400; }
.case-table .case-vqc { background:var(--lavender-soft); }
.case-table thead .case-vqc { color:var(--navy); background:var(--lavender-soft); }
.case-table strong { display:block; font-size:25px; font-weight:550; font-variant-numeric:tabular-nums; white-space:nowrap; }
.case-table small { font-size:11px; font-weight:400; }
.case-status { display:inline-block; margin-top:8px; font-size:12px; line-height:1.5; border-radius:4px; padding:3px 8px; }
.case-pass { color:var(--pass); background:var(--pass-soft); }
.case-fail { color:var(--fail); background:var(--fail-soft); }
.case-takeaway { border-left:3px solid var(--navy); padding:0 0 0 14px; margin:24px 0 0; font-size:15px; line-height:1.85; color:var(--navy-deep); }
.case-benefit { display:flex; align-items:center; justify-content:space-between; gap:28px; background:var(--lavender-soft); border-radius:12px; margin-top:24px; padding:26px 28px; }
.case-benefit strong { font-size:21px; line-height:1.5; }
.case-benefit p { max-width:730px; font-size:15px; line-height:1.8; color:var(--gray); margin:10px 0 0; }
.case-benefit .button { flex-shrink:0; gap:20px; }
@media(max-width:1100px) {
  .case-intro { grid-template-columns:90px minmax(0,1fr); gap:16px; }
  .case-intro img { width:90px; }
  .case-intro h3 { font-size:22px; }
  .case-table strong { font-size:22px; }
}
@media(max-width:800px) {
  .comparison-cases { grid-template-columns:1fr; }
  .case-benefit { flex-direction:column; align-items:flex-start; }
}
@media(max-width:520px) {
  .comparison-case { padding:20px 16px; }
  .case-intro { grid-template-columns:76px minmax(0,1fr); gap:14px; }
  .case-intro img { width:76px; }
  .case-intro h3 { font-size:20px; }
  .case-table th,.case-table td { padding:12px 5px; }
  .case-table strong { font-size:21px; }
  .case-table thead th,.case-table tbody th { font-size:12px; }
  .case-status { font-size:11px; padding:3px 6px; }
  .case-benefit { padding:22px; }
  .case-benefit .button { width:100%; }
}

/* Unmodified application captures, with an optional full-resolution viewer. */
.inspection-screen-label { display:flex; align-items:center; gap:10px; color:var(--gray); font-size:11px; letter-spacing:.04em; padding:12px 14px; background:var(--lavender-soft); border-radius:7px 7px 0 0; }
.inspection-screenshot { display:block; border:1px solid var(--line); border-radius:0 0 7px 7px; overflow:hidden; cursor:zoom-in; }
.inspection-enlarge { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; min-height:44px; color:var(--navy); background:var(--paper); font-size:13px; }
.inspection-screenshot:hover .inspection-enlarge { background:var(--lavender-soft); }
.inspection-figure figcaption { padding:12px 0 0; line-height:1.6; }
#media-dialog.screenshot-dialog { width:min(1440px,96vw); max-width:96vw; }
.screenshot-toolbar { display:flex; align-items:center; gap:16px; padding:12px 20px; border-bottom:1px solid var(--line); }
.screenshot-toolbar>span { color:var(--gray); font-size:12px; line-height:1.6; }
.screenshot-toolbar button { flex-shrink:0; }
.screenshot-viewport { overflow:auto; max-height:70vh; overscroll-behavior:contain; }
#dialog-content .screenshot-viewport img { width:100%; max-width:none; max-height:none; height:auto; background:var(--white); }
#dialog-content .screenshot-viewport.is-original img { width:auto; }
@media(max-width:800px) {
  .screenshot-toolbar { flex-wrap:wrap; gap:8px; padding:12px; }
  .screenshot-viewport { max-height:62vh; }
}

/* Six concise strengths, with visible scope beside the evidence link. */
.advantage-layout { grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr); align-items:start; gap:40px; }
.advantage-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.advantage-list article,.advantage-list article+article { display:block; margin:0; padding:22px; border:1px solid color-mix(in srgb,var(--white) 14.9%,transparent); background:color-mix(in srgb,var(--white) 1.96%,transparent); }
.advantage-icon { display:block; width:40px; height:40px; margin-bottom:14px; fill:none; stroke:var(--lavender); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.advantage-list h3 { font-size:19px; line-height:1.4; margin:0 0 9px; }
.advantage-list p { font-size:14px; line-height:1.7; color:var(--lavender); }
.advantage-scope { display:flex; align-items:center; gap:32px; justify-content:space-between; margin-top:28px; padding-top:22px; border-top:1px solid color-mix(in srgb,var(--white) 18.82%,transparent); }
.advantage-scope p { max-width:790px; margin:0; font-size:14px; line-height:1.7; color:var(--lavender); }
.advantage-scope .inline-link { color:var(--white); flex-shrink:0; font-size:15px; }
.case-features { font-size:14px; line-height:1.7; color:var(--gray); margin:12px 0 0; }
@media(max-width:1100px) {
  .advantage-layout { grid-template-columns:1fr; }
  .advantage-list { grid-template-columns:repeat(3,minmax(0,1fr)); order:-1; }
  .comparison-proof { max-width:720px; width:100%; justify-self:center; box-sizing:border-box; }
}
@media(max-width:760px) {
  .advantage-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .advantage-list article { padding:18px; }
  .advantage-list h3 { font-size:18px; }
  .advantage-scope { display:block; }
  .advantage-scope .inline-link { margin-top:18px; }
}
@media(max-width:480px) {
  .advantage-list { grid-template-columns:1fr; gap:10px; }
  .advantage-list article,.advantage-list article+article { display:flex; align-items:flex-start; gap:16px; padding:18px; }
  .advantage-icon { flex-shrink:0; margin:0; width:34px; height:34px; }
}

/* Customer decision path: three benefits, optional 3D, readable evidence and contact. */
.hero-applications { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:22px; color:var(--gray); font-size:13px; line-height:1.6; }
.hero-applications span { border-bottom:1px solid var(--line); padding-bottom:3px; }
.hero-tags { margin-top:16px; }
.advantage-list { grid-template-columns:1fr; }
.advantage-list article,.advantage-list article+article { display:flex; align-items:flex-start; gap:18px; padding:20px; }
.advantage-icon { flex-shrink:0; margin-bottom:0; }
.case-scope { margin:22px 0; color:var(--gray); font-size:14px; line-height:1.75; max-width:1000px; }
.result-guide { border-left:3px solid var(--lavender); padding-left:14px; color:var(--gray); font-size:14px; line-height:1.7; }
.copy-email { width:fit-content; min-height:44px; padding:8px 12px; border:1px solid var(--lavender); border-radius:6px; color:var(--white); font-size:14px; }
.copy-email:hover { background:color-mix(in srgb,var(--white) 8.24%,transparent); }
#copy-status { font-size:14px; line-height:1.6; }
#copy-status:empty { display:none; }
.mobile-contact { display:none; }
.case-status { white-space:normal; line-height:1.5; }
@media(min-width:801px) {
  html:lang(zh-CN) .hero h1,html:lang(zh-TW) .hero h1 { font-size:42px; }
}
@media(max-width:1100px) and (min-width:761px) {
  .advantage-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .advantage-list article,.advantage-list article+article { display:block; }
  .advantage-icon { margin-bottom:12px; }
}
@media(max-width:800px) {
  .show-mobile-contact .mobile-contact { display:flex; position:fixed; z-index:20; bottom:calc(12px + env(safe-area-inset-bottom)); left:22px; right:22px; min-height:48px; padding:12px 18px; box-shadow:0 4px 20px color-mix(in srgb,var(--navy-deep) 20.0%,transparent); font-size:14px; text-align:center; }
  body:has(dialog[open]) .mobile-contact { display:none; }
  html { scroll-padding-bottom:90px; }
  .hero-applications { font-size:12px; }
  .case-scope { font-size:13px; }
}
@media(max-width:480px) {
  html:lang(zh-CN) .hero h1,html:lang(zh-TW) .hero h1 { font-size:26px; line-height:1.5; }
}
@media print { .mobile-contact,.copy-email,#copy-status { display:none!important; } }

/* Follow the customer journey: machine demo, results, evidence, suitability. */
.hero + .explore-section { padding-top:32px; padding-bottom:64px; }
.machine-disclosure .scan-eyebrow { color:var(--gray); font-size:12px; letter-spacing:.06em; }
.machine-disclosure .scan-eyebrow span { font-size:12px; }
.explore-section .spec-strip { margin-top:24px; margin-bottom:0; }
.real-workflow-button { margin-top:24px; width:100%; padding:16px; gap:10px; font-size:14px; white-space:normal; line-height:1.5; }
@media(max-width:800px) {
  .hero + .explore-section { padding-top:20px; padding-bottom:40px; }
}

/* Translated report labels may span more than one word. */
.spec-strip .spec-report { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; white-space:normal; min-width:0; }
.spec-report [data-i18n] { min-width:0; overflow-wrap:anywhere; }
.viewer-badge { white-space:normal; text-align:right; }


/* Shared editorial hierarchy: display, section, card, body and supporting text. */
:root {
  --type-display:clamp(36px,4vw,56px);
  --type-section:clamp(30px,3vw,40px);
  --type-card:24px;
  --type-body:17px;
  --type-note:14px;
}
body { line-height:1.65; }
.hero h1,html:lang(zh-CN) .hero h1,html:lang(zh-TW) .hero h1 {
  font-size:var(--type-display); line-height:1.22; letter-spacing:-.035em; text-wrap:balance;
}
.hero h1 span { color:inherit; }
.hero { padding-top:100px; padding-bottom:100px; align-items:center; }
.hero-description { font-size:var(--type-body); line-height:1.75; max-width:500px; margin-top:28px; }
.hero-ctas { margin-top:32px; gap:16px; flex-wrap:wrap; }
.hero-ctas .button,.hero-ctas .video-button { font-size:var(--type-body); min-height:52px; padding:16px 22px; gap:12px; }
.button { border-radius:10px; }
.hero-watermark,.crosshair,.visual-index,.visual-label,.machine-grid,.machine-orbit { display:none; }
.hero-bottom { display:none; }
.hero-visual { margin:0 -24px 0 0; }
.hero .eyebrow { margin-bottom:24px; }
.eyebrow,.scan-eyebrow,.machine-disclosure summary .scan-eyebrow,.machine-disclosure summary .scan-eyebrow span {
  font-size:var(--type-note); letter-spacing:.035em; line-height:1.5;
}
.section-space { padding-top:100px; padding-bottom:100px; }
h2,.workflow-section h2,.application-copy h2,.faq-section h2,.contact-copy h2,
.machine-disclosure summary strong { font-size:var(--type-section); line-height:1.25; font-weight:600; letter-spacing:-.025em; text-wrap:balance; }
.section-heading { margin-bottom:40px; }
.hero + .explore-section { padding-top:64px; padding-bottom:88px; }
.machine-disclosure,.machine-disclosure[open] { background:transparent; border:0; border-radius:0; box-shadow:none; }
.machine-disclosure summary { padding:0 0 36px; align-items:center; }
.machine-disclosure summary>span:first-child { display:grid; gap:16px; }
.machine-disclosure summary span span { font-size:var(--type-body); line-height:1.65; }
.machine-details-content { padding:0; }
.explorer { border-radius:20px; overflow:hidden; }
.explorer-info { padding:32px; }
.explorer-info h3,.workflow-copy h3,.inspection-copy h3,.advantage-list h3,.case-intro h3,.channel-heading h3,.video-card h4,.case-benefit strong {
  font-size:var(--type-card); line-height:1.4; font-weight:600; letter-spacing:-.015em;
}
.explorer-info>p,.detail-item p,.workflow-copy>p,.inspection-copy p,.advantage-list p,.application-copy>p,.case-lead,.contact-copy>p,.faq-list p {
  font-size:var(--type-body); line-height:1.75;
}
.detail-item h4,.workflow-tabs b,.inspection-tabs b,.faq-list summary,.inline-link { font-size:var(--type-body); line-height:1.5; }
.small-label,.detail-item>span,.viewer-caption,.model-note,.spec-kicker,.spec-foot,.workflow-tabs small,.case-scope,.case-features,.case-label,.case-status,.case-table caption,.case-table th,.inspection-figure figcaption,.inspection-footer p,.inspection-index,.video-topic,.channel-kicker,.result-guide,.comparison-proof figcaption,.application-tags span,.contact-details small,footer {
  font-size:var(--type-note); line-height:1.6;
}
.spec-strip strong,.spec-strip strong small { font-size:var(--type-card); line-height:1.4; font-weight:600; }
.spec-strip { gap:24px; padding-top:32px; padding-bottom:32px; }
.spec-strip>div { min-width:0; }
.small-label { letter-spacing:.02em; }
.detail-item { padding:24px 0; }
.explorer-info>p { margin-bottom:28px; }
.workflow-tabs button { padding-top:20px; padding-bottom:20px; }
.case-table strong { font-size:var(--type-card); }
.case-table { table-layout:fixed; overflow-wrap:anywhere; }
@media(max-width:1100px) {
  .hero { grid-template-columns:1fr 1fr; gap:24px; }
  .explorer-info { padding:24px; }
}
@media(max-width:800px) {
  :root { --type-display:36px; --type-section:30px; --type-card:22px; --type-body:16px; }
  .hero { grid-template-columns:1fr; padding-top:56px; padding-bottom:40px; gap:32px; }
  .hero-visual { margin:0; }
  .hero-ctas .button,.hero-ctas .video-button { width:auto; flex:1 1 210px; font-size:var(--type-body); min-height:52px; }
  .section-space { padding-top:64px; padding-bottom:64px; }
  .hero + .explore-section { padding-top:40px; padding-bottom:64px; }
  .machine-disclosure summary { padding-bottom:28px; }
  .machine-details-content { padding:0; }
  .explorer-info { padding:24px; }
  .spec-strip { gap:24px; }
  .workflow-tabs { gap:12px; }
  .workflow-tabs button { grid-template-columns:1fr; }
  .workflow-tabs button>span { display:none; }
}
/* Controls and captions remain readable at the same supporting-text size. */
.viewer-topline,.viewer-badge,.viewer-tools button,.scan-feedback span,.scan-progress span,
.scan-feedback small,.viewer-loading,.screen-chrome,.inspection-screen-label,.inspection-enlarge,
.site-header nav,.language-switch,.button-small,.spec-strip .spec-foot {
  font-size:var(--type-note); line-height:1.5;
}
.scan-actions button { font-size:var(--type-note); min-height:44px; }
.scan-feedback strong { font-size:var(--type-body); }
.viewer-topline { flex-wrap:wrap; gap:12px; }
.viewer-badge { letter-spacing:0; }
.viewer-tools { flex-wrap:wrap; }
.viewer-tools button { min-height:44px; }
.machine-disclosure>summary>span:first-child { gap:16px; }
@media(max-width:800px) {
  .viewer-controls { flex-wrap:wrap; }
  .viewer-tools { width:100%; justify-content:flex-end; }
  .viewer-topline { padding:20px 16px; }
}
.spec-strip strong { white-space:normal; overflow-wrap:anywhere; }
.viewer-loading { max-width:calc(100% - 32px); white-space:normal; }

/* Preserve the supplied white-background safety-equipped machine photo. */
.hero-machine { mix-blend-mode:multiply; filter:none; }
#model-fallback { mix-blend-mode:multiply; padding:16px; object-fit:contain; }

.hero { background:var(--white); }
.hero-visual::before,.hero-visual::after { display:none; }

/* Phones / metered connections: the 3D bundle (~5 MB) loads on tap instead of automatically. */
.viewer-load-button {
  position:absolute;
  bottom:14px;
  left:50%;
  transform:translateX(-50%);
  z-index:3;
  max-width:calc(100% - 32px);
  padding:13px 20px;
  border-radius:6px;
  background:var(--navy);
  color:var(--white);
  font-size:14px;
  font-weight:600;
  line-height:1.35;
  text-align:center;
  box-shadow:0 4px 20px color-mix(in srgb,var(--navy-deep) 20.0%,transparent);
}
.viewer-load-button:hover { background:var(--navy-deep); }
.viewer-load-button[hidden] { display:none; }
.viewer-loading[hidden] { display:none; }

/* Phones: the floating "discuss your part" bar must not hide the footer links, and is a little slimmer. */
@media(max-width:800px) {
  .show-mobile-contact .mobile-contact { left:16px; right:16px; min-height:44px; padding:10px 16px; }
  .show-mobile-contact footer { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
}

/* "Try it": two small calculators in the advantages section (formulas are on the page; copy needs sign-off before release) */
.try-it { margin-top:48px; padding-top:32px; border-top:1px solid color-mix(in srgb,var(--white) 18.04%,transparent); }
.try-it .eyebrow { margin-bottom:18px; }
.try-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.try-card { background:color-mix(in srgb,var(--white) 7.06%,transparent); border:1px solid color-mix(in srgb,var(--white) 18.04%,transparent); border-radius:12px; padding:24px 26px; color:var(--white); }
.try-card h3 { margin:0 0 10px; font-size:21px; line-height:1.35; }
.try-card p { margin:8px 0; font-size:15px; line-height:1.65; color:var(--lavender); }
.try-card label { display:flex; justify-content:space-between; gap:12px; margin-top:14px; font-size:14px; color:var(--lavender); }
.try-card output { font-variant-numeric:tabular-nums; color:var(--white); font-weight:700; white-space:nowrap; }
.try-card input[type=range] { width:100%; accent-color:var(--lavender); margin:6px 0 2px; }
.try-card input[type=range]:focus-visible { outline:3px solid var(--lavender); outline-offset:4px; }
.try-result { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-top:20px!important; padding-top:14px; border-top:1px solid color-mix(in srgb,var(--white) 18.04%,transparent); }
.try-result strong { font-size:38px; line-height:1.1; color:var(--white); font-variant-numeric:tabular-nums; }
.try-card .try-note { font-size:13px; color:var(--lavender); }
.tele-figure svg { display:block; width:100%; height:auto; margin:10px 0 4px; }
.tele-read { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:16px 0 0; }
.tele-read div { background:color-mix(in srgb,var(--white) 5.88%,transparent); border:1px solid color-mix(in srgb,var(--white) 14.9%,transparent); border-radius:8px; padding:10px 12px; }
.tele-read dt { font-size:12.5px; color:var(--lavender); line-height:1.4; }
.tele-read dd { margin:4px 0 0; font-size:26px; font-weight:700; font-variant-numeric:tabular-nums; }
@media(max-width:900px) { .try-grid { grid-template-columns:1fr; } .try-card { padding:20px; } .try-result strong { font-size:32px; } }
@media(max-width:420px) { .tele-read { grid-template-columns:1fr; } }
@media print { .try-it { display:none; } }
.calc-chart svg { display:block; width:100%; height:auto; margin:6px 0 4px; }

/* T37 / approved E: expanded display type, natural body width and logo colours. */
.interface-symbol { display:inline-block; width:1em; height:1em; flex-shrink:0; vertical-align:-.12em; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.interface-symbol .symbol-play { fill:currentColor; stroke:none; }
:root {
  --type-display:clamp(30px,8.6vw + 4px,64px);
  --type-section:clamp(26px,6.4vw,44px);
  --type-card:clamp(20px,2vw,24px);
  --heading-width:112%;
}
html:lang(zh-TW) { --font-brand:Brand,"Noto Sans TC","Noto Sans SC",sans-serif; }
body { font-family:var(--font-brand); font-weight:400; font-stretch:100%; line-height:1.65; }
button,input,select,textarea { font-family:var(--font-brand); font-stretch:100%; }
p,.hero-description,.explorer-info>p,.detail-item p,.workflow-copy>p,.inspection-copy p,
.advantage-list p,.application-copy>p,.case-lead,.contact-copy>p,.faq-list p { line-height:1.65; }
html:lang(zh) body,html:lang(zh) p { line-height:1.75; }
.hero h1,html:lang(zh-CN) .hero h1,html:lang(zh-TW) .hero h1,
h2,.workflow-section h2,.application-copy h2,.faq-section h2,.contact-copy h2,
.machine-disclosure summary strong {
  font-weight:700;
  font-stretch:var(--heading-width);
  letter-spacing:-.01em;
  line-height:1.1;
}
.hero h1,html:lang(zh-CN) .hero h1,html:lang(zh-TW) .hero h1 { font-size:var(--type-display); }
h2,.workflow-section h2,.application-copy h2,.faq-section h2,.contact-copy h2,
.machine-disclosure summary strong { font-size:var(--type-section); }
h1,h2,h3,h4,.machine-disclosure summary strong {
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.hero h1>span { display:block; }
h3,h4,.explorer-info h3,.workflow-copy h3,.inspection-copy h3,.advantage-list h3,
.case-intro h3,.channel-heading h3,.video-card h4,.case-benefit strong,.try-card h3 {
  font-weight:700;
  font-stretch:var(--heading-width);
  letter-spacing:-.01em;
  line-height:1.25;
}
html:lang(zh) { --type-display:clamp(24px,6.88vw + 3.2px,51.2px); --type-section:clamp(20.8px,5.12vw,35.2px); --type-card:clamp(18px,1.6vw,20px); }
html:lang(zh) :is(h1,h2,h3,h4),html:lang(zh) .machine-disclosure summary strong { font-stretch:100%; line-height:1.3; }
html:lang(zh) h3 { font-size:var(--type-card); }
.eyebrow,.section-heading .eyebrow,.application-copy .eyebrow,.contact-section .eyebrow,
.scan-eyebrow,.machine-disclosure summary .scan-eyebrow,
.machine-disclosure summary .scan-eyebrow span,.small-label,.channel-kicker,.video-topic,.case-label {
  font-size:12px;
  font-weight:600;
  font-stretch:106%;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.eyebrow,.small-label,.machine-disclosure summary .scan-eyebrow,
.machine-disclosure summary .scan-eyebrow span { color:var(--navy); }
.blue-line { background:var(--lavender); flex-shrink:0; }
.spec-strip strong,.spec-strip strong small,.case-table strong,.step-counter,
.try-result strong,.tele-read dd { font-weight:700; font-stretch:var(--heading-width); letter-spacing:-.01em; line-height:1.1; }
.spec-strip strong { color:var(--navy); overflow-wrap:normal; }
.spec-strip,.case-table,.step-counter,.try-card output,.try-result,.tele-read { font-variant-numeric:tabular-nums; }
.button-outline { border-color:var(--lavender); }
.button-outline:hover,.workflow-tabs button.active,.workflow-tabs button:hover { background:var(--lavender-soft); }
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,
summary:focus-visible,[tabindex]:focus-visible,.try-card input[type=range]:focus-visible {
  outline:3px solid var(--lavender);
  outline-offset:3px;
  box-shadow:0 0 0 2px var(--navy-deep);
}
.advantages-section,.contact-section { background:var(--navy-deep); }
.advantages-section .eyebrow,.advantages-section .small-label,.contact-section .eyebrow { color:var(--lavender); }
.contact-copy>p,.contact-details>span,.contact-details small,.advantage-list p,
.advantage-scope p,.try-card p,.try-card label,.try-card .try-note,.tele-read dt { color:var(--lavender-soft); }
.muted { color:var(--gray); }
.application-tags span { background:var(--lavender-soft); border-color:var(--lavender); }
.try-card input[type=range] { accent-color:var(--lavender); min-height:44px; }

/* Reset automatic minimums at the layout seams; content can now use the viewport. */
.hero,.hero-copy,.hero-visual,.header-actions,.brand,.explorer-info,.viewer-panel,
.section-heading>*,.machine-disclosure summary>span,.workflow-copy>*,.workflow-tabs button,
.inspection-copy,.channel-heading>*,.contact-copy,.contact-details,.try-card,.detail-item>div,
.advantage-list article>div,.viewer-topline>span,.scan-feedback>div { min-width:0; }
.hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; }
.hero-visual { width:100%; margin:0; }
.hero-machine { transform:none; translate:none; }
.workflow-tabs { grid-template-columns:repeat(4,minmax(0,1fr)); }
.inspection-panel { grid-template-columns:minmax(0,2fr) minmax(0,1fr); }
.applications-section { grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); }
.explorer { grid-template-columns:minmax(0,1fr) minmax(0,320px); }
#model-viewer,#model-viewer canvas { max-width:100%; min-width:0; }
.viewer-loading,.viewer-load-button { width:max-content; max-width:calc(100% - 32px); }
.scan-feedback { flex-wrap:wrap; }
.scan-meter { flex:1 1 150px; max-width:100%; }
.viewer-topline>span:first-child { flex-wrap:wrap; }
.viewer-controls { flex-wrap:wrap; }
.contact-section { gap:32px; }
.contact-details { min-width:0; overflow-wrap:break-word; }
.contact-decoration { width:min(600px,100%); right:0; }
.case-table strong { font-size:clamp(18px,1.7vw,24px); white-space:normal; }
.case-table .case-status { padding-inline:4px; }
.try-result,.try-card label { flex-wrap:wrap; }
.try-result strong { font-size:clamp(28px,3vw,38px); }
.inspection-footer a,.channel-link,.advantage-scope .inline-link { flex-shrink:1; }
.inline-link { overflow-wrap:break-word; }
.inspection-features li,.application-tags span { max-width:100%; }
.site-header { gap:24px; }
.site-header nav { gap:20px; }
.header-actions { gap:16px; }

@media(max-width:1280px) {
  .site-header { height:76px; padding-inline:32px; }
  .site-header nav {
    display:none; position:absolute; top:75px; left:0; right:0;
    background:var(--white); padding:24px 32px;
    border-bottom:1px solid var(--line); flex-direction:column; gap:8px;
  }
  .site-header nav.open { display:flex; }
  .menu-toggle { display:block; min-width:44px; min-height:44px; padding:8px; font-size:20px; }
  .site-header nav a { min-height:44px; }
}
@media(max-width:1100px) {
  .hero { grid-template-columns:minmax(0,1fr); }
  .hero-visual { max-width:650px; height:auto; justify-self:center; }
  .hero-machine { height:auto; max-height:430px; }
  html:lang(de) .inspection-copy h3 { font-size:clamp(18px,1.9vw,24px); }
  .explorer { grid-template-columns:minmax(0,1fr); }
  .explorer-info { border-left:0; border-top:1px solid var(--line); }
}
@media(min-width:801px) and (max-width:1100px) {
  .spec-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .spec-strip>div+div { padding-left:16px; }
}
@media(max-width:800px) {
  :root { --heading-width:106%; --type-card:clamp(20px,3vw,24px); }
  .hero { grid-template-columns:minmax(0,1fr); gap:32px; padding-block:56px 48px; }
  .hero-copy { max-width:none; }
  .hero-visual { width:100%; height:auto; max-width:600px; margin:0; }
  .hero-machine { height:auto; max-height:400px; }
  .hero-ctas { display:flex; }
  .hero-ctas .button { flex:1 1 240px; }
  .inspection-panel { grid-template-columns:minmax(0,1fr); }
  .explorer-info { display:block; }
  .explorer-info .detail-item { display:flex; }
  .spec-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .spec-strip>div+div { padding-left:16px; }
  .spec-strip>div:last-child {
    grid-column:1 / -1; display:flex; border-left:0;
    border-top:1px solid var(--line); padding:24px 0 0;
  }
  .spec-strip strong small { font-size:.7em; }
  .spec-strip>div:last-child strong { font-size:var(--type-card); }
  .spec-report [data-i18n] { overflow-wrap:normal; }
  .workflow-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .workflow-tabs button { display:grid; grid-template-columns:minmax(0,1fr); align-content:start; }
  .workflow-tabs b,.inspection-tabs b { overflow-wrap:normal; hyphens:auto; }
  .advantage-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .advantage-list article,.advantage-list article+article { display:block; }
  .advantage-list article:last-child { grid-column:1 / -1; }
  .advantage-icon { margin-bottom:12px; }
  .try-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .try-card { padding:20px 16px; }
  .tele-read { grid-template-columns:minmax(0,1fr); }
  .contact-section { flex-direction:column; align-items:flex-start; padding-block:56px; }
  .contact-copy,.contact-details { max-width:none; width:100%; }
  .contact-details { padding-top:24px; border-top:1px solid var(--lavender); }
  .show-mobile-contact .mobile-contact { min-height:48px; }
}
@media(max-width:600px) {
  .section-shell { padding-inline:16px; }
  .site-header { padding-inline:16px; gap:8px; height:70px; }
  .site-header nav { top:69px; padding-inline:16px; }
  .brand img { width:clamp(104px,30vw,136px); }
  .header-actions { gap:4px; }
  .header-actions .button { display:none; }
  .language-switch { width:124px; padding-left:32px; padding-right:20px; font-size:12px; }
  .language-globe { width:17px; left:8px; }
  .language-chevron { right:5px; }
  .hero { padding-block:48px; gap:24px; }
  .section-space { padding-block:48px; }
  .hero + .explore-section { padding-block:48px; }
  .hero .eyebrow { margin-bottom:20px; }
  .hero-description { margin-top:24px; }
  .hero-ctas { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; margin-top:24px; }
  .hero-ctas .button,.hero-ctas .video-button,.section-heading .button,
  .case-benefit .button,.contact-copy .button { width:100%; min-height:48px; padding:14px 16px; }
  .hero-machine { max-height:none; width:100%; }
  .section-heading { gap:24px; margin-bottom:32px; }
  .machine-disclosure summary { gap:12px; }
  .machine-disclosure summary>span:first-child { gap:12px; }
  .machine-disclosure summary .disclosure-icon { flex:0 0 24px; }
  .explorer { border-radius:12px; }
  .explorer-info { padding:24px 16px; }
  .viewer-topline { padding:16px; }
  #model-viewer { height:300px; }
  .viewer-load-button { width:calc(100% - 32px); min-height:48px; }
  .viewer-controls { padding:16px; display:grid; grid-template-columns:minmax(0,1fr); }
  .scan-actions,.scan-actions button { width:100%; min-width:0; min-height:48px; }
  .viewer-tools { justify-content:space-between; }
  .viewer-tools button { min-height:44px; padding:8px; }
  .scan-feedback { padding:16px 16px 0; gap:16px; }
  .scan-feedback>div:first-child,.scan-meter { width:100%; flex-basis:100%; }
  .viewer-caption { padding:0 16px 20px; }
  .spec-strip { gap:20px 16px; }
  .spec-strip strong { font-size:clamp(18px,5.6vw,24px); }
  .spec-strip>div+div { padding-left:12px; }
  .spec-strip>div:last-child { padding-left:0; }
  .spec-strip>div:first-child strong { white-space:nowrap; font-size:clamp(17px,5vw,23px); }
  .workflow-copy { grid-template-columns:minmax(0,1fr); gap:12px; }
  .workflow-copy .step-counter,.workflow-copy .inline-link { grid-row:auto; grid-column:1; }
  .workflow-tabs { gap:12px; }
  .inspection-tabs button { padding:12px 10px; gap:8px; }
  .inspection-tabs b { font-size:14px; }
  .inspection-panel { padding:12px 12px 24px; }
  .inspection-screen-label { flex-wrap:wrap; padding-inline:10px; }
  .inspection-enlarge { padding-inline:10px; }
  .advantage-list,.try-grid,.applications-section { grid-template-columns:minmax(0,1fr); }
  .advantage-list article:last-child { grid-column:auto; }
  .advantage-list article,.advantage-list article+article { display:flex; padding:20px 16px; gap:12px; }
  .advantage-icon { margin:0; }
  .try-card { padding:24px 16px; }
  .case-intro { grid-template-columns:minmax(0,1fr); }
  .case-intro img { width:100px; }
  .case-table strong { font-size:clamp(17px,5vw,22px); }
  .case-table th,.case-table td { padding-inline:3px; }
  .case-table thead th,.case-table tbody th { font-size:12px; }
  .case-status { font-size:12px; }
  .case-benefit { padding:24px 16px; }
  .channel-heading { flex-direction:column; align-items:flex-start; }
  .video-grid { grid-template-columns:minmax(0,1fr); }
  .video-card-copy { padding:20px 16px; }
  .applications-section { gap:32px; }
  .application-image>span { left:12px; right:12px; bottom:12px; padding:8px; font-size:12px; letter-spacing:0; }
  .contact-section { padding-block:48px; }
  .faq-list summary { gap:12px; }
  footer { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
}
@media(max-width:479px) {
  :root { --heading-width:100%; }
  .eyebrow,.small-label,.machine-disclosure summary .scan-eyebrow,
  .machine-disclosure summary .scan-eyebrow span { letter-spacing:.12em; }
}

/* T37b: a fuller hero and compact, clearly labelled media controls. */
.hero { min-height:0; padding-block:48px; }
.hero-copy { container-type:inline-size; }
.hero-visual { overflow:hidden; }
/* Remove only the photo's white frame; retain the machine's original proportions. */
.hero-machine {
  width:125.35%; max-width:none; height:auto; max-height:none;
  margin:-10.65% -6.82% -12.39% -18.53%;
}
.scan-actions button:disabled {
  opacity:1; background:var(--lavender-soft); color:var(--navy); cursor:default;
}
.scan-actions button:enabled:hover { background:var(--navy-deep); }
.inspection-screenshot { position:relative; }
.inspection-enlarge {
  position:absolute; right:8px; bottom:8px; display:inline-flex;
  justify-content:center; gap:6px; min-height:0; padding:6px 10px;
  max-width:calc(100% - 16px); border:1px solid var(--line); border-radius:6px;
  background:var(--white); font-size:12px; line-height:1.5;
}
.inspection-enlarge .interface-symbol { width:16px; height:16px; }
.video-cover img { object-fit:contain; }
.video-card-play {
  top:auto; left:12px; bottom:12px; translate:none;
  width:32px; height:32px; padding-left:2px; font-size:12px;
}
.video-card:hover img { scale:1; }
.machine-disclosure>summary {
  flex-wrap:wrap; gap:16px; padding-bottom:16px;
}
.machine-disclosure>summary>span:first-child { flex-basis:100%; }
.machine-disclosure>summary>.demo-disclosure-control {
  display:inline-flex; align-items:center; gap:8px; margin-left:auto;
  min-height:44px; padding:8px 12px; border:1px solid var(--lavender);
  border-radius:6px; transform:none; color:var(--navy);
}
.machine-disclosure summary .demo-disclosure-control>span {
  font-size:14px; line-height:1.5; color:inherit;
}
.machine-disclosure summary .disclosure-icon { flex:0 0 auto; font-size:20px; }
.machine-disclosure .demo-hide { display:none; }
.machine-disclosure[open] .demo-hide { display:inline; }
.machine-disclosure[open] .demo-show { display:none; }
@media(min-width:768px) {
  .hero h1 { font-size:clamp(30px,7.45cqi,48px); }
  html:lang(de) .hero h1 { font-size:clamp(28px,6.65cqi,43px); }
  html:lang(bg) .hero h1 { font-size:clamp(28px,6.2cqi,40px); }
  html:lang(ru) .hero h1 { font-size:clamp(24px,5cqi,32px); }
  html:lang(zh) .hero h1 { font-size:clamp(24px,6cqi,38.4px); }
}
@media(min-width:1100px) {
  .hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
  .hero-visual { max-width:none; }
}
@media(max-width:800px) {
  .hero { padding-block:48px 24px; }
  .hero-visual { max-width:none; }
  .hero + .explore-section { padding-top:24px; }
}

/* T37d: approved full-bleed studio hero. */
.hero-studio{position:relative;display:block;width:100%;aspect-ratio:1959/803;max-height:calc(100vh - var(--hero-header-height));min-height:520px;overflow:hidden;background:var(--paper)}
.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center}
.hero-copy{container-type:normal;max-width:none;position:absolute;left:51.6%;top:4.6%;right:2%}
.hero-studio + .explore-section{padding-top:72px}
.hs-eyebrow{font-size:1.43vw;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink)}
.hero-studio h1{margin:.8vw 0 1.4vw;font-size:4.8vw;font-weight:850;font-stretch:62%;line-height:.98;letter-spacing:0;text-transform:uppercase;color:var(--ink)}
.hero-studio h1 span{display:block;white-space:nowrap}
.hero-studio h1 span+span{color:var(--navy)}
.hs-indent{margin-left:8.2vw}
.hs-desc{margin:0;font-size:1.53vw;line-height:1.24;text-transform:uppercase;color:var(--gray);font-stretch:96%;max-width:31vw;padding-bottom:.9vw;border-bottom:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}
.hs-stats{display:flex;margin-top:.8vw}
.hs-stats div{padding:0 1.1vw}
.hs-stats div:first-child{padding-left:0}
.hs-stats div+div{border-left:1px solid color-mix(in srgb,var(--navy) 35%,transparent)}
.hs-stats b{display:block;font-size:1.84vw;font-weight:800;font-stretch:96%;color:var(--navy);text-transform:uppercase;white-space:nowrap;line-height:1.1}
.hs-stats i{display:block;font-style:normal;font-size:.97vw;font-weight:500;color:var(--gray);text-transform:uppercase;margin-top:.3vw;white-space:nowrap}
.hero-studio .hero-ctas{margin-top:1.6vw;display:flex;gap:12px;flex-wrap:wrap}
.hero-studio .button-outline{background:color-mix(in srgb,var(--white) 55%,transparent)}
@media(max-width:899px){
 .hero-studio{aspect-ratio:auto;max-height:none;min-height:0;background:var(--white)}
 .hero-bg img{position:static;width:100%;height:auto;aspect-ratio:1070/803}
 .hero-copy{position:static;padding:28px 16px 40px}
 .hs-eyebrow{font-size:13px}
 .hero-studio h1{font-size:clamp(34px,10.4vw,60px);margin:10px 0 18px}
 .hero-studio h1 span{white-space:normal}
 .hs-indent{margin-left:0}
 .hs-desc{font-size:16px;max-width:none;padding-bottom:14px}
 .hs-stats{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .hs-stats div{padding:0 8px;min-width:0}
 .hs-stats b{font-size:clamp(13px,3.9vw,22px)}
 .hs-stats i{font-size:10px;white-space:normal}
 .hero-studio .hero-ctas{margin-top:22px;flex-direction:column}
 .hero-studio .hero-ctas .button{width:100%;justify-content:center;height:auto;min-height:52px;flex:none;aspect-ratio:auto}
 .hero-studio + .explore-section{padding-top:48px}
}

:root { --hero-header-height:88px; }
.hs-stats { font-variant-numeric:tabular-nums; }
html:lang(zh) .hero-studio h1 { font-size:3.65vw; font-weight:800; font-stretch:100%; line-height:1.3; }
html:lang(de) .hero-studio h1 { font-size:4.25vw; }
html:lang(pl) .hero-studio h1 { font-size:4.3vw; }
html:lang(bg) .hero-studio h1 { font-size:3vw; }
html:lang(ru) .hero-studio h1 { font-size:2.2vw; }
html:lang(de) .hs-stats b,html:lang(pl) .hs-stats b,html:lang(bg) .hs-stats b,html:lang(ru) .hs-stats b { font-size:1.5vw; }
html:lang(de) .hs-stats i,html:lang(pl) .hs-stats i,html:lang(bg) .hs-stats i,html:lang(ru) .hs-stats i { font-size:.8vw; }
@media(max-width:1280px) { :root { --hero-header-height:76px; } }
@media(max-width:899px) {
 .hero-bg { display:block; }
 .hero-studio + .explore-section { padding-bottom:64px; }
 html:lang(zh) .hero-studio h1 { font-size:clamp(27.2px,8.32vw,48px); }
 html:lang(de) .hero-studio h1,html:lang(pl) .hero-studio h1 { font-size:clamp(30px,9.2vw,56px); }
 html:lang(bg) .hero-studio h1 { font-size:clamp(28px,8.2vw,50px); }
 html:lang(ru) .hero-studio h1 { font-size:clamp(26px,7.6vw,46px); }
 html:lang(de) .hs-stats b,html:lang(pl) .hs-stats b,html:lang(bg) .hs-stats b,html:lang(ru) .hs-stats b { font-size:clamp(11px,3.1vw,20px); white-space:normal; }
 html:lang(de) .hs-stats i,html:lang(pl) .hs-stats i,html:lang(bg) .hs-stats i,html:lang(ru) .hs-stats i { font-size:10px; }
 .hs-stats b { white-space:normal; }
 .hero-studio .hero-ctas .button { padding:14px 16px; }
}

/* The approved 4.8vw English headline needs its optical end bearing inside the copy box. */
@media(min-width:900px) {
 html:lang(en) .hero-copy { right:1.6%; }
 :is(html:lang(de),html:lang(pl),html:lang(bg),html:lang(ru)) .hs-stats div { min-width:0; flex:1; padding-inline:.8vw; }
 :is(html:lang(de),html:lang(pl),html:lang(bg),html:lang(ru)) .hs-stats div:first-child { padding-left:0; }
 :is(html:lang(de),html:lang(pl),html:lang(bg),html:lang(ru)) .hs-stats i { white-space:normal; }
}
html:lang(zh) .hs-desc { line-height:1.24; text-wrap:balance; }
@media(max-width:899px) {
 html:lang(en) .hs-stats div:last-child b { font-size:clamp(10px,3.15vw,20px); white-space:nowrap; }
 html:lang(bg) .hs-stats b,html:lang(ru) .hs-stats b { font-size:clamp(9.5px,2.65vw,18px); }
}

@media(min-width:900px) {
 html:lang(de) .hs-stats b { font-size:1.18vw; }
 html:lang(bg) .hs-stats b,html:lang(ru) .hs-stats b { font-size:1.3vw; }
}

@media(min-width:900px) { html:lang(pl) .hs-stats b { font-size:1.3vw; } }

/* T39: approved Apple-style bands. Hero rules and its descendants stay unchanged. */
:root { --paper:#F5F5F7; --lav-soft:var(--lavender-soft); }
.section-shell { max-width:1180px; padding-inline:24px; }
.section-space { padding-block:150px; }
main > section { scroll-margin-top:52px; }
.site-header { position:relative; }
.site-header::after { display:none; }
.product-subnav { position:sticky; top:0; z-index:20; height:52px; background:color-mix(in srgb,var(--white) 78%,transparent); backdrop-filter:blur(18px); border-bottom:1px solid var(--line); }
.product-subnav .section-shell { display:flex; align-items:center; gap:28px; height:52px; }
.product-subnav b { margin-right:auto; font-size:24px; font-weight:850; font-stretch:62%; }
.product-subnav a { font-size:14px; white-space:nowrap; }
.product-subnav .button { min-height:32px; height:32px; padding:0 16px; border-radius:999px; gap:8px; }
main > section:not(.hero-studio) :is(h2,.channel-heading h2) { font-size:clamp(46px,6vw,92px); font-weight:850; font-stretch:62%; line-height:.98; letter-spacing:0; margin:0; }
html:lang(zh) main > section:not(.hero-studio) h2 { font-size:clamp(36.8px,4.8vw,73.6px); font-weight:800; font-stretch:100%; line-height:1.3; }
main > section:not(.hero-studio) .eyebrow { font-size:15px; font-weight:600; font-stretch:100%; letter-spacing:0; text-transform:none; margin-bottom:14px; }
.center { text-align:center; }
.center .eyebrow { justify-content:center; }
.center .lead,.center .case-lead { margin-inline:auto; }
.lead,.case-lead { max-width:60ch; margin:20px 0 0; font-size:21px; line-height:1.5; color:var(--gray); }
.section-heading { display:block; margin-bottom:64px; }
.section-heading > .button { display:none; }
main > section:not(.hero-studio) .button { border-radius:999px; }
.inline-link { font-size:19px; font-weight:500; gap:8px; }
.numbers-section { background:var(--white); }
.spec-strip { grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(0,1fr)); border:0; padding:0; margin:70px 0 0; gap:0; }
.spec-strip > div { padding:0 16px; gap:0; display:flex; }
.spec-strip > div+div { padding-inline:24px; border-left:1px solid var(--line); }
.spec-strip > div:last-child { grid-column:auto; border-top:0; padding-top:0; }
.spec-strip strong,.spec-strip > div:first-child strong,.spec-strip > div:last-child strong { order:-1; display:block; font-size:clamp(44px,4.6vw,70px); font-weight:850; font-stretch:62%; line-height:1; letter-spacing:0; white-space:nowrap; }
.spec-strip strong small { font:inherit; }
.spec-strip .spec-report { display:block; }
.spec-kicker { margin-top:14px; font-size:17px; line-height:1.4; }
.spec-foot,.spec-strip .spec-foot { font-size:17px; line-height:1.4; }
.comparison-section { background:var(--paper); }
.comparison-section .section-heading { margin-bottom:0; }
.comparison-section .case-lead { font-size:21px; line-height:1.5; }
.vsh,.vsr { display:grid; grid-template-columns:minmax(0,1.1fr) repeat(2,minmax(0,1fr)); gap:40px; }
.vsh { margin-top:80px; padding-bottom:18px; border-bottom:2px solid var(--ink); align-items:end; }
.vsh > div { font-weight:850; font-stretch:62%; font-size:40px; line-height:1; }
.me { color:var(--navy); }
.them { color:var(--gray); }
.vsh small { display:block; font-size:15px; font-weight:500; font-stretch:100%; line-height:1.4; color:var(--gray); margin-top:8px; }
.vsr { padding:34px 0; border-bottom:1px solid var(--line); align-items:start; }
.vsr .q { font-size:20px; font-weight:600; line-height:1.5; }
.vsr .q small { display:block; font-size:15px; font-weight:400; color:var(--gray); margin-top:6px; }
.vsr b { display:block; font-size:72px; font-weight:850; font-stretch:62%; line-height:.95; font-variant-numeric:tabular-nums; }
.vsr b u { text-decoration:none; font-size:28px; margin-left:6px; }
.vsr i { display:block; font-style:normal; font-size:15px; line-height:1.5; color:var(--gray); margin-top:8px; }
.bar { display:block; height:6px; border-radius:3px; background:var(--line); margin-top:16px; overflow:hidden; }
.bar em { display:block; height:100%; border-radius:3px; background:var(--navy); }
.them .bar em { background:var(--fail); }
.dots { display:flex; gap:8px; margin-top:16px; }
.dots i { width:14px; height:14px; border-radius:50%; margin:0; }
.dots .g { background:var(--pass); }.dots .r { background:var(--fail); }
.comparison-links { margin:0; }
.all-readings > summary { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px 24px; width:fit-content; margin-inline:auto; min-height:44px; color:var(--navy); font-size:19px; font-weight:500; }
.all-readings > summary > * { padding:8px 0; }
.all-readings > summary > *::after { content:' ›'; }
.all-readings { margin-top:36px; }
.all-readings[open] > summary > span::after { content:' −'; }
.comparison-cases { gap:64px; margin-block:32px; }
.comparison-case { border:0; border-radius:0; box-shadow:none; padding:0; background:transparent; }
.case-intro { grid-template-columns:90px minmax(0,1fr); gap:18px; }
.case-intro h3 { font-size:30px; font-weight:850; font-stretch:62%; }
.case-intro img { width:90px; }
.table-scroll { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; }
.case-table { min-width:450px; table-layout:auto; overflow-wrap:normal; }
.case-table th,.case-table td { padding:16px 12px; text-align:left; }
.case-table thead th { background:transparent; }
.case-table .case-vqc { background:var(--lav-soft); }
.case-table strong { font-size:26px; font-stretch:100%; white-space:nowrap; }
.case-table .case-status { font-size:13px; padding:0; background:transparent; border-radius:0; }
.case-status::before { content:''; display:inline-block; width:5px; height:5px; margin-right:5px; border-radius:50%; background:currentColor; vertical-align:middle; }
.case-takeaway { border:0; padding:0; }
.case-scope { max-width:70ch; font-size:13px; line-height:1.5; text-align:center; margin:28px auto 0; }
.explore-section { padding-block:150px; }
.explorer { display:block; border:0; border-radius:0; overflow:visible; min-height:0; }
.viewer-panel { border-radius:24px; background:transparent; }
.viewer-topline { display:none; }
#model-viewer { height:auto; aspect-ratio:16/8; border-radius:24px; background:radial-gradient(120% 80% at 50% 38%, #ffffff 0%, #f2f4f7 45%, #e1e5eb 100%); }
#model-fallback { width:62%; height:100%; margin-inline:auto; padding:0; opacity:1; mix-blend-mode:multiply; filter:none; }
.viewer-load-button { bottom:34px; border-radius:999px; padding:13px 24px; color:var(--navy); background:color-mix(in srgb,var(--white) 90%,transparent); font-size:17px; }
.viewer-load-button:hover { background:var(--white); }
.stage-controls { display:none; }
.viewer-panel:has(#model-viewer[data-state=ready]) .stage-controls { display:flex; flex-wrap:wrap; align-items:center; gap:16px; padding-top:12px; }
.scan-feedback { padding:0; border:0; background:transparent; flex:1; gap:12px; }
.scan-feedback > div:first-child > span { display:none; }
.scan-feedback strong { font-size:14px; }
.scan-meter { max-width:130px; }
.viewer-controls { display:flex; flex-wrap:nowrap; padding:0; background:transparent; margin:0; gap:16px; }
.viewer-tools { width:auto; flex-wrap:nowrap; }
.viewer-tools button { font-size:14px; }
.viewer-caption { flex-basis:100%; padding:0; font-size:12px; }
.explorer-info { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; border:0; padding:0; margin-top:40px; }
.explorer-info .detail-item { display:block; border:0; padding:0; grid-column:auto; grid-row:auto; }
.detail-item > span { display:none; }
.detail-item h4 { font-size:21px; font-weight:700; font-stretch:100%; margin:0 0 6px; }
.detail-item p { font-size:17px; line-height:1.5; }
.model-note { font-size:13px; margin-top:24px; }
.workflow-section { border:0; }
.workflow-tabs { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:0 0 28px; border:0; }
.workflow-tabs button { display:flex; flex-direction:column; align-items:flex-start; padding:26px 24px 28px; border-radius:18px; background:var(--white); color:var(--ink); gap:0; }
.workflow-tabs button > span { display:block; font-size:40px; font-weight:850; font-stretch:62%; line-height:1; color:var(--navy); margin:0 0 18px; }
.workflow-tabs button b { font-size:21px; font-weight:700; font-stretch:100%; hyphens:none; }
.workflow-tabs button small { font-size:15px; line-height:1.5; margin-top:6px; opacity:.75; }
.workflow-tabs button.active { background:var(--navy); color:var(--white); }
.workflow-tabs button.active > span { color:var(--lavender); }
.workflow-tabs button.active::after { display:none; }
.workflow-content { display:block; }
.screen-chrome { display:none; }
.screen-frame { border:0; border-radius:18px; box-shadow:0 30px 60px color-mix(in srgb,var(--ink) 12%,transparent); }
#workflow-image { height:auto; aspect-ratio:auto; }
.workflow-copy { display:block; margin-top:24px; }
.workflow-copy .step-counter,.workflow-copy h3 { display:none; }
.workflow-copy > p { margin:0; max-width:80ch; font-size:15px; }
.workflow-copy .inline-link { margin:0; font-size:15px; }
.inspection-section { background:var(--white); border:0; margin:0; }
.inspection-section .section-heading { text-align:center; margin-bottom:0; }
.inspection-section .eyebrow { justify-content:center; }
.inspection-intro { display:none; }
.inspection-tabs { display:flex; width:fit-content; max-width:100%; padding:4px; border-radius:999px; gap:0; margin:44px auto 48px; background:var(--paper); overflow-x:auto; }
.inspection-tabs button { flex:0 0 auto; min-height:44px; padding:10px 22px; border:0; border-radius:999px; background:transparent; gap:0; }
.inspection-tabs button > span { display:none; }
.inspection-tabs b { font-size:15px; font-weight:500; white-space:nowrap; hyphens:none; }
.inspection-tabs button[aria-selected=true] { background:var(--white); color:var(--ink); box-shadow:0 2px 8px color-mix(in srgb,var(--ink) 10%,transparent); }
.inspection-panel { grid-template-columns:minmax(0,3fr) minmax(0,2fr); gap:56px; padding:0; border:0; border-radius:0; box-shadow:none; }
.inspection-figure { border-radius:18px; overflow:hidden; background:var(--paper); }
.inspection-screen-label { display:none; }
.inspection-screenshot { border:0; border-radius:18px; }
.inspection-copy h3 { font-size:clamp(30px,3.2vw,46px); font-weight:850; font-stretch:62%; line-height:1.02; margin:0 0 20px; }
.inspection-copy p { font-size:18px; line-height:1.5; }
.inspection-index,.inspection-features,.result-guide { display:none; }
.inspection-footer { margin-top:24px; }
.advantages-section { background:var(--navy-deep); }
.advantage-layout { display:block; }
.advantage-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px; }
.advantage-list article,.advantage-list article+article { display:block; padding:0; border:0; border-radius:0; background:transparent; }
.advantage-list article:last-child { grid-column:auto; }
.advantage-icon { margin-bottom:16px; width:44px; height:44px; }
.advantage-list h3 { font-size:22px; font-weight:700; font-stretch:100%; }
.advantage-list p { font-size:16px; line-height:1.55; }
.advantage-scope { margin-top:32px; border:0; padding:0; }
.advantage-scope p,.advantage-scope a { font-size:13px; }
.try-it { margin-top:80px; padding:0; border:0; }
.try-it > .eyebrow { display:none; }
.try-grid { gap:24px; }
.try-card { background:color-mix(in srgb,var(--white) 6%,transparent); border:0; border-radius:22px; padding:36px; }
.try-card h3 { font-size:22px; font-stretch:100%; font-weight:700; }
.tele-read div { border:0; }
.applications-section { display:flex; flex-direction:column; gap:0; }
.application-copy { text-align:center; width:100%; }
.application-copy .eyebrow { justify-content:center; }
.application-copy > p { max-width:60ch; margin:20px auto 0; font-size:21px; line-height:1.5; }
.application-copy > .inline-link { display:none; }
.application-image { width:100%; max-width:none; margin-top:56px; border-radius:22px; aspect-ratio:21/9; box-shadow:none; }
.application-image img { object-fit:cover; }
.application-image > span { inset:auto 16px 16px auto; font-size:13px; letter-spacing:0; padding:5px 10px; }
.application-tags { justify-content:center; gap:10px; margin:28px 0 0; }
.application-tags span { padding:9px 16px; font-size:15px; border:0; border-radius:999px; background:var(--paper); color:var(--ink); }
.channel-section { background:var(--paper); margin-top:0; border:0; }
.channel-heading { margin-bottom:56px; }
.channel-heading h2 { margin-top:14px!important; }
.video-grid { gap:28px; }
.video-card { background:transparent; border:0; box-shadow:none; border-radius:0; }
.video-cover { border-radius:18px; }
.video-card-copy { padding:16px 0 0; }
.video-card h4 { font-size:21px; font-stretch:100%; font-weight:700; margin:0; }
.video-topic,.video-card-arrow { display:none; }
.faq-list { margin-top:40px; border-top:0; }
.faq-list summary { font-size:19px; }
.contact-section { max-width:none; background:var(--paper); color:var(--ink); padding-block:150px; display:block; text-align:center; }
.contact-copy { max-width:1132px; margin:auto; }
.contact-copy .eyebrow { display:none; }
.contact-copy > p { font-size:21px; line-height:1.5; max-width:60ch; margin:20px auto 32px; color:var(--gray); }
.contact-copy .button { background:var(--navy); border-color:var(--navy); color:var(--white); min-height:48px; padding:12px 24px; font-size:17px; width:fit-content; }
.contact-details { max-width:700px; width:100%; margin:40px auto 0; padding:0; border:0; align-items:center; gap:12px; color:var(--gray); }
.contact-details > span,.contact-details small { color:var(--gray); }
.copy-email { color:var(--navy); border-radius:999px; }
.show-mobile-contact .mobile-contact { display:none; }
.show-mobile-contact footer { padding-bottom:34px; }
@media(max-width:899px) {
 .section-shell { padding-inline:16px; }
 .section-space,.explore-section,.contact-section { padding-block:88px; }
 .product-subnav .section-shell { gap:12px; }
 .product-subnav a:not(.button) { display:none; }
 .product-subnav .button { max-width:calc(100% - 60px); white-space:normal; text-align:center; line-height:1.1; height:auto; min-height:36px; }
 .lead,.comparison-section .case-lead,.application-copy > p,.contact-copy > p { font-size:17px; }
 .spec-strip { grid-template-columns:minmax(0,1fr); margin-top:40px; }
 .spec-strip > div,.spec-strip > div+div,.spec-strip > div:last-child { display:flex; padding:24px 0; border-left:0; border-top:1px solid var(--line); }
 .spec-strip strong,.spec-strip > div:first-child strong,.spec-strip > div:last-child strong { font-size:clamp(40px,10vw,70px); }
 .vsh,.vsr { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
 .vsh > div:first-child { display:none; }
 .vsh > div { font-size:28px; }
 html:lang(ru) .vsh > div { font-size:clamp(22px,6.4vw,28px); }
 .vsh small { font-size:14px; }
 .vsr .q { grid-column:1/-1; }
 .vsr b { font-size:46px; }.vsr b u { font-size:18px; }
 .comparison-cases { grid-template-columns:minmax(0,1fr); gap:32px; }
 .case-intro { grid-template-columns:76px minmax(0,1fr); }.case-intro img { width:76px; }
 #model-viewer { aspect-ratio:4/3; }
 #model-fallback { width:86%; }
 .viewer-load-button { font-size:14px; bottom:24px; width:max-content; min-height:48px; }
 .viewer-panel:has(#model-viewer[data-state=ready]) .stage-controls { gap:8px; }
 .scan-feedback { flex-basis:100%; }
 .viewer-controls { width:100%; justify-content:space-between; gap:8px; }
 .viewer-tools { gap:8px; }.viewer-tools button { padding-inline:4px; }
 .scan-actions,.scan-actions button { width:auto; min-width:0; }
 .explorer-info { grid-template-columns:minmax(0,1fr); gap:32px; }
 .workflow-tabs { display:flex; overflow-x:auto; scroll-snap-type:x proximity; gap:12px; padding-bottom:6px; }
 .workflow-tabs button { flex:0 0 72%; scroll-snap-align:start; }
 .inspection-mobile-readout { display:block; }
 .inspection-tabs { justify-content:flex-start; }
 .inspection-panel { grid-template-columns:minmax(0,1fr); gap:24px; }
 .inspection-copy h3 { font-size:clamp(26px,6vw,46px); }
 .inspection-footer { align-items:flex-start; }
 .advantage-list,.try-grid,.video-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
 .advantage-list article,.advantage-list article+article { display:block; padding:0; }
 .try-card { padding:28px 20px; }
 .application-image { aspect-ratio:4/3; }
 .application-tags { flex-wrap:wrap; }
 .channel-heading { display:block; }
 .contact-copy .button { width:fit-content; }
 .contact-details { max-width:100%; }
}
