@charset "UTF-8";
:root {
  /* Company palette: black, navy, red and gold; neutrals derived for surfaces. */
  --black:#000000;
  --ink:#0f375a;
  --navy-deep:#09243d;
  --text:#242a31;
  --muted:#526171;
  --paper:#ffffff;
  --brand:#b22a2a;
  --brand-hover:#922222;
  --brand-soft:#fbefef;
  --accent:#f6c122;
  --accent-soft:#fff7da;
  --on-dark:#ffffff;
  --on-dark-muted:#c2d2e0;
  --line:#dce3eb;
  --soft:#f2f5f9;
  --max:1280px;
  --text-body:1rem;
  --text-ui:.875rem;
  --text-caption:.75rem;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:100px;
}
body {
  margin:0;
  color:var(--black);
  background:var(--paper);
  font-family:Inter,"Helvetica Neue",Arial,sans-serif;
  font-size:var(--text-body);
  line-height:1.6;
}
a {
  color:inherit;
  text-decoration:none;
}
button,input {
  font:inherit;
}
button,a,input {
  -webkit-tap-highlight-color:transparent;
}
button {
  cursor:pointer;
}
img {
  display:block;
  max-width:100%;
  height:auto;
}
button:focus-visible,a:focus-visible,input:focus-visible {
  outline:3px solid var(--brand);
  outline-offset:5px;
}
:is(.hero,.application-section,.site-footer) :focus-visible {
  outline-color:#fff;
}
::selection {
  background:var(--accent-soft);
  color:var(--ink);
}
h1,h2,h3,p {
  margin-top:0;
}
h1,h2,h3 {
  color:var(--ink);
  font-weight:500;
  line-height:1.1;
  letter-spacing:-.045em;
}
h1 {
  font-size:clamp(48px,6.2vw,88px);
}
h2 {
  font-size:clamp(32px,3.6vw,52px);
}
h3 {
  font-size:27px;
}
p {
  color:var(--text);
}
em {
  font-style:normal;
  color:var(--brand);
}
.wrap {
  width:calc(100% - 112px);
  max-width:var(--max);
  margin-inline:auto;
}
.section {
  padding-block:100px;
}
.section-bottom {
  padding-bottom:100px;
}
.eyebrow,.micro {
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  letter-spacing:.1em;
  font-size:var(--text-ui);
  font-weight:500;
  line-height:1.6;
}
.eyebrow {
  color:var(--brand);
  margin-bottom:24px;
}
.lead {
  font-size:19px;
  line-height:1.7;
  max-width:660px;
}
.text-link {
  display:inline-flex;
  gap:28px;
  align-items:center;
  border:0;
  border-bottom:1px solid var(--ink);
  padding:8px 0;
  background:transparent;
  font-size:14px;
  font-weight:600;
  color:var(--ink);
}
.text-link:hover {
  color:var(--brand-hover);
  border-color:var(--brand-hover);
}
.button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:36px;
  padding:17px 24px;
  border:1px solid transparent;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
  transition:background .2s,transform .2s;
}
.button:hover {
  transform:translateY(-2px);
}
.button-dark {
  background:var(--brand);
  color:white;
}
.button-dark:hover {
  background:var(--brand-hover);
}
.button-light {
  background:#fff;
  color:var(--brand);
}
.button-light:hover {
  background:var(--brand-soft);
  color:var(--brand-hover);
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}
.skip-link {
  position:fixed;
  top:-70px;
  left:20px;
  z-index:200;
  background:white;
  padding:14px;
}
.skip-link:focus {
  top:10px;
}
[hidden] {
  display:none!important;
}
/* Navigation */
.site-header {
  height:92px;
  background:rgba(255,255,255,.98);
  color:var(--ink);
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:30;
}
.nav-wrap {
  height:100%;
  max-width:var(--max);
  width:calc(100% - 112px);
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
  font-size:29px;
  line-height:1;
  font-weight:650;
  letter-spacing:-1.5px;
}
.brand img {
  width:38px;
  height:38px;
  border-radius:6px;
}
.brand-light {
  font-weight:400;
}
.brand small {
  display:block;
  letter-spacing:.035em;
  margin-top:6px;
  font-family:inherit;
  font-size:var(--text-caption);
  font-weight:500;
  line-height:1.5;
}
.site-header nav {
  display:flex;
  gap:34px;
  align-items:center;
  font-size:var(--text-ui);
  font-weight:500;
}
.site-header nav>a {
  padding:12px 0;
  position:relative;
}
.site-header nav>a:hover,.site-header nav>a[aria-current] {
  color:var(--brand);
}
.site-header nav>a[aria-current]:after {
  content:"";
  position:absolute;
  bottom:4px;
  left:0;
  width:20px;
  height:2px;
  background:var(--brand);
}
.site-header nav>a:last-child {
  background:var(--brand);
  color:#fff;
  padding:12px 21px;
}
.site-header nav>a:last-child:hover {
  background:var(--brand-hover);
}
.site-header .language {
  font-size:var(--text-ui);
  color:var(--muted);
  border-left:1px solid var(--line);
  padding-left:24px;
}
.menu-toggle {
  display:none;
  background:transparent;
  border:0;
  width:44px;
  height:44px;
  padding:10px;
}
.menu-toggle span {
  display:block;
  height:2px;
  background:var(--ink);
  margin:7px 0;
}
@media(max-width:1100px) {
  .site-header {
    height:78px;
  }
  .nav-wrap {
    gap:15px;
  }
  .brand {
    font-size:26px;
  }
  .menu-toggle {
    display:block;
  }
  .site-header nav {
    display:none;
    position:absolute;
    top:78px;
    left:0;
    right:0;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    padding:20px 32px;
    box-shadow:0 12px 18px #0f375a0a;
  }
  .site-header nav.open {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:4px;
  }
  .site-header nav>a {
    padding:13px 0;
  }
  .site-header .language {
    border:0;
    padding-left:0;
  }
}
/* Homepage product showcase */
.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: var(--on-dark);
  background: var(--ink);
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse at 78% 38%, #295c8859, transparent 55%),
    linear-gradient(115deg, var(--navy-deep), var(--ink) 72%);
  transition: opacity .8s;
}
.hero[data-product="atmini"]::before { opacity: .55; }
.hero[data-product="atr900"]::before { opacity: .85; }
.hero::after {
  content: "";
  position: absolute;
  right: -8%;
  top: -58%;
  width: 85%;
  height: 140%;
  border: 1px solid #ffffff06;
  border-radius: 50%;
  pointer-events: none;
  z-index: -1;
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.08fr 1fr;
  min-height: 665px;
  align-items: center;
}
.hero-slide.is-active .hero-copy { animation: hero-copy-in .55s both; }
.hero-slide.is-active .hero-product { animation: hero-product-in .75s both; }
@keyframes hero-copy-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes hero-product-in {
  from { opacity: 0; transform: translate(-50%, 22px) rotate(var(--product-angle)); }
  to { opacity: 1; transform: translate(-50%, 0) rotate(var(--product-angle)); }
}
.hero-copy {
  padding-block: 64px;
  position: relative;
  z-index: 2;
}
.hero-copy .hero-heading {
  color: var(--on-dark);
  margin-bottom: 30px;
  font-size: clamp(54px, 6.15vw, 88px);
  line-height: 1.02;
  letter-spacing: -.055em;
}
.hero-heading em { color: var(--accent); }
.hero-copy .eyebrow {
  font-size: var(--text-ui);
  letter-spacing: .13em;
  display: flex;
  gap: 12px;
  align-items: center;
  color: var(--on-dark-muted);
}
.hero .status-dot {
  width: 5px;
  height: 5px;
  background: var(--accent);
  border-radius: 50%;
  box-shadow: 0 0 0 5px #f6c12220;
  flex-shrink:0;
}
.hero-copy .lead { font-size: var(--text-body); line-height: 1.8; margin-bottom: 30px; color: var(--on-dark-muted); }
.hero-actions { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.hero-actions .text-link { border-bottom: 0; font-size: var(--text-ui); gap: 16px; color: var(--on-dark-muted); }
.hero-actions .text-link:hover { color: white; }
.hero-footnote {
  display: flex;
  gap: 15px;
  font: var(--text-ui)/1.5 Consolas, monospace;
  letter-spacing: .12em;
  margin-top: 48px;
  color: var(--on-dark-muted);
  flex-wrap:wrap;
}
.hero-footnote i { font-style: normal; color: var(--on-dark-muted); }
.hero-stage { position: relative; height: 610px; isolation: isolate; }
.hero-stage::before {
  content: "";
  position: absolute;
  inset: 65px -70px 65px -20px;
  background-image: linear-gradient(#c2d2e00b 1px, transparent 1px),
    linear-gradient(90deg, #c2d2e00b 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(ellipse, #000, transparent 72%);
  z-index: -1;
}
.hero-stage::after {
  content: "";
  position: absolute;
  top: 69%;
  left: 10%;
  width: 80%;
  height: 17%;
  background: radial-gradient(ellipse, #c2d2e020, transparent 66%);
  border-bottom: 1px solid #c2d2e010;
  border-radius: 50%;
  z-index: -1;
}
.hero-product {
  --product-angle: -10deg;
  position: absolute;
  height: 440px;
  width: 390px;
  object-fit: contain;
  top: 69px;
  left: 50%;
  transform: translateX(-50%) rotate(var(--product-angle));
  filter: drop-shadow(18px 30px 22px #00000040);
  z-index: 2;
}
.hero-slide[data-slide="atmini"] .hero-product,
.hero-slide[data-slide="atr900"] .hero-product { --product-angle: 0deg; width: 90%; }
.hero-slide[data-slide="as7"] .hero-product { --product-angle: 0deg; }
.stage-word {
  position: absolute;
  font-size: 230px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: -20px;
  left: 0;
  top: 185px;
  color: transparent;
  -webkit-text-stroke: 1px #c2d2e030;
  z-index: -1;
}
.orbit {
  position: absolute;
  border: 1px solid #c2d2e026;
  border-radius: 50%;
  width: 510px;
  height: 510px;
  top: 58px;
  left: 50%;
  transform: translateX(-50%) rotate(-25deg);
}
.orbit-one { border-top-color: #c2d2e04d; border-bottom-color: #ffffff05; }
.orbit-two { width: 420px; height: 420px; top: 103px; border-style: dashed; border-color: #c2d2e01a; }
.stage-top { position: absolute; top: 28px; left: 30px; font-size: var(--text-ui); color: var(--on-dark-muted); right:15px; }
.stage-cross { position: absolute; font-size: 20px; font-weight: 300; color: #9bb7d0; }
.cross-one { top: 84px; right: 15px; }
.cross-two { bottom: 92px; left: 10px; }
.callout { display: flex; align-items: center; gap: 12px; position: absolute; z-index: 3; right: -22px; top: 220px; }
.callout .micro { font-size: var(--text-ui); color: var(--on-dark-muted); background: var(--navy-deep); padding: 6px 10px; border-radius: 4px; }
.callout-line { height: 1px; width: 48px; background: #c2d2e080; position: relative; }
.callout-line::before { content: ""; width: 5px; height: 5px; background: var(--accent); border-radius: 50%; position: absolute; left: 0; top: -2px; }
.stage-caption { position: absolute; bottom: 30px; left: 32px; right: 0; border-top: 1px solid #c2d2e033; padding-top: 22px; display: flex; justify-content: space-between; align-items: center; }
.stage-caption .micro { font-size: var(--text-ui); color: var(--on-dark-muted); }
.stage-caption h2 { font-size: 38px; margin: 6px 0 0; color: var(--on-dark); }
.hero .circle-arrow { border-color: #c2d2e080; color: var(--on-dark); }
.hero .circle-arrow:hover { background: var(--brand); color: #fff; border-color: var(--brand); }
.hero-controls { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 20px 24px; border-top: 1px solid #c2d2e033; }
.hero-pagination, .hero-navigation { display: flex; align-items: center; gap: 8px; }
.hero-controls button { min-height: 44px; padding: 10px 16px; color: var(--on-dark-muted); background: transparent; border: 1px solid transparent; font-size: var(--text-ui); transition: color .2s, background .2s; }
.hero-pagination { gap: 22px; }
.hero-pagination button { position: relative; display: flex; align-items: center; gap: 14px; min-width: 126px; padding: 12px 0; border: 0; border-bottom: 1px solid #c2d2e033; }
.hero-pagination button[aria-pressed="true"] { color: var(--accent); border-bottom-color: var(--accent); }
.hero-pagination button:hover { color: var(--on-dark); border-bottom-color: var(--accent); }
.slide-number { font-family: Consolas, monospace; color: var(--on-dark-muted); font-size: var(--text-caption); }
.hero-pagination button[aria-pressed="true"] .slide-number { color: #fff; }
.slide-progress { position: absolute; left: 0; bottom: -1px; height: 2px; width: 100%; background: var(--accent); transform: scaleX(0); transform-origin: left; }
.hero-navigation { gap: 12px; }
.hero-navigation button { min-width: 44px; border: 1px solid #c2d2e080; border-radius: 50%; padding: 8px; color: var(--on-dark); font-size: 19px; }
.hero-navigation button:hover { background: var(--brand); border-color: var(--brand); color: #fff; }
.hero + .capability-strip { border-top: 1px solid #c2d2e026; background: var(--navy-deep); }
@media(max-width: 800px) {
  .hero-pagination { gap: 16px; }
  .hero-pagination button { min-width: 98px; }
}
@media(max-width: 560px) {
.hero-controls { gap: 20px; flex-wrap: wrap; padding-bottom: 22px; }
  .hero-pagination { width: 100%; gap: 16px; }
  .hero-pagination button { min-width: 0; flex: 1; gap: 10px; padding: 12px 0; }
  .hero-navigation { margin-left: auto; }
}
@media(max-width: 400px) {
  html[lang="en"] .hero-copy .hero-heading { font-size: 46px; }
  html[lang="en"] .hero-copy .lead { min-height: 74px; }
  html[lang="en"] .hero-actions { flex-direction: column; align-items: flex-start; }
}
.circle-arrow {
  width:44px;
  height:44px;
  border:1px solid #bdcad8;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  transition:background .2s,color .2s;
  flex-shrink:0;
}
.circle-arrow:hover {
  background:var(--brand);
  color:white;
}
.capability-strip {
  background:var(--ink);
  color:var(--on-dark);
}
.capability-strip>.wrap {
  display:grid;
  grid-template-columns:1.05fr repeat(4,1fr);
  min-height:95px;
  align-items:center;
  gap:24px;
}
.capability-strip .micro {
  color:var(--on-dark-muted);
  font-size:var(--text-ui);
}
.capability-strip a {
  font-family:Consolas,monospace;
  font-size:var(--text-ui);
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-left:1px solid #c2d2e033;
  padding-left:24px;
  color:var(--on-dark-muted);
  gap:8px;
  min-width:0;
}
.capability-strip strong {
  font:500 var(--text-body)/1.5 Arial,sans-serif;
  color:white;
  min-width:0;
}
.capability-strip a:hover strong {
  color:#fff;
  text-decoration:underline;
  text-decoration-color:var(--accent);
  text-underline-offset:6px;
}
/* Product cards and catalogue */
.section-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:42px;
}
.section-head h2 {
  margin:0;
}
.section-head .eyebrow {
  margin-bottom:16px;
}
.product-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:32px;
}
.product-visual {
  display:flex;
  height:330px;
  background:linear-gradient(145deg, #f7f9fc, var(--soft));
  padding:24px;
  position:relative;
  overflow:hidden;
  flex-direction:column;
  gap:12px;
}
.product-visual .micro {
  font-size:var(--text-ui);
  color:var(--muted);
  position:relative;
  z-index:2;
  flex-shrink:0;
}
.product-visual img {
  width:100%;
  height:250px;
  object-fit:contain;
  transition:transform .4s;
  filter:drop-shadow(5px 12px 7px #0f375a11);
  flex:1;
  min-height:0;
}
.product-card:hover .product-visual img {
  transform:translateY(-7px) rotate(-2deg);
}
.product-visual .circle-arrow {
  position:absolute;
  right:20px;
  bottom:20px;
  background:var(--paper);
  width:35px;
  height:35px;
  font-size:19px;
}
.product-copy {
  padding:24px 0 6px;
  border-bottom:1px solid var(--line);
}
.product-copy h3 {
  font-size:29px;
  margin-bottom:10px;
}
.product-copy h3 a:hover {
  color:var(--brand);
}
.product-copy p {
  font-size:var(--text-body);
  min-height:42px;
  margin-bottom:12px;
}
.product-card[data-category=slam] img {
  padding:12px;
}
.product-card[data-name^=AlgoH11] img {
  padding:30px;
}
.catalogue-tools {
  display:flex;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  border-bottom:1px solid var(--line);
  padding-bottom:22px;
}
.filters {
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.filter {
  background:transparent;
  color:var(--muted);
  border:1px solid transparent;
  padding:9px 13px;
  font-size:var(--text-ui);
}
.filter.active {
  background:var(--ink);
  color:white;
}
.filter:hover:not(.active) {
  border-color:var(--brand);
  background:var(--brand-soft);
}
.filter span {
  margin-left:8px;
  color:inherit;
  font-family:monospace;
}
.search {
  display:flex;
  align-items:center;
  border-bottom:1px solid #9aaabc;
}
.search input {
  border:0;
  background:transparent;
  padding:9px 5px;
  color:var(--ink);
  font-size:var(--text-body);
  max-width:180px;
}
.search input::placeholder {
  color:var(--muted);
  opacity:1;
}
.search>span:last-child {
  font-size:23px;
}
.result-count {
  font:var(--text-ui)/1.5 Consolas,monospace;
  color:var(--muted);
  margin:24px 0;
}
.catalogue .product-grid {
  row-gap:40px;
}
.empty-results {
  padding:60px;
  text-align:center;
  background:var(--soft);
}
/* Application and company sections */
.application-section {
  background:var(--ink);
  color:white;
  padding:76px 0;
}
.application-grid {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:75px;
  align-items:center;
}
.application-copy h2 {
  color:var(--on-dark);
  font-size:clamp(48px,5vw,68px);
  margin-bottom:25px;
}
.application-copy p {
  color:var(--on-dark-muted);
  font-size:var(--text-body);
  max-width:330px;
}
.application-copy .eyebrow {
  color:var(--on-dark-muted);
  font-size:var(--text-ui);
}
.application-copy em {
  color:var(--accent);
}
.application-image {
  position:relative;
  overflow:hidden;
  min-height:410px;
}
.application-image>img {
  width:100%;
  height:440px;
  object-fit:cover;
  filter:saturate(.6);
  transition:transform .6s;
}
.application-image:hover>img {
  transform:scale(1.03);
}
.image-label {
  position:absolute;
  inset:auto 0 0;
  padding:60px 26px 26px;
  background:linear-gradient(transparent,#09243df2);
}
.image-label span {
  display:block;
  font:var(--text-ui)/1.5 Consolas,monospace;
  letter-spacing:.12em;
  margin-bottom:12px;
}
.image-label strong {
  font-weight:400;
  font-size:23px;
}
.mini-tags {
  display:flex;
  gap:16px;
  margin-top:36px;
  font:var(--text-ui)/1.5 Consolas,monospace;
  color:var(--on-dark-muted);
  letter-spacing:.06em;
  flex-wrap:wrap;
}
.company-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
}
.company-section h2 {
  margin-bottom:0;
}
.company-section .lead {
  color:var(--ink);
  font-size:23px;
}
.company-section p:not(.lead):not(.eyebrow) {
  font-size:var(--text-body);
}
.metrics {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:0 0 84px;
  gap:35px;
}
.metrics>div {
  border-top:1px solid var(--line);
  padding-top:30px;
}
.metrics strong {
  font-size:58px;
  font-weight:400;
  letter-spacing:-.055em;
  line-height:1;
}
.metrics strong span {
  color:var(--brand);
  font-size:34px;
  margin-left:4px;
}
.metrics p {
  font-size:var(--text-ui);
  margin:14px 0 0;
}
.cta {
  background:var(--soft);
  border-top:1px solid var(--line);
}
.cta-inner {
  padding-block:65px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
}
.cta .eyebrow {
  font-size:var(--text-ui);
  margin-bottom:15px;
  color:var(--brand-hover);
}
.cta h2 {
  font-size:42px;
  margin-bottom:0;
}
.cta .button {
  flex-shrink:0;
}
.cta .button-light { background:var(--brand); color:var(--on-dark); }
.cta .button-light:hover { background:var(--brand-hover); }
.site-footer {
  background:var(--ink);
  color:var(--on-dark);
}
.footer-top {
  display:grid;
  grid-template-columns:1.4fr .75fr 1fr 1.3fr;
  gap:30px;
  padding-block:66px;
}
.footer-brand {
  align-self:start;
  font-size:33px;
}
.footer-brand small {
  color:var(--on-dark-muted);
  font-size:var(--text-caption);
}
.footer-top h2 {
  font:500 var(--text-ui)/1.5 Consolas,monospace;
  letter-spacing:.08em;
  color:var(--on-dark-muted);
  margin-bottom:22px;
  text-transform:uppercase;
}
.footer-top>div a,.footer-top>div>span {
  display:block;
  color:var(--on-dark);
  font-size:var(--text-ui);
  margin-bottom:4px;
}
.footer-top>div a {
  padding-block:10px;
}
.footer-top a:hover {
  color:#fff;
  text-decoration:underline;
  text-decoration-color:var(--accent);
  text-underline-offset:6px;
}
.footer-bottom {
  border-top:1px solid #c2d2e033;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-block:16px;
  font-size:var(--text-ui);
  color:var(--on-dark-muted);
  white-space:nowrap;
  overflow-x:auto;
}
.footer-bottom>* {
  flex-shrink:0;
}
.filing-link {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding-block:8px;
  font-size:var(--text-ui);
}
.filing-link:empty { display:none; }
.filing-link:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
/* Inner pages */
.page-intro {
  padding-block:76px 62px;
}
.page-intro h1 {
  margin-bottom:25px;
  max-width:900px;
}
.page-intro .lead {
  margin-bottom:0;
}
.breadcrumbs {
  display:flex;
  gap:14px;
  padding-block:22px;
  font-size:var(--text-ui);
  color:var(--muted);
  align-items:center;
  flex-wrap:wrap;
}
.breadcrumbs a:hover {
  color:var(--brand);
}
.detail-hero {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:center;
  padding:14px 0 50px;
}
.detail-visual {
  background:var(--soft);
  padding:28px;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.detail-visual>.micro {
  color:var(--muted);
  font-size:var(--text-ui);
}
.detail-visual img {
  width:100%;
  height:460px;
  object-fit:contain;
  padding:30px;
  filter:drop-shadow(8px 20px 12px #0f375a1a);
}
.detail-copy h1 {
  font-size:68px;
  margin-bottom:16px;
}
.detail-copy h2 {
  font-size:26px;
  letter-spacing:-.025em;
}
.detail-copy .eyebrow {
  margin-bottom:20px;
}
.detail-copy .lead {
  font-size:16px;
}
.detail-copy>.button {
  margin-top:6px;
}
.feature-list {
  padding:0;
  list-style:none;
  font-size:var(--text-body);
  margin:30px 0 0;
  display:grid;
  gap:10px;
}
.feature-list li:before {
  content:"+";
  color:var(--brand);
  margin-right:12px;
}
.specs {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:70px;
  border-bottom:1px solid var(--line);
  border-top:1px solid var(--line);
  margin-top:36px;
}
.specs h2 {
  font-size:38px;
}
.specs p {
  font-size:var(--text-body);
}
table {
  width:100%;
  border-collapse:collapse;
  font-size:var(--text-body);
  text-align:left;
}
th,td {
  padding:17px 10px;
  border-bottom:1px solid var(--line);
  vertical-align:top;
}
th {
  font-weight:400;
  color:var(--muted);
  width:48%;
  padding-left:0;
}
td {
  font-weight:500;
}
.specs .spec-note {
  font-size:var(--text-ui);
  margin-top:24px;
}
.as7-highlights { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding-block: 30px; border-block: 1px solid var(--line); }
.as7-highlights div { display: grid; gap: 8px; }
.as7-highlights strong { color: var(--brand); font-size: clamp(26px, 3vw, 40px); }
.as7-highlights span { font-size: var(--text-body); }
.as7-result-grid, .as7-software-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.as7-result-grid figure { margin: 0; background: var(--soft); }
.as7-result-grid img { display: block; width: 100%; height: auto; aspect-ratio: 1755 / 928; object-fit: contain; background: #151719; }
.as7-result-grid figcaption, .as7-software-grid article { padding: 28px; }
.as7-result-grid h3, .as7-software-grid h3 { margin: 12px 0; font-size: 24px; }
.as7-result-grid p, .as7-software-grid p { font-size: var(--text-body); line-height: 1.75; }
.as7-software-grid article { border: 1px solid var(--line); }
.as7-support-link { display: inline-flex; margin-top: 24px; }
.as7-specs caption { text-align: left; font-size: 20px; font-weight: 600; padding: 22px 0 8px; }
.as7-specs table { margin-bottom: 24px; }
@media (max-width: 600px) {
  .as7-highlights { grid-template-columns: repeat(2, 1fr); }
  .as7-result-grid, .as7-software-grid { grid-template-columns: 1fr; }
  .hero-pagination { flex-wrap: wrap; }
  .hero-pagination button { flex: 1 1 calc(50% - 16px); }
}
.scene-row {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:70px;
  align-items:center;
  padding-block:45px;
  border-top:1px solid var(--line);
}
.scene-row:nth-of-type(odd) .scene-image {
  order:2;
}
.scene-row:last-of-type {
  margin-bottom:60px;
}
.scene-image img {
  height:340px;
  width:100%;
  object-fit:cover;
}
.scene-row h2 {
  font-size:39px;
}
.scene-row .lead {
  font-size:var(--text-body);
}
.about-band {
  background:var(--soft);
  padding:65px 0;
}
.about-band h2 {
  font-size:42px;
}
.about-band+.metrics {
  padding-top:60px;
}
.recognitions {
  display:flex;
  gap:15px;
  flex-wrap:wrap;
}
.recognitions span {
  border:1px solid var(--line);
  padding:9px 12px;
  font-size:var(--text-ui);
}
.fusion-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:center;
}
.fusion-section>div>p {
  font-size:var(--text-body);
}
.fusion-section .lead {
  font-size:23px;
}
.fusion-visual {
  background:white;
  padding:24px;
  border:1px solid var(--line);
}
.contact-layout {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:40px;
}
.contact-main {
  padding:46px;
  background:var(--soft);
}
.contact-main .eyebrow {
  color:var(--brand-hover);
}
.contact-main h2 {
  font-size:38px;
}
.email-link {
  display:block;
  overflow-wrap:anywhere;
  font-size:clamp(22px,2.5vw,33px);
  letter-spacing:-.03em;
  margin-block:30px;
}
.email-link:hover {
  color:var(--brand);
}
.contact-actions {
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
}
.contact-actions .text-link {
  font-size:var(--text-ui);
  gap:15px;
}
.contact-aside {
  padding:44px;
  border-top:1px solid var(--line);
}
.contact-aside h3 {
  font-size:27px;
}
.contact-aside p {
  font-size:var(--text-body);
}
.contact-aside a {
  font-size:15px;
  border-bottom:1px solid var(--line);
  max-width:100%;
  overflow-wrap:anywhere;
}
.contact-aside hr {
  border:0;
  border-top:1px solid var(--line);
  margin:30px 0;
}
.contact-aside .eyebrow {
  font-size:var(--text-ui);
}
.inquiry-product {
  margin:24px 0 0!important;
  font-size:var(--text-ui)!important;
}
.toast {
  position:fixed;
  bottom:26px;
  left:50%;
  transform:translate(-50%,25px);
  padding:14px 24px;
  background:var(--ink);
  color:white;
  border:1px solid #93adc5;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s,transform .2s;
  z-index:100;
  font-size:var(--text-ui);
  max-width:90vw;
}
.toast.visible {
  opacity:1;
  transform:translate(-50%,0);
}
@media(min-width:1500px) {
  .hero-grid {
    min-height:730px;
  }
  .hero-stage {
    height:660px;
  }
  .hero-product {
    height:480px;
    top:72px;
  }
  .orbit-one {
    width:550px;
    height:550px;
  }
  .orbit-two {
    width:450px;
    height:450px;
    top:108px;
  }
  .stage-word {
    font-size:250px;
  }
  .hero-copy .hero-heading {
    font-size:92px;
  }
}
@media(max-width:1100px) {
  .wrap,.nav-wrap {
    width:calc(100% - 64px);
  }
  .site-header nav {
    gap:20px;
  }
  .hero-grid {
    grid-template-columns:1.05fr 1fr;
    min-height:600px;
  }
  .hero-copy .hero-heading {
    font-size:65px;
  }
  .hero-stage {
    height:560px;
  }
  .hero-product {
    width:300px;
    height:390px;
    top:85px;
  }
  .orbit-one {
    width:400px;
    height:400px;
    top:95px;
  }
  .orbit-two {
    width:330px;
    height:330px;
    top:130px;
  }
  .stage-word {
    font-size:190px;
    left:0;
  }
  .callout {
    right:-8px;
    top:160px;
  }
  .callout-line {
    width:24px;
  }
  .stage-caption {
    left:15px;
    bottom:20px;
  }
  .hero-actions {
    gap:15px;
  }
  .capability-strip>.wrap {
    gap:12px;
  }
  .capability-strip a {
    padding-left:12px;
  }
  .product-grid {
    gap:22px;
  }
  .product-visual {
    height:290px;
  }
  .product-visual img {
    height:210px;
  }
  .application-grid,.company-section,.detail-hero,.fusion-section {
    gap:40px;
  }
  .footer-top {
    grid-template-columns:1.1fr .75fr 1fr 1.1fr;
  }
  .detail-copy h1 {
    font-size:56px;
  }
  .contact-main {
    padding:32px;
  }
  .contact-aside {
    padding:32px;
  }
}
@media(max-width:800px) {
  .hero-grid {
    grid-template-columns:1fr 1fr;
  }
  .hero-copy .hero-heading {
    font-size:52px;
  }
  .hero-copy .eyebrow {
    max-width:230px;
  }
  .hero-stage {
    height:500px;
  }
  .hero-product {
    height:330px;
    width:240px;
    top:90px;
  }
  .orbit-one {
    width:320px;
    height:320px;
    top:102px;
  }
  .orbit-two {
    width:265px;
    height:265px;
    top:130px;
  }
  .stage-word {
    font-size:150px;
    letter-spacing:-12px;
    top:185px;
  }
  .stage-top {
    left:5px;
    top:48px;
  }
  .callout {
    display:none;
  }
  .stage-caption h2 {
    font-size:30px;
  }
  .capability-strip>.wrap {
    grid-template-columns:repeat(4,1fr);
    gap:14px;
  }
  .capability-strip>.wrap>.micro {
    display:none;
  }
  .capability-strip a:first-of-type {
    border-left:0;
    padding-left:0;
  }
  .hero-footnote {
    gap:9px;
  }
  .section {
    padding-block:65px;
  }
  .product-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .section-head {
    align-items:start;
  }
  .section-head h2 {
    font-size:34px;
  }
  .section-head .text-link {
    gap:15px;
    flex-shrink:0;
  }
  .application-grid {
    grid-template-columns:1fr 1.1fr;
    gap:32px;
  }
  .application-image>img {
    height:420px;
  }
  .application-copy h2 {
    font-size:45px;
  }
  .image-label {
    padding:60px 18px 18px;
  }
  .image-label strong {
    font-size:18px;
  }
  .mini-tags {
    gap:10px;
  }
  .company-section {
    gap:30px;
  }
  .company-section .lead {
    font-size:19px;
  }
  .metrics {
    gap:24px;
    padding-bottom:60px;
  }
  .metrics strong {
    font-size:44px;
  }
  .metrics strong span {
    font-size:26px;
  }
  .footer-top {
    grid-template-columns:1fr 1fr;
    gap:40px;
  }
  .detail-hero {
    gap:30px;
  }
  .detail-visual {
    padding:20px;
  }
  .detail-visual img {
    height:370px;
    padding:16px;
  }
  .detail-copy h1 {
    font-size:47px;
  }
  .detail-copy h2 {
    font-size:22px;
  }
  .specs {
    gap:32px;
  }
  .scene-row {
    gap:30px;
  }
  .scene-image img {
    height:310px;
  }
  .scene-row h2 {
    font-size:31px;
  }
  .contact-layout {
    grid-template-columns:1fr;
  }
  .contact-aside {
    padding-top:28px;
  }
  .contact-main .email-link {
    font-size:32px;
  }
  .cta h2 {
    font-size:36px;
  }
}
@media(max-width:560px) {
  .wrap,.nav-wrap {
    width:calc(100% - 40px);
  }
  .hero-grid {
    grid-template-columns:1fr;
  }
  .hero-copy {
    padding:42px 0 8px;
  }
  .hero-copy .hero-heading {
    font-size:58px;
    line-height:1.03;
    margin-bottom:22px;
  }
  .hero-copy .eyebrow {
    max-width:none;
    margin-bottom:22px;
  }
  .hero-copy .lead {
    line-height:1.75;
  }
  .hero-actions {
    gap:16px;
  }
  .hero-actions .button {
    padding:15px 19px;
  }
  .hero-actions .text-link {
    gap:10px;
  }
  .hero-footnote {
    margin-top:28px;
  }
  .hero-stage {
    height:440px;
    margin-top:8px;
  }
  .hero-product {
    top:48px;
    height:305px;
    width:280px;
  }
  .stage-top {
    top:18px;
  }
  .orbit-one {
    width:330px;
    height:330px;
    top:30px;
  }
  .orbit-two {
    width:270px;
    height:270px;
    top:60px;
  }
  .stage-word {
    font-size:185px;
    top:95px;
    left:calc(50% - 165px);
  }
  .stage-caption {
    bottom:14px;
    left:4px;
    right:4px;
    padding-top:14px;
  }
  .stage-caption h2 {
    font-size:30px;
  }
  .cross-one {
    top:50px;
    right:6px;
  }
  .cross-two {
    bottom:100px;
  }
  .capability-strip>.wrap {
    grid-template-columns:repeat(2,1fr);
    padding-block:24px;
    gap:22px;
  }
  .capability-strip a:nth-of-type(3) {
    padding-left:0;
    border:0;
  }
  .section {
    padding-block:55px;
  }
  .section-head {
    display:block;
    margin-bottom:30px;
  }
  .section-head h2 {
    font-size:35px;
  }
  .section-head>.text-link {
    margin-top:20px;
  }
  .eyebrow {
    margin-bottom:17px;
  }
  .product-grid {
    grid-template-columns:1fr;
    gap:32px;
  }
  .product-visual {
    height:320px;
  }
  .product-visual img {
    height:245px;
  }
  .product-copy {
    padding-top:20px;
  }
  .product-copy p {
    min-height:0;
  }
  .application-section {
    padding:50px 0;
  }
  .application-grid {
    grid-template-columns:1fr;
    gap:35px;
  }
  .application-copy h2 {
    font-size:52px;
  }
  .application-copy p {
    max-width:none;
  }
  .application-copy .mini-tags {
    margin-top:28px;
  }
  .application-image {
    min-height:310px;
  }
  .application-image>img {
    height:340px;
  }
  .company-section {
    grid-template-columns:1fr;
    gap:25px;
  }
  .company-section h2 {
    font-size:38px;
  }
  .company-section .lead {
    font-size:20px;
  }
  .metrics {
    grid-template-columns:repeat(2,1fr);
    gap:30px;
  }
  .metrics strong {
    font-size:50px;
  }
  .cta-inner {
    flex-direction:column;
    align-items:flex-start;
    padding-block:48px;
    gap:28px;
  }
  .cta h2 {
    font-size:37px;
  }
  .footer-top {
    padding-block:46px;
    gap:36px 20px;
  }
  .footer-brand {
    grid-column:1/-1;
  }
  .footer-top>div:last-child {
    grid-column:1/-1;
  }
  .footer-bottom {
    gap:20px;
  }
  .page-intro {
    padding-block:48px 40px;
  }
  .page-intro h1 {
    font-size:49px;
  }
  .lead {
    font-size:17px;
  }
  .filters {
    gap:5px;
  }
  .filter {
    padding:9px 11px;
  }
  .catalogue-tools {
    gap:20px;
  }
  .search {
    width:100%;
  }
  .search input {
    width:100%;
    max-width:none;
  }
  .catalogue .product-grid {
    row-gap:32px;
  }
  .section-bottom {
    padding-bottom:55px;
  }
  .detail-hero {
    grid-template-columns:1fr;
    gap:32px;
  }
  .detail-visual img {
    height:330px;
  }
  .detail-copy h1 {
    font-size:56px;
  }
  .detail-copy h2 {
    font-size:25px;
  }
  .detail-copy .lead {
    font-size:16px;
  }
  .specs {
    grid-template-columns:1fr;
    gap:20px;
    margin-top:10px;
  }
  .specs h2 {
    font-size:34px;
  }
  .specs td,.specs th {
    padding-block:15px;
  }
  .scene-row {
    grid-template-columns:1fr;
    gap:25px;
    padding-block:30px;
  }
  .scene-row:nth-of-type(odd) .scene-image {
    order:0;
  }
  .scene-image img {
    height:265px;
  }
  .scene-row h2 {
    font-size:35px;
  }
  .about-band {
    padding:45px 0;
  }
  .about-band h2 {
    font-size:36px;
  }
  .fusion-section {
    grid-template-columns:1fr;
    gap:25px;
  }
  .fusion-visual {
    padding:10px;
  }
  .contact-main {
    padding:28px 22px;
  }
  .contact-main h2 {
    font-size:32px;
  }
  .contact-main .email-link {
    font-size:27px;
  }
  .contact-aside {
    padding:26px 10px;
  }
  .empty-results {
    padding:40px 20px;
  }
}
.scene-row#autonomy .scene-image {
  background:var(--soft);
}
.scene-row#autonomy .scene-image img {
  object-fit:contain;
  padding:28px;
}
@media(max-width:1100px) {
  html:not(.js) .site-header {
    height:auto;
    position:relative;
  }
  html:not(.js) .nav-wrap {
    flex-wrap:wrap;
    padding-block:18px;
  }
  html:not(.js) .menu-toggle {
    display:none;
  }
  html:not(.js) .site-header nav {
    position:static;
    display:flex;
    flex-wrap:wrap;
    padding:0;
    border:0;
    box-shadow:none;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important;
  }
}
/* Chinese typography shares the same visual system. */
html[lang="zh-CN"] body {
  font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
}
html[lang="zh-CN"] h1, html[lang="zh-CN"] h2, html[lang="zh-CN"] h3 {
  letter-spacing: -.025em;
  line-height: 1.3;
}
html[lang="zh-CN"] .hero-copy .hero-heading {
  font-size: clamp(42px, 5.25vw, 76px);
  line-height: 1.25;
}
html[lang="zh-CN"] .hero-copy .lead {
  letter-spacing: .025em;
}
html[lang="zh-CN"] .micro, html[lang="zh-CN"] .eyebrow {
  letter-spacing: .08em;
}
html[lang="zh-CN"] .application-copy h2 {
  font-size: clamp(32px, 3.2vw, 48px);
}
html[lang="zh-CN"] .cta h2 {
  font-size: clamp(28px, 3vw, 40px);
}
@media(max-width: 800px) {
  html[lang="zh-CN"] .hero-copy .hero-heading {
    font-size: 42px;
  }
}
@media(max-width: 560px) {
  html[lang="zh-CN"] .hero-copy .hero-heading {
    font-size: 46px;
  }
  html[lang="zh-CN"] .page-intro h1 {
    font-size: 38px;
  }
  html[lang="zh-CN"] .section-head h2 {
    font-size: 30px;
  }
  html[lang="zh-CN"] .company-section h2 {
    font-size: 32px;
  }
  html[lang="zh-CN"] .scene-row h2 {
    font-size: 29px;
  }
}
.text-link,.button,.filter,.search input,.site-header nav>a,.site-footer a,.breadcrumbs a,.contact-aside a,.email-link,.product-copy h3 a,.capability-strip a {
  min-height:44px;
  min-width:44px;
}
.footer-bottom a,.breadcrumbs a,.product-copy h3 a,.contact-aside a {
  display:inline-flex;
  align-items:center;
}

/* Support and policy pages share the site's readable type and brand palette. */
.help-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 28px; margin-top:28px; }
.help-cards {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:36px;
}
.help-card {
  display:flex;
  flex-direction:column;
  gap:16px;
  padding:28px;
  background:#fff;
  border:1px solid var(--line);
}
.help-card h2 { font-size:26px; margin:0; }
.help-card p { margin:0; }
.help-card .micro { color:var(--brand); }
.help-card .text-link { margin-top:auto; align-self:flex-start; }
.help-card:hover { border-color:var(--brand); background:var(--brand-soft); }
.help-card:hover .micro,.help-card:hover .text-link { color:var(--brand-hover); }
.help-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:64px;
  align-items:start;
}
.help-article { grid-column:1; grid-row:1; min-width:0; }
.help-sidebar { grid-column:2; grid-row:1; position:sticky; top:120px; min-width:0; }
.help-panel { padding:24px; background:var(--soft); border-top:3px solid var(--brand); }
.help-panel h2 { font-size:26px; }
.help-panel .eyebrow { color:var(--brand-hover); margin-bottom:16px; }
.help-email {
  display:flex;
  align-items:center;
  min-height:44px;
  overflow-wrap:anywhere;
  font-weight:600;
  border-bottom:1px solid var(--line);
  margin-block:20px;
}
.help-email:hover { color:var(--brand-hover); }
.help-actions { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
.help-actions .button { width:100%; }
.help-panel .help-caption { font-size:var(--text-ui); }
.help-section { padding-block:32px; border-top:1px solid var(--line); }
.help-section:first-child { padding-top:0; border-top:0; }
.help-section h2 { font-size:30px; margin-bottom:24px; }
.help-article p,.help-article li { line-height:1.85; }
.help-article ol { padding-left:24px; color:var(--muted); }
.help-article li+li { margin-top:12px; }
.help-article p a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  min-width:44px;
  color:var(--brand-hover);
  text-decoration:underline;
  text-underline-offset:4px;
}
.help-checklist { list-style:none; padding:0; }
.help-checklist li { padding:20px; background:var(--soft); }
.help-checklist strong,.help-checklist span { display:block; }
.help-checklist span { margin-top:6px; color:var(--muted); }
.help-faq details { border-bottom:1px solid var(--line); }
.help-faq summary {
  position:relative;
  cursor:pointer;
  list-style:none;
  min-height:48px;
  padding:18px 36px 18px 0;
  font-weight:600;
}
.help-faq summary::-webkit-details-marker { display:none; }
.help-faq summary::after { content:"+"; position:absolute; right:4px; top:12px; font-size:24px; color:var(--brand); }
.help-faq details[open]>summary::after { content:"−"; }
.help-faq summary:hover { color:var(--brand-hover); }
.help-faq summary:focus-visible { outline:3px solid var(--brand); outline-offset:5px; }
.help-faq details p { margin:0 0 24px; }
.help-bottom { padding:28px; margin-top:24px; background:var(--soft); }
.help-bottom p { margin-bottom:8px; }
.policy-meta { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin:28px 0 0; }
.policy-meta dt { font-size:var(--text-ui); color:var(--muted); }
.policy-meta dd { margin:8px 0 0; }
.help-toc { padding:24px; border:1px solid var(--line); }
.help-toc .eyebrow { margin-bottom:12px; }
.help-toc a { display:flex; align-items:center; min-height:44px; padding-block:10px; font-size:var(--text-ui); }
.help-toc a:hover { color:var(--brand-hover); }
.policy-items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.policy-items>div { padding:24px; background:var(--soft); }
.policy-items h3 { font-size:21px; letter-spacing:0; }
.policy-items p { margin-bottom:0; }
@media(max-width:960px) {
  .help-layout { gap:32px; grid-template-columns:minmax(0,1fr) 260px; }
  .help-card { padding:22px; }
}
@media(max-width:800px) {
  .help-layout { display:flex; flex-direction:column; }
  .help-sidebar { position:static; width:100%; }
  .help-cards { grid-template-columns:1fr; }
  .help-toc { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
  .help-toc .eyebrow { grid-column:1/-1; }
  .policy-meta { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .help-section h2 { font-size:26px; }
}
@media(max-width:560px) {
  .policy-items { grid-template-columns:1fr; }
  .help-panel,.help-toc,.help-bottom { padding:20px; }
}
@media print {
  body:has(.help-article) .site-header,body:has(.help-article) .site-footer,.help-sidebar,.help-cards { display:none; }
  .help-layout { display:block; }
  .help-section,.policy-items>div { break-inside:avoid; }
}

/* Shared navigation: primary sections follow the logo; utilities stay on the right. */
.nav-wrap { justify-content: flex-start; gap: 56px; }
.site-header .brand { gap: 16px; font-size: 28px; line-height: 1.15; letter-spacing: -.35px; }
.site-header .brand img { width: 44px; height: 44px; flex-shrink: 0; }
.site-header .brand small { margin-top: 8px; line-height: 1.5; letter-spacing: .06em; }
.site-header nav { flex: 1; min-width: 0; gap: 26px; }
.site-header .language { margin-left: auto; }
.nav-dropdown { position: relative; }
.nav-dropdown > summary {
  display: flex; align-items: center; gap: 10px; min-height: 48px;
  padding: 12px 0; cursor: pointer; list-style: none; white-space: nowrap;
}
.nav-dropdown > summary::-webkit-details-marker { display: none; }
.nav-dropdown > summary:hover, .nav-dropdown[open] > summary,
.nav-dropdown[data-current] > summary { color: var(--brand); }
.nav-chevron { width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin-top: -4px; }
.nav-dropdown[open] .nav-chevron { transform: rotate(225deg); margin-top: 4px; }
.nav-panel {
  position: absolute; top: 100%; left: -20px; width: 290px; padding: 20px;
  background: var(--paper); border: 1px solid var(--line); border-top: 3px solid var(--ink);
  box-shadow: 0 18px 40px #0f375a1a; border-radius: 0 0 8px 8px;
}
.nav-panel-products { width: 490px; }
.nav-panel .nav-overview { display: flex; justify-content: space-between; align-items: center; min-height: 44px; padding: 8px 10px 16px; margin-bottom: 10px; border-bottom: 1px solid var(--line); color: var(--brand); }
.nav-panel-links { display: grid; gap: 4px; }
.nav-panel-products .nav-panel-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 12px; }
.nav-panel-links a { display: flex; flex-direction: column; justify-content: center; gap: 6px; min-height: 44px; padding: 12px 10px; border-radius: 4px; }
.nav-panel-links small { color: var(--muted); font-size: var(--text-caption); line-height: 1.5; }
.nav-panel a:hover, .nav-panel a:focus-visible { color: var(--brand); background: var(--soft); }
.featured-products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.featured-products .product-visual { height: 300px; }
@media (max-width: 1200px) {
  .featured-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
  .nav-wrap { justify-content: space-between; gap: 15px; }
  .site-header .brand { gap: 12px; font-size: 26px; }
  .site-header .brand img { width: 40px; height: 40px; }
  .site-header .brand small { margin-top: 6px; letter-spacing: .025em; }
  .site-header nav { max-height: calc(100dvh - 78px); overflow-y: auto; overscroll-behavior: contain; }
  .site-header nav.open { gap: 4px; }
  .site-header .language { margin-left: 0; }
  .nav-dropdown { width: 100%; border-bottom: 1px solid var(--line); }
  .nav-dropdown > summary { justify-content: space-between; min-height: 48px; }
  .nav-panel { position: static; width: 100%; border: 0; box-shadow: none; padding: 0 0 16px; }
  .nav-panel-products .nav-panel-links { gap: 4px; }
  .nav-panel .nav-overview { padding-left: 10px; }
  html:not(.js) .site-header nav { flex: 1 0 100%; max-height: none; overflow: visible; gap: 4px; }
  html:not(.js) .site-header nav > a { margin-right: 20px; }
}
@media (max-width: 560px) {
  .site-header .brand { flex-shrink: 1; min-width: 0; font-size: 25px; }
  .site-header .brand > span { min-width: 0; }
  .site-header .brand img { width: 38px; height: 38px; }
  .site-header .brand small { font-size: 11px; letter-spacing: .015em; }
  .site-header .menu-toggle { flex-shrink: 0; }
  .featured-products { grid-template-columns: 1fr; }
  .nav-panel-products .nav-panel-links { grid-template-columns: 1fr; }
}
/* Keep destination section headings visible below the sticky header. */
.scene-row[id], .help-section[id], #support-contact { scroll-margin-top: 112px; }

/* Download center: one category switcher and compact software cards. */
.downloads-page { background:var(--soft); padding-bottom:48px; }
.downloads-intro { padding-block:44px 32px; }
.downloads-intro .eyebrow { margin-bottom:12px; }
.downloads-intro h1 { font-size:42px; line-height:1.2; margin:0 0 16px; }
.downloads-intro>p:last-child { margin:0; color:var(--muted); }
.download-catalog { background:var(--paper); border:1px solid var(--line); border-radius:8px; padding:0 32px 32px; }
.download-anchor { display:block; height:0; scroll-margin-top:112px; }
.download-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); margin-bottom:28px; }
.download-toolbar[hidden] { display:none; }
.download-filters { display:flex; flex-wrap:wrap; gap:8px 28px; }
.download-filter { background:none; border:0; border-bottom:3px solid transparent; padding:22px 4px 19px; min-height:48px; color:var(--muted); cursor:pointer; }
.download-filter:hover { color:var(--brand); }
.download-filter[aria-pressed="true"] { border-bottom-color:var(--brand); color:var(--brand); font-weight:600; }
.download-count { flex-shrink:0; color:var(--muted); font-size:var(--text-ui); margin:0; }
.download-status { padding:32px 0 0; margin:0; color:var(--muted); }
.download-status:not([hidden])+.download-list:not(:empty) { margin-top:24px; }
.download-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.download-group { display:contents; }
.download-group[hidden] { display:none; }
.download-row { display:flex; align-items:flex-start; gap:24px; background:var(--soft); border:1px solid transparent; border-radius:6px; padding:28px; min-width:0; }
.download-row:hover { border-color:var(--line); }
.download-file { position:relative; display:flex; align-items:center; justify-content:center; flex-shrink:0; width:48px; height:60px; margin-top:4px; border:1.5px solid #8a9aa8; border-radius:3px; background:#fff; color:var(--muted); font-size:11px; font-weight:600; letter-spacing:.04em; }
.download-file::before { content:""; position:absolute; top:-1.5px; right:-1.5px; width:13px; height:13px; border-left:1.5px solid #8a9aa8; border-bottom:1.5px solid #8a9aa8; background:var(--soft); border-radius:0 2px 0 2px; }
.download-file span { margin-top:15px; }
.download-copy { min-width:0; flex:1; display:flex; flex-direction:column; align-items:flex-start; }
.download-platform { color:var(--muted); font-size:var(--text-caption); margin:0 0 8px; overflow-wrap:anywhere; }
.download-name { font-size:24px; font-weight:600; line-height:1.3; margin:0 0 12px; overflow-wrap:anywhere; }
.download-description { color:var(--muted); font-size:var(--text-ui); line-height:1.75; margin-bottom:24px; }
.download-description p { margin:0; }
.download-link,.download-coming-soon { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:44px; padding:9px 18px; border:1px solid var(--ink); border-radius:4px; color:var(--ink); background:transparent; font-size:var(--text-ui); }
.download-link:hover { color:var(--paper); background:var(--ink); }
.download-coming-soon:disabled { color:var(--muted); border-color:var(--line); background:var(--paper); cursor:default; }
.download-notice { margin:0 0 20px; color:var(--brand-hover); font-size:var(--text-ui); line-height:1.75; overflow-wrap:anywhere; white-space:pre-wrap; }
.download-file--soon { border-radius:50%; height:48px; }
.download-file--soon::before { display:none; }
.download-file--soon span { margin:0; font-size:24px; }
.download-help { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px 16px; padding-top:24px; font-size:var(--text-ui); }
.download-help p { margin:0; color:var(--muted); }
.download-help a { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); }
.download-help a:hover { color:var(--brand); text-decoration:underline; }
html:not(.js) .download-status { display:none; }
@media(max-width:800px) {
 .downloads-intro { padding-block:32px 24px; }
 .downloads-intro h1 { font-size:34px; }
 .download-catalog { padding:0 20px 24px; }
 .download-list { grid-template-columns:1fr; gap:16px; }
 .download-row { padding:24px; }
}
@media(max-width:480px) {
 .download-toolbar { flex-wrap:wrap; gap:0; padding-bottom:14px; }
 .download-filters { gap:0 12px; width:100%; }
 .download-filter { padding-block:18px 14px; font-size:var(--text-ui); }
 .download-count { margin-top:12px; }
 .download-row { gap:16px; padding:20px; }
 .download-name { font-size:22px; }
 .download-file { width:38px; height:50px; font-size:10px; }
 .download-file--soon { height:38px; }
}

/* Optional home language suggestion; hidden by default, including without JS. */
.language-prompt { background:var(--soft); border-bottom:1px solid var(--line); }
.language-prompt[hidden] { display:none; }
.language-prompt-inner { display:flex; align-items:center; justify-content:space-between; gap:8px 24px; padding-block:10px; }
.language-prompt p { margin:0; color:var(--ink); font-size:var(--text-ui); }
.language-prompt-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px 20px; }
.language-prompt a,.language-prompt button { display:inline-flex; align-items:center; min-height:44px; font-size:var(--text-ui); }
.language-prompt a { color:var(--brand); font-weight:600; }
.language-prompt button { border:0; padding:0; color:var(--muted); background:transparent; cursor:pointer; }
.language-prompt a:hover,.language-prompt button:hover { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:560px) {
 .language-prompt-inner { flex-wrap:wrap; }
 .language-prompt-actions { gap:8px 16px; }
}
