:root {
  --ink: #17151b;
  --ink-soft: #6d6875;
  --paper: #f7f5fa;
  --white: #fff;
  --dark: #0b0910;
  --dark-soft: #17121f;
  --purple: #6422d8;
  --purple-deep: #41118e;
  --purple-soft: #eee7ff;
  --acid: #c8ff42;
  --orange: #ff7654;
  --line: #ded9e6;
  --space-4: 4px;
  --space-8: 8px;
  --space-16: 16px;
  --space-24: 24px;
  --space-32: 32px;
  --space-48: 48px;
  --space-64: 64px;
  --space-96: 96px;
  --space-128: 128px;
  --space-160: 160px;
  --content-width: 1312px;
  --gutter: clamp(24px, calc(24px + 6.67vw), 64px);
  --ease-out: cubic-bezier(.22, 1, .36, 1);
  --ease-ui: cubic-bezier(.2, 0, 0, 1);
  --duration-fast: 160ms;
  --duration-normal: 240ms;
  --duration-reveal: 420ms;
  --mobile-type-title: clamp(2.25rem, 9.5vw, 3.25rem);
  --mobile-type-title-leading: 1.16;
  --mobile-type-subtitle: clamp(1.32rem, 6.4vw, 1.76rem);
  --mobile-type-body: 1rem;
  --mobile-type-description: .875rem;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, "SF Pro Display", "Noto Sans SC", "PingFang SC", "Segoe UI", sans-serif;
  font-synthesis: none;
  line-height: 1.75;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-width: 320px; margin: 0; overflow-x: clip; background: var(--paper); }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }

.skip-link {
  position: fixed;
  z-index: 100;
  top: -64px;
  left: var(--space-16);
  padding: var(--space-8) var(--space-16);
  color: var(--white);
  background: var(--dark);
  transition: top var(--duration-fast) var(--ease-ui);
}
.skip-link:focus { top: var(--space-16); }

.site-header {
  position: sticky;
  z-index: 20;
  top: 0;
  display: grid;
  grid-template-columns: 144px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 80px;
  padding: 0 var(--gutter);
  border-bottom: 1px solid color-mix(in srgb, var(--line) 82%, transparent);
  background: color-mix(in srgb, var(--paper) 92%, transparent);
  backdrop-filter: blur(16px);
  transform: translateY(0);
  transition: transform 300ms cubic-bezier(.22, 1, .36, 1);
  will-change: transform;
}
.site-header[data-scroll-hidden="true"] { transform: translateY(-100%); }
.site-logo { display: block; width: 144px; }
.site-logo img { width: 100%; height: auto; }
.site-header nav { display: flex; justify-content: center; gap: clamp(var(--space-16), 2.2vw, var(--space-32)); }
.site-header nav a,
.language-switch,
.nav-toggle {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
}
.site-header nav a { position: relative; padding: 0 var(--space-4); }
.site-header nav a::after {
  position: absolute;
  right: var(--space-4);
  bottom: var(--space-8);
  left: var(--space-4);
  height: 2px;
  content: "";
  background: var(--purple);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform var(--duration-fast) var(--ease-ui);
}
.site-header nav a[aria-current="page"] { color: var(--purple); font-weight: 600; }
.site-header nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.header-actions { display: flex; align-items: center; gap: var(--space-16); }
.language-switch { gap: var(--space-8); color: var(--purple); font-weight: 600; }
.language-switch span { font-size: 16px; }
.nav-toggle { display: none; gap: var(--space-8); padding: 0; border: 0; color: var(--purple); background: transparent; cursor: pointer; }
.nav-toggle-icon { display: grid; gap: var(--space-4); width: 24px; }
.nav-toggle-icon i { display: block; height: 2px; background: currentColor; transition: transform var(--duration-fast) var(--ease-ui); }
.site-header[data-menu-open="true"] .nav-toggle-icon i:first-child { transform: translateY(3px) rotate(45deg); }
.site-header[data-menu-open="true"] .nav-toggle-icon i:last-child { transform: translateY(-3px) rotate(-45deg); }
.nav-backdrop { display: none; }

main { display: block; }
section { scroll-margin-top: 0; }
.eyebrow {
  margin: 0 0 var(--space-16);
  color: var(--purple);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1.5;
  text-transform: uppercase;
}
h1, h2, h3, p { overflow-wrap: anywhere; }
.button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  gap: var(--space-8);
  padding: 0 var(--space-24);
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
  transition: transform var(--duration-fast) var(--ease-ui), background var(--duration-fast) var(--ease-ui), color var(--duration-fast) var(--ease-ui), box-shadow var(--duration-fast) var(--ease-ui);
}
.button-primary { color: var(--dark); background: var(--acid); }
.home-block-copy .button-link,
.page-section-heading .button-link { color: var(--dark); background: var(--acid); }
.button-light { color: var(--dark); background: var(--white); }

.home-blocks { display: grid; }
.home-block {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  align-items: center;
  gap: var(--space-64);
  width: min(100%, var(--content-width));
  min-height: 0;
  margin: 0 auto;
  padding: var(--space-96) var(--gutter);
  border-bottom: 1px solid var(--line);
}
.home-block:nth-child(even) { background: var(--white); }
.home-block:first-child {
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  color: var(--white);
  background: var(--dark);
}
.home-block:first-child .home-block-copy { order: 1; }
.home-block:first-child .home-block-media { order: 2; }
.home-block-media { min-width: 0; order: 1; overflow: hidden; }
.home-block-copy { min-width: 0; max-width: 720px; order: 2; }
.home-block:nth-child(even) .home-block-media { order: 2; }
.home-block:nth-child(even) .home-block-copy { order: 1; }
.home-block:first-child .eyebrow { color: #bd9cff; }
.home-block:first-child .home-block-copy > p:not(.eyebrow) { color: #c7c1d0; }
.home-block-partnerships { color: var(--white); background: var(--purple); }
.home-block-partnerships .home-block-copy > p:not(.eyebrow) { color: #e5dbf7; }
.home-block-partnerships .eyebrow { color: var(--acid); }
.home-block:not(:has(.home-block-media)) .home-block-copy { grid-column: 1 / -1; }
.home-block-copy h1,
.home-block-copy h2 {
  max-width: 14ch;
  margin: 0;
  font-size: clamp(28px, calc(15.4px + 5.29vw), 72px);
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.15;
}
.home-block-copy > p:not(.eyebrow) { max-width: 520px; margin: var(--space-24) 0 0; color: var(--ink-soft); font-size: 18px; line-height: 1.6; }
.home-block-copy .button-link { margin-top: var(--space-32); }
.home-block:first-child .home-block-copy h1 { line-height: 1.05; }
.home-block:first-child .home-block-copy .button-link { color: var(--dark); }

.responsive-media { position: relative; display: block; width: 100%; min-width: 0; overflow: hidden; background: #e8e4ee; }
.responsive-media picture,
.responsive-media img { display: block; width: 100%; height: 100%; }
.responsive-media img { position: absolute; inset: 0; object-fit: cover; }
.responsive-media .image-fallback {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: var(--space-16);
  color: var(--ink-soft);
  background: #e8e4ee;
  text-align: center;
  opacity: 0;
}
.responsive-media.is-missing img { opacity: 0; }
.responsive-media.is-missing .image-fallback { opacity: 1; }
.image-link { display: block; color: inherit; text-decoration: none; }
.home-block-media .responsive-media { border-radius: 16px; }
.home-block:first-child .home-block-media .responsive-media { background: #131017; }

.inner-page { min-height: 0; }
.page-intro {
  width: min(100%, var(--content-width));
  margin: 0 auto;
  padding: var(--space-96) var(--gutter) var(--space-64);
  background: var(--white);
}
.page-intro h1 {
  max-width: 14ch;
  margin: 0;
  font-size: clamp(32px, calc(20px + 3vw), 56px);
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.15;
}
.page-intro-copy { max-width: 720px; margin: var(--space-24) 0 0; color: var(--ink-soft); font-size: 18px; line-height: 1.6; }
.content-section { padding: var(--space-96) var(--gutter); border-top: 1px solid var(--line); background: var(--paper); }
.content-section:nth-of-type(odd) { background: var(--white); }
.section-kicker,
.page-section-heading,
.content-grid {
  width: min(100%, var(--content-width));
  margin-right: auto;
  margin-left: auto;
}
.section-kicker { display: flex; align-items: center; gap: var(--space-8); color: var(--ink); }
.section-kicker span { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid currentColor; border-radius: 50%; color: var(--purple); font-size: 12px; font-weight: 600; }
.section-kicker p { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .1em; line-height: 1.5; text-transform: uppercase; }
.page-section-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr); align-items: end; gap: var(--space-32); margin-top: var(--space-32); margin-bottom: var(--space-48); }
.page-section-heading h2 { max-width: 14ch; margin: 0; font-size: clamp(28px, calc(17.4px + 3.68vw), 44px); font-weight: 600; letter-spacing: -.01em; line-height: 1.2; }
.section-intro { max-width: 520px; margin: 0; color: var(--ink-soft); font-size: 18px; line-height: 1.6; }
.page-section-heading .button-link { width: fit-content; margin-top: var(--space-16); }
.update-filters { display: flex; flex-wrap: wrap; gap: var(--space-8); width: min(100%, var(--content-width)); margin: 0 auto; padding: var(--space-16) var(--gutter); background: var(--white); }
.update-filters button { min-height: 48px; padding: 0 var(--space-16); border: 1px solid var(--line); border-radius: 4px; color: var(--ink); background: transparent; font-size: 14px; cursor: pointer; }
.update-filters button:first-child { color: var(--white); border-color: var(--purple); background: var(--purple); }
.content-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-32); }
.content-item { display: flex; min-width: 0; flex-direction: column; padding: var(--space-24); border: 1px solid var(--line); background: var(--white); }
.content-item-link { color: inherit; text-decoration: none; transition: transform var(--duration-fast) var(--ease-ui), box-shadow var(--duration-fast) var(--ease-ui); }
.content-item-copy { display: flex; flex: 1; flex-direction: column; }
.content-item-media { margin: calc(var(--space-24) * -1) calc(var(--space-24) * -1) var(--space-24); }
.content-item-media .responsive-media { min-height: 0; }
.content-item h3 { margin: var(--space-8) 0 0; font-size: 24px; font-weight: 500; letter-spacing: -.01em; line-height: 1.3; }
.content-item p:not(.item-index) { color: var(--ink-soft); }
.content-item .item-index { margin: 0; color: var(--purple); font-size: 12px; font-weight: 600; letter-spacing: .1em; }
.content-item ul,
.product-detail-copy ul { display: grid; gap: var(--space-8); margin: auto 0 0; padding: var(--space-24) 0 0 var(--space-24); color: var(--ink-soft); font-size: 14px; line-height: 1.5; }

.product-detail { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); width: min(calc(100% - (var(--gutter) * 2)), var(--content-width)); margin: 0 auto var(--space-96); color: var(--white); background: var(--dark); }
.product-detail-media { min-width: 0; display: flex; align-items: center; }
.product-detail-media .image-link { width: 100%; }
.product-detail-media .responsive-media { min-height: 0; }
.product-detail-copy { align-self: center; padding: var(--space-64); }
.product-detail-copy h2 { margin: 0; font-size: clamp(28px, calc(18px + 3.6vw), 56px); font-weight: 600; letter-spacing: -.01em; line-height: 1.15; }
.product-detail-copy > p:not(.eyebrow),
.product-detail-copy li { color: #c8c0d2; }
.product-detail-copy .eyebrow { color: #bd9cff; }
.product-detail-copy .button-link { margin-top: var(--space-32); }

.contact-section {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  align-items: start;
  gap: var(--space-64);
  width: min(100%, var(--content-width));
  margin: 0 auto;
  padding: var(--space-96) var(--gutter) 0;
  background: var(--paper);
}
.contact-page .contact-section { padding-right: var(--gutter); padding-left: var(--gutter); }
.contact-copy { min-width: 0; }
.contact-copy > h2 { max-width: 14ch; margin: var(--space-32) 0 0; font-size: clamp(28px, calc(17.4px + 3.68vw), 44px); font-weight: 600; letter-spacing: -.01em; line-height: 1.2; }
.contact-note { margin-top: var(--space-48); padding-top: var(--space-16); border-top: 1px solid var(--line); }
.contact-note h3 { margin: 0; font-size: 24px; font-weight: 500; line-height: 1.3; }
.contact-note p { margin: var(--space-8) 0 0; color: var(--ink-soft); }
.inquiry-section { min-width: 0; padding: var(--space-48); color: var(--white); background: var(--dark); }
.inquiry-section h2 { margin: 0; font-size: clamp(28px, calc(18px + 2.4vw), 44px); font-weight: 600; letter-spacing: -.01em; line-height: 1.2; }
.inquiry-section > p { margin-top: var(--space-16); color: #bdb5c8; }
form { display: grid; gap: var(--space-8); margin-top: var(--space-32); }
form > p { margin: 0; color: #9c94a8; font-size: 12px; line-height: 1.5; }
form label { margin-top: var(--space-16); color: #dbd4e2; font-size: 12px; font-weight: 500; letter-spacing: .1em; line-height: 1.5; text-transform: uppercase; }
input, select, textarea { width: 100%; border: 0; border-bottom: 1px solid #554e5f; border-radius: 0; padding: var(--space-8) 0; color: var(--white); background: transparent; font-size: 16px; line-height: 1.75; }
select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, #c8c0d1 50%), linear-gradient(135deg, #c8c0d1 50%, transparent 50%); background-position: calc(100% - 8px) 50%, 100% 50%; background-repeat: no-repeat; background-size: 8px 8px, 8px 8px; }
select option { color: var(--ink); background: var(--white); }
input:focus, select:focus, textarea:focus { border-color: var(--acid); outline: 0; }
textarea { min-height: 112px; resize: vertical; }
form label[for="consent"] { display: flex; align-items: flex-start; gap: var(--space-8); margin: var(--space-24) 0; font-weight: 400; letter-spacing: 0; line-height: 1.5; text-transform: none; }
form label[for="consent"] input { flex: 0 0 auto; width: auto; margin-top: var(--space-4); accent-color: var(--acid); }
form button { min-height: 48px; border: 0; border-radius: 4px; color: var(--dark); background: var(--acid); font-size: 14px; font-weight: 500; cursor: pointer; }
#inquiry-status { min-height: 24px; }
.hp { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; }

.contact-social { grid-column: 1 / -1; min-width: 0; padding: var(--space-96) 0 var(--space-64); border-top: 1px solid var(--line); }
.social-module { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: var(--space-64); }
.social-heading h2 { max-width: 14ch; margin: 0; font-size: clamp(28px, calc(17.4px + 3.68vw), 44px); font-weight: 600; letter-spacing: -.01em; line-height: 1.2; white-space: pre-line; }
.social-heading > p:last-child { max-width: 520px; margin-top: var(--space-24); color: var(--ink-soft); }
.social-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-16); }
.social-card { display: grid; grid-template-columns: minmax(112px, 160px) minmax(0, 1fr); align-items: center; gap: var(--space-16); min-width: 0; padding: var(--space-16); border: 1px solid var(--line); background: var(--white); }
.social-qr-trigger { min-width: 0; padding: var(--space-8); border: 0; color: var(--purple); background: #f2edff; cursor: pointer; }
.social-qr-trigger img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.social-qr-trigger span { display: block; margin-top: var(--space-8); font-size: 12px; font-weight: 500; line-height: 1.5; }
.social-label { margin: 0; color: var(--purple); font-size: 12px; font-weight: 600; letter-spacing: .1em; line-height: 1.5; text-transform: uppercase; }
.social-account { margin: var(--space-8) 0 0; overflow-wrap: anywhere; font-weight: 500; }
.social-id { margin: var(--space-4) 0 0; color: var(--ink-soft); font-size: 12px; }
.copy-account { min-height: 48px; margin-top: var(--space-16); padding: 0 var(--space-16); border: 0; border-radius: 4px; color: var(--white); background: var(--purple); font-size: 12px; font-weight: 500; cursor: pointer; }
.qr-dialog[hidden] { display: none; }
.qr-dialog { position: fixed; z-index: 50; inset: 0; display: grid; place-items: center; padding: var(--space-16); }
.qr-dialog-backdrop { position: absolute; inset: 0; background: rgb(5 4 7 / 84%); backdrop-filter: blur(8px); }
.qr-dialog-panel { position: relative; z-index: 2; display: grid; justify-items: center; width: min(100%, 480px); max-height: calc(100dvh - 32px); overflow: auto; padding: var(--space-48); color: var(--white); background: #17121f; text-align: center; }
.qr-dialog-panel .eyebrow { color: #bd9cff; }
.qr-dialog-panel h2 { margin: 0; font-size: 28px; font-weight: 600; line-height: 1.2; }
#qr-dialog-image { width: min(70vw, 304px); aspect-ratio: 1; margin: var(--space-24) 0; padding: var(--space-8); background: var(--white); object-fit: contain; }
#qr-dialog-copy { color: var(--dark); background: var(--acid); }
.qr-dialog-close { position: absolute; top: var(--space-8); right: var(--space-8); width: 48px; min-height: 48px; padding: 0; border: 0; color: var(--white); background: transparent; font-size: 28px; cursor: pointer; }

footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-16) var(--space-32); width: min(100%, var(--content-width)); margin: 0 auto; padding: var(--space-32) var(--gutter); color: #aaa2b3; border-top: 1px solid #302a38; background: var(--dark); font-size: 12px; line-height: 1.5; }
footer p { margin: 0; }
footer a { color: #d6cedd; text-decoration: none; }

@media (hover: hover) and (pointer: fine) {
  a { transition: opacity var(--duration-fast) var(--ease-ui), transform var(--duration-fast) var(--ease-ui); }
  a:hover { opacity: .82; transform: translateY(-1px); }
  .site-header nav a:hover::after { transform: scaleX(1); transform-origin: left; }
  .button-link:hover { transform: translateY(-2px); }
  .content-item-link:hover { transform: translateY(-2px); box-shadow: 0 var(--space-16) var(--space-32) rgb(23 21 27 / 10%); }
  .update-filters button:hover { color: var(--white); border-color: var(--purple); background: var(--purple); }
}

@media (max-width: 1199px) {
  .site-header { grid-template-columns: 144px minmax(0, 1fr) auto; }
  .header-actions { grid-column: 3; }
  .site-header nav { position: absolute; top: 80px; right: var(--gutter); left: var(--gutter); display: grid; justify-content: stretch; gap: 0; padding: var(--space-8); border: 1px solid var(--line); border-radius: 4px; background: var(--white); box-shadow: 0 var(--space-16) var(--space-32) rgb(23 21 27 / 12%); opacity: 0; pointer-events: none; transform: translateY(-8px); visibility: hidden; transition: opacity var(--duration-fast) var(--ease-ui), transform var(--duration-fast) var(--ease-ui), visibility var(--duration-fast) var(--ease-ui); }
  .site-header[data-menu-open="true"] nav { opacity: 1; pointer-events: auto; transform: translateY(0); visibility: visible; }
  .site-header nav a { min-height: 48px; padding: 0 var(--space-16); }
  .site-header nav a::after { right: var(--space-16); bottom: var(--space-4); left: var(--space-16); }
  .nav-toggle { display: inline-flex; }
  .home-block, .home-block:first-child { gap: var(--space-48); }
  .page-section-heading, .contact-section, .social-module { gap: var(--space-48); }
  .content-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .social-card { grid-template-columns: minmax(96px, 128px) minmax(0, 1fr); }
}

@media (max-width: 900px) {
  .home-block:first-child { grid-template-columns: 1fr; }
  .home-block:first-child .home-block-copy { order: 1; }
  .home-block:first-child .home-block-media { order: 2; }
}

@media (max-width: 767px) {
  :root { --gutter: 24px; }
  .site-header { grid-template-columns: 120px minmax(0, 1fr) auto; min-height: 64px; }
  .site-logo { width: 120px; }
  .header-actions { gap: var(--space-8); }
  .language-switch { min-height: 48px; font-size: 12px; }
  .language-switch span { display: none; }
  .nav-toggle { font-size: 12px; }
  .site-header nav { top: 64px; right: 24px; left: 24px; }
  section { scroll-margin-top: 0; }
  .home-block, .home-block:first-child { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-32); padding-top: var(--space-64); padding-bottom: var(--space-64); }
  .home-block:first-child { padding-top: var(--space-64); }
  .home-block-copy, .home-block:first-child .home-block-copy, .home-block:nth-child(even) .home-block-copy { order: 1; }
  .home-block-media, .home-block:first-child .home-block-media, .home-block:nth-child(even) .home-block-media { order: 2; }
  .home-block-copy h1, .home-block-copy h2 { font-size: clamp(28px, calc(19px + 4.36vw), 44px); line-height: 1.15; }
  .home-block:first-child .home-block-copy h1 { font-size: clamp(36px, calc(16px + 5.13vw), 56px); line-height: 1.05; }
  .home-block-copy > p:not(.eyebrow) { font-size: 18px; }
  .page-intro { padding-top: var(--space-64); padding-bottom: var(--space-48); }
  .page-intro h1 { font-size: clamp(32px, calc(20px + 3.08vw), 44px); }
  .content-section { padding-top: var(--space-64); padding-bottom: var(--space-64); }
  .page-section-heading { display: block; margin-top: var(--space-24); margin-bottom: var(--space-32); }
  .page-section-heading h2 { font-size: 28px; }
  .page-section-heading .section-intro { margin-top: var(--space-16); }
  .page-section-heading .button-link { margin-top: var(--space-24); }
  .content-grid { grid-template-columns: 1fr; gap: var(--space-16); }
  .content-item-media { margin: calc(var(--space-24) * -1) calc(var(--space-24) * -1) var(--space-16); }
  .product-detail { display: flex; flex-direction: column; width: auto; margin-right: 24px; margin-left: 24px; margin-bottom: var(--space-64); }
  .product-detail-copy { padding: var(--space-32) var(--space-24); }
  .product-detail-media .responsive-media { min-height: 0; }
  .contact-section, .contact-page .contact-section { display: flex; flex-direction: column; gap: var(--space-32); padding-top: var(--space-64); }
  .contact-copy > h2 { font-size: 28px; }
  .contact-note { margin-top: var(--space-32); }
  .inquiry-section { width: 100%; padding: var(--space-32) var(--space-24); }
  .contact-social { width: 100%; padding-top: var(--space-64); }
  .social-module { display: block; }
  .social-grid { grid-template-columns: 1fr; margin-top: var(--space-32); }
  .social-card { grid-template-columns: 112px minmax(0, 1fr); }
  .qr-dialog-panel { padding: var(--space-32) var(--space-24); }
  footer { flex-direction: column; padding-top: var(--space-32); padding-bottom: var(--space-32); }
}

@media (max-width: 400px) {
  .site-header { grid-template-columns: 120px minmax(0, 1fr) auto; }
  .nav-toggle-label { display: none; }
  .home-block, .home-block:first-child { padding-right: 24px; padding-left: 24px; }
  .social-card { grid-template-columns: 96px minmax(0, 1fr); gap: var(--space-8); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  a:hover { transform: none !important; }
}

body:lang(en) h1,
body:lang(en) h2,
body:lang(en) h3 { letter-spacing: -.025em; }
body:lang(en) .eyebrow,
body:lang(en) .section-kicker p,
body:lang(en) form label,
body:lang(en) .item-index,
body:lang(en) .social-label { letter-spacing: .1em; }


/* Visual page-title backgrounds: approved source imagery with compact, readable overlays. */
.page-intro.page-intro-visual {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: flex-end;
  min-height: clamp(17rem, 32vw, 27rem);
  overflow: hidden;
  padding: clamp(2rem, 5vw, 4.5rem) var(--page-gutter);
  color: #fff;
  background: #17131f;
}

.page-intro-visual::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background: linear-gradient(90deg, rgb(13 9 20 / 88%) 0%, rgb(13 9 20 / 62%) 48%, rgb(13 9 20 / 20%) 100%);
}

.page-intro-media,
.page-intro-media .responsive-media,
.page-intro-media picture {
  position: absolute;
  inset: 0;
  z-index: -2;
  display: block;
  width: 100%;
  height: 100%;
}

.page-intro-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-intro-content {
  width: min(46rem, 72%);
}

.page-intro-visual .eyebrow,
.page-intro-visual .page-intro-copy {
  color: rgb(255 255 255 / 82%);
}

.page-intro-visual h1 {
  color: #fff;
  text-wrap: balance;
}

@media (max-width: 760px) {
  .page-intro.page-intro-visual {
    min-height: clamp(16rem, 92vw, 23rem);
    padding-block: 2rem;
  }

  .page-intro-visual::after {
    background: linear-gradient(0deg, rgb(13 9 20 / 90%) 0%, rgb(13 9 20 / 52%) 70%, rgb(13 9 20 / 20%) 100%);
  }

  .page-intro-content {
    width: 100%;
  }
}


/* Keep bilingual headings semantically grouped at punctuation and word boundaries. */
.page-intro h1,
.home-block-copy h1,
.home-block-copy h2,
.page-section-heading h2,
.product-detail h2 {
  word-break: keep-all;
  overflow-wrap: normal;
  line-break: strict;
}

/* 0916 feedback implementation: replacement-ready placeholders and minimal full-bleed layout. */
.site-header {
  width: 100%;
  border-bottom-color: rgb(222 217 230 / 46%);
  background: rgb(247 245 250 / 68%);
  -webkit-backdrop-filter: saturate(130%) blur(20px);
  backdrop-filter: saturate(130%) blur(20px);
}

.page-intro.page-intro-visual {
  width: 100%;
  max-width: none;
  min-height: clamp(24rem, 46vw, 40rem);
  margin: 0;
  padding: clamp(4rem, 8vw, 7rem) var(--gutter);
}
.page-intro-content { position: relative; z-index: 2; width: min(46rem, 72%); }
.page-intro-visual::after {
  z-index: 0;
  background: linear-gradient(90deg, rgb(17 17 19 / 78%) 0%, rgb(17 17 19 / 48%) 48%, rgb(17 17 19 / 12%) 100%);
}
.page-intro-media { z-index: -1; }

.asset-placeholder {
  position: relative;
  isolation: isolate;
  display: grid;
  place-content: center;
  justify-items: center;
  min-width: 0;
  overflow: hidden;
  color: #4f4f54;
  background: #d8d8da;
  text-align: center;
}
.asset-placeholder::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background:
    linear-gradient(135deg, transparent calc(50% - .5px), rgb(92 92 98 / 20%) 50%, transparent calc(50% + .5px)),
    linear-gradient(45deg, transparent calc(50% - .5px), rgb(92 92 98 / 20%) 50%, transparent calc(50% + .5px));
}
.asset-placeholder-label {
  margin-bottom: .5rem;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.asset-name { max-width: calc(100% - 3rem); font-size: clamp(.875rem, 1.25vw, 1.125rem); line-height: 1.45; overflow-wrap: anywhere; }
.asset-name-mobile { display: none; }
.asset-placeholder-hero { width: 100%; height: 100%; min-height: inherit; }
.asset-placeholder-card { aspect-ratio: 4 / 3; }
.asset-placeholder-feature { width: 100%; aspect-ratio: 4 / 3; }
.page-intro-media .asset-placeholder { position: absolute; inset: 0; }
.page-intro-media .asset-placeholder-label,
.page-intro-media .asset-name { color: rgb(255 255 255 / 88%); text-shadow: 0 1px 14px rgb(0 0 0 / 35%); }

.content-section { padding-block: clamp(4rem, 7vw, 6rem); }
.content-grid { gap: clamp(1.5rem, 2.5vw, 2.5rem); }
.content-item { border: 0; background: transparent; }
.content-item-media { overflow: hidden; }
.content-item-link { box-shadow: none; }

.future-feature {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  align-items: stretch;
  gap: clamp(3rem, 5vw, 5rem);
  width: 100%;
  padding-inline: var(--gutter);
  border: 0;
  outline: 0;
  background: #fff;
  box-shadow: none;
}
.future-feature-copy { width: 100%; max-width: 40rem; }
.future-roadmap-eyebrow { margin: 0 0 1.75rem; color: #615d66; font-size: .75rem; letter-spacing: .08em; }
.future-feature-copy > h2 { max-width: 13ch; margin: 0; font-size: clamp(2.5rem, 3.5vw, 4rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.16; }
.future-feature-copy > h2 span { display: block; }
.future-feature-copy > h3 { margin: clamp(1.75rem, 3vw, 2.75rem) 0 .75rem; font-size: clamp(1.15rem, 1.45vw, 1.5rem); font-weight: 500; }
.future-roadmap-intro { max-width: 34rem; margin: 0; color: #66616a; line-height: 1.7; }
.future-roadmap-list { margin: 2rem 0 0; padding: 0; list-style: none; border-top: 1px solid #dedbe1; }
.future-roadmap-list li { display: grid; grid-template-columns: 6rem 1fr; gap: 1.25rem; align-items: center; min-height: 7.25rem; padding: 1.05rem 0; border-bottom: 1px solid #dedbe1; }
.future-roadmap-list > li > span { align-self: center; justify-self: center; color: #6b6570; font-size: clamp(2.5rem, 3.5vw, 3.75rem); font-weight: 300; letter-spacing: -.04em; line-height: 1; opacity: .5; }
.future-roadmap-list h4 { margin: 0; font-size: 1rem; font-weight: 550; }
.future-roadmap-list p { margin: .35rem 0 0; color: #716c75; font-size: .875rem; line-height: 1.55; }
.future-feature-media { position: relative; align-self: stretch; min-width: 0; height: 100%; overflow: hidden; border: 0; outline: 0; background: var(--paper); box-shadow: none; }
.future-feature-media::after { content: ""; position: absolute; z-index: 1; inset: 42% 0 0; pointer-events: none; background: linear-gradient(180deg, transparent 0%, rgb(0 0 0 / 12%) 38%, rgb(0 0 0 / 68%) 100%); }
.future-feature-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.future-roadmap-note { position: absolute; z-index: 2; bottom: clamp(1.5rem, 2vw, 2rem); left: clamp(1.5rem, 2vw, 2rem); max-width: calc(100% - clamp(3rem, 4vw, 4rem)); margin: 0; padding: 0; color: rgb(255 255 255 / 88%); border: 0; background: transparent; font-size: clamp(.6875rem, .78vw, .75rem); font-weight: 400; letter-spacing: .01em; line-height: 1.55; text-shadow: 0 1px 8px rgb(0 0 0 / 55%); box-shadow: none; }

/* Brand Updates: supplied progress-board composition using the approved homepage system. */
.updates-page, .updates-progress, .updates-next { background: #fff; }
.updates-progress-inner, .updates-next-inner { padding-inline: var(--gutter); }
.updates-progress-inner { padding-top: clamp(4rem, 7vw, 7rem); padding-bottom: clamp(3.5rem, 5.5vw, 5.5rem); }
.updates-progress-heading { max-width: 58rem; }
/* Match the approved homepage Brand Story type grammar exactly. */
.updates-progress-eyebrow { margin: 0 0 1rem; color: #615d66; font-size: .75rem; font-weight: 400; letter-spacing: .08em; }
.updates-progress-heading h1 { max-width: none; margin: 0; }
body:lang(zh-CN) .updates-progress-heading h1 { white-space: nowrap; }
.updates-progress-heading > p:last-child, .updates-next-heading > p { max-width: 42rem; margin: 1rem 0 0; color: #5f5b64; font-size: 1rem; line-height: 1.7; }
.updates-progress-label { display: flex; align-items: center; gap: .65rem; margin: 0; color: #4f4a54; font-size: .8125rem; font-weight: 500; letter-spacing: .02em; }
.updates-progress-label i { flex: 0 0 auto; width: .5rem; height: .5rem; border-radius: 50%; background: var(--purple); }
.updates-progress-validated { margin-top: clamp(2rem, 3vw, 3rem); }
.updates-progress-grid, .updates-next-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: clamp(.75rem, 1.25vw, 1.25rem); }
.updates-progress-grid { margin-top: 1rem; }
.updates-progress-card, .updates-next-card { min-width: 0; min-height: clamp(12rem, 15vw, 14rem); padding: clamp(1.5rem, 2.3vw, 2.25rem); border: 0; border-radius: .25rem; background: #f7f5fb; box-shadow: none; }
.updates-progress-heading h1, .updates-next-heading h2, .updates-progress-card strong, .updates-next-card strong { font-size: clamp(2.75rem, 3.35vw, 4rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.08; }
.updates-progress-card strong { display: block; margin: 0; }
.updates-progress-card h2 { margin: .5rem 0 0; font-size: clamp(1.25rem, 1.7vw, 1.65rem); font-weight: 550; letter-spacing: -.015em; line-height: 1.25; }
.updates-progress-card > p, .updates-next-card > p:last-child { margin: .55rem 0 0; color: #746f78; font-size: 1rem; line-height: 1.55; }
.updates-progress-panorama { width: 100%; height: clamp(8.5rem, 12vw, 11rem); overflow: hidden; background: #dce5ec; }
.updates-progress-panorama picture { display: block; width: 100%; height: 100%; }
.updates-progress-panorama img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 47%; }
.updates-next-inner { padding-top: clamp(3.5rem, 5vw, 5.5rem); padding-bottom: clamp(3.5rem, 5vw, 5.5rem); }
.updates-next-heading h2 { margin: 0; }
.updates-next-grid { margin-top: clamp(2rem, 3.5vw, 3.5rem); }
.updates-next-card strong { display: block; margin-top: 1.25rem; }
.updates-progress-note { margin: clamp(2rem, 3vw, 3rem) 0 0; color: #88828c; font-size: .75rem; line-height: 1.6; }

.partnership-feature { position: relative; isolation: isolate; padding: 0; color: #fff; background: #bbb; }
.partnership-feature-media,
.partnership-feature-media .asset-placeholder { position: absolute; inset: 0; width: 100%; height: 100%; }
.partnership-feature::after { position: absolute; inset: 0; z-index: -1; content: ""; background: linear-gradient(90deg, rgb(12 10 16 / 78%), rgb(12 10 16 / 28%)); }
.partnership-feature-media { z-index: -2; }
.partnership-feature-copy { width: min(100%, var(--content-width)); margin: 0 auto; padding: clamp(5rem, 10vw, 9rem) var(--gutter) clamp(4rem, 7vw, 6rem); }
.partnership-feature-copy .section-kicker { width: auto; margin: 0; color: #fff; }
.partnership-feature-copy .section-kicker span { color: #fff; }
.partnership-feature-copy h2 { max-width: 15ch; margin: 2rem 0 1.5rem; font-size: clamp(2.25rem, 5vw, 4.5rem); line-height: 1.08; }
.partnership-feature-copy > p { max-width: 36rem; color: rgb(255 255 255 / 78%); font-size: 1.125rem; }
.partnership-feature-copy .button-link { margin-top: 2rem; color: #fff; background: var(--purple); }
.partnership-grid { width: min(100%, var(--content-width)); padding: 0 var(--gutter) clamp(4rem, 7vw, 6rem); }
.partnership-grid .content-item { padding: 1.5rem; color: var(--ink); background: rgb(255 255 255 / 88%); backdrop-filter: blur(12px); }
.partnership-grid .content-item p:not(.item-index) { color: #615c68; }

.contact-page .contact-section {
  min-height: min(54rem, calc(100svh - 5rem));
  align-items: center;
  padding-top: clamp(3rem, 6vw, 5rem);
  padding-bottom: clamp(3rem, 6vw, 5rem);
}
.contact-page .contact-social { align-self: stretch; }
.social-qr-trigger .responsive-media { transition: transform var(--duration-normal) var(--ease-out); }

@media (hover: hover) and (pointer: fine) {
  .content-item-link:hover { transform: translateY(-4px); box-shadow: none; }
  .social-qr-trigger:hover .responsive-media { transform: scale(1.04); }
}

@media (max-width: 760px) {
  .page-intro.page-intro-visual { min-height: 32rem; padding: 4rem 1.5rem 2.5rem; }
  .page-intro-content { width: 100%; }
  .page-intro-visual::after { background: linear-gradient(0deg, rgb(17 17 19 / 82%) 0%, rgb(17 17 19 / 28%) 76%); }
  .asset-name-desktop { display: none; }
  .asset-name-mobile { display: block; }
  .asset-placeholder-card .asset-name-desktop,
  .asset-placeholder-feature:not(:has(.asset-name-mobile)) .asset-name-desktop { display: block; }
  .future-feature { grid-template-columns: 1fr; gap: 2.5rem; padding: 4rem 1.5rem; }
  .future-feature-copy { width: 100%; max-width: none; margin: 0; }
  .future-roadmap-eyebrow { margin-bottom: 1.25rem; }
  .future-feature-copy > h2 { font-size: clamp(2.25rem, 11vw, 3.25rem); }
  .future-roadmap-list li { grid-template-columns: 4rem 1fr; gap: 1rem; min-height: 6.25rem; }
  .future-roadmap-list > li > span { font-size: 2.25rem; }
  .future-feature-media { height: auto; }
  .future-feature-media img { height: auto; aspect-ratio: 4 / 3; }
  .future-roadmap-note { bottom: 1.25rem; left: 1.25rem; max-width: calc(100% - 2.5rem); padding: 0; font-size: .625rem; }
  .updates-progress-inner, .updates-next-inner { padding-inline: 1.5rem; }
  .updates-progress-inner { padding-top: 4rem; padding-bottom: 3rem; }
  .updates-progress-heading h1, .updates-next-heading h2, .updates-progress-card strong, .updates-next-card strong { font-size: clamp(2.5rem, 11vw, 3.5rem); }
  body:lang(zh-CN) .updates-progress-heading h1 { white-space: normal; }
  .updates-progress-heading > p:last-child, .updates-next-heading > p { font-size: 1rem; }
  .updates-progress-grid, .updates-next-grid { grid-template-columns: 1fr; gap: 1rem; }
  .updates-progress-grid { margin-top: 1rem; }
  .updates-progress-card, .updates-next-card { min-height: 0; padding: 1.5rem; }
  .updates-progress-panorama { height: auto; aspect-ratio: 16 / 9; }
  .updates-progress-panorama img { object-position: 48% 50%; }
  .updates-next-inner { padding-top: 3rem; padding-bottom: 4rem; }
  .updates-next-grid { margin-top: 2.5rem; }
  .updates-progress-note { margin-top: 2.5rem; }
  .partnership-feature-copy { padding-inline: 1.5rem; }
  .partnership-grid { grid-template-columns: 1fr; padding-inline: 1.5rem; }
  .contact-page .contact-section { min-height: 0; align-items: stretch; }
}

@media (prefers-reduced-motion: reduce) {
  .social-qr-trigger .responsive-media,
  .content-item-link { transition: none; }
  .social-qr-trigger:hover .responsive-media,
  .content-item-link:hover { transform: none; }
}

.hero-asset-tag {
  position: absolute;
  z-index: 3;
  top: 1.5rem;
  right: var(--gutter);
  max-width: min(48vw, 30rem);
  padding: .625rem .875rem;
  color: #353539;
  border: 1px solid rgb(255 255 255 / 55%);
  background: rgb(255 255 255 / 82%);
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.4;
  overflow-wrap: anywhere;
  backdrop-filter: blur(10px);
}
.page-intro-media .asset-placeholder-label,
.page-intro-media .asset-name { opacity: 0; }

@media (max-width: 760px) {
  .hero-asset-tag { top: 1rem; right: 1.5rem; max-width: calc(100% - 3rem); }
  .page-intro h1,
  .home-block-copy h1,
  .home-block-copy h2,
  .page-section-heading h2,
  .product-detail h2 {
    word-break: normal;
    overflow-wrap: anywhere;
  }
}
.feature-asset-tag {
  position: absolute;
  z-index: 2;
  top: 1.5rem;
  right: var(--gutter);
  max-width: min(48vw, 30rem);
  padding: .625rem .875rem;
  color: #353539;
  background: rgb(255 255 255 / 82%);
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.4;
  overflow-wrap: anywhere;
  backdrop-filter: blur(10px);
}
@media (max-width: 760px) {
  .feature-asset-tag { top: 1rem; right: 1.5rem; max-width: calc(100% - 3rem); }
}

/* Hidden responsive navigation and long unbroken headings must not inflate the root scroll area. */
html { overflow-x: clip; }

/* Global alignment contract: every primary section follows the hero safe line. */
.home-block,
.section-kicker,
.page-section-heading,
.content-grid,
.contact-section,
.partnership-feature-copy,
.partnership-grid,
footer {
  width: 100%;
  max-width: none;
  margin-right: 0;
  margin-left: 0;
}

.future-feature-copy { margin-left: 0; }
.product-detail { width: calc(100% - (var(--gutter) * 2)); max-width: none; }
footer { padding-right: var(--gutter); padding-left: var(--gutter); }

/* Contact reference layout: preserve the global 64px / 24px safe line. */
.contact-page { color: var(--ink); background: #f7f7f5; }
.contact-page .contact-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(30rem, .92fr);
  align-items: center;
  gap: clamp(3rem, 7vw, 7rem);
  min-height: calc(100svh - 5rem);
  padding: clamp(3rem, 6vw, 6rem) var(--gutter);
  background: #f7f7f5;
}
.contact-page .contact-copy { align-self: center; }
.contact-page .contact-copy .eyebrow { margin: 0 0 1.25rem; color: #5b5760; letter-spacing: .28em; }
.contact-page .contact-copy h1 { max-width: 10ch; margin: 0; font-size: clamp(3.25rem, 5vw, 5.6rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.08; }
.contact-lead { max-width: 28rem; margin: 1.5rem 0 0; color: #69666d; font-size: clamp(1.125rem, 1.55vw, 1.5rem); line-height: 1.55; }
.contact-categories { margin: 1.5rem 0; color: #242228; font-size: .875rem; letter-spacing: .04em; }
.contact-visual { width: 100%; margin-top: 1.5rem; }
.contact-visual .asset-placeholder { aspect-ratio: 3.1 / 1; }
.contact-visual .asset-placeholder-label,
.contact-visual .asset-name { opacity: 1; }

.contact-page .inquiry-section { align-self: center; padding: 0; color: var(--ink); background: transparent; }
.contact-page .inquiry-section h2 { font-size: clamp(1.75rem, 2.6vw, 2.5rem); font-weight: 500; }
.contact-page .inquiry-section > p { margin: .75rem 0 0; color: #77737c; }
.contact-page #inquiry-form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; margin-top: 1.5rem; }
.contact-page .form-field { min-width: 0; }
.contact-page .form-field-full,
.contact-page .form-consent,
.contact-page #inquiry-form > button,
.contact-page #inquiry-status { grid-column: 1 / -1; }
.contact-page form label { display: block; margin-top: 1rem; color: #29272d; font-size: .75rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
.contact-page form input,
.contact-page form select,
.contact-page form textarea { border-bottom-color: #c8c6c9; color: #17161a; font-size: .875rem; }
.contact-page form input::placeholder,
.contact-page form textarea::placeholder { color: #aaa7ad; }
.contact-page form input:focus,
.contact-page form select:focus,
.contact-page form textarea:focus { border-color: #17161a; }
.contact-page form select { background-image: linear-gradient(45deg, transparent 50%, #17161a 50%), linear-gradient(135deg, #17161a 50%, transparent 50%); }
.contact-page .form-field > p { margin: .25rem 0 0; color: #8a878d; font-size: .6875rem; }
.contact-page form textarea { min-height: 5.75rem; }
.contact-page form label.form-consent { display: flex; margin: 1rem 0; color: #656169; }
.contact-page form label.form-consent input { accent-color: #17161a; }
.contact-page form button { grid-column: 1 / -1; justify-self: start; min-width: 10.5rem; padding: 0 1.5rem; border-radius: 0; color: #fff; background: #17161a; }
.contact-page .contact-social { width: 100%; margin: 0; padding: clamp(4rem, 7vw, 6rem) var(--gutter); background: var(--paper); }

/* Global editorial footer: three-tier reference layout with shared safe lines. */
footer#site-footer { display: block; width: 100%; padding: 0 var(--gutter); color: #fff; border: 0; background: #0d0f12; }
.footer-upper { display: grid; grid-template-columns: minmax(18rem, 1.15fr) minmax(36rem, .85fr); gap: clamp(4rem, 8vw, 9rem); padding: 1.75rem 0 1.5rem; }
.footer-slogan { display: flex; flex-direction: column; justify-content: space-between; }
.footer-slogan > p:first-child { margin: 0; color: #aaaeb5; font-size: .6875rem; letter-spacing: .12em; }
.footer-slogan-main { display: grid; gap: .05rem; margin: 0; font-size: clamp(1.75rem, 2.1vw, 2.25rem); font-weight: 300; letter-spacing: .03em; line-height: 1.08; }
.footer-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 4rem); }
.footer-group h2 { margin: 0 0 .65rem; padding-bottom: .55rem; border-bottom: 1px solid #393c41; color: #aaaeb5; font-size: .6875rem; font-weight: 400; letter-spacing: .06em; }
.footer-group ul { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.footer-group li { color: #dedfe2; font-size: .8125rem; line-height: 1.35; }
.footer-group a { color: inherit; text-decoration: none; }
.footer-group-contact li:nth-child(2) a { white-space: nowrap; }
.footer-group a:hover { color: #fff; }
.footer-group a span { display: inline-block; margin-left: .15rem; }
.footer-brand-row { display: flex; align-items: center; justify-content: space-between; gap: 3rem; min-height: 4.5rem; border-top: 1px solid #393c41; }
.footer-wordmark { display: block; width: clamp(8.55rem, 12.6vw, 11.7rem); }
.footer-wordmark img { display: block; width: 100%; height: auto; filter: brightness(0) invert(1); }
.footer-signature { margin: 0; font-size: clamp(.875rem, 1vw, 1rem); letter-spacing: .12em; }
.footer-bottom { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; min-height: 0; padding: .75rem 0 1.75rem; border-top: 1px solid #393c41; color: #92969e; font-size: .625rem; letter-spacing: .06em; }
.footer-legal, .footer-utilities, .footer-languages { display: flex; align-items: center; gap: 2rem; }
.footer-bottom p { margin: 0; }
.footer-bottom a { color: #b9bcc2; text-decoration: none; }
.footer-languages { gap: .7rem; }
.footer-languages i { color: #555960; font-style: normal; }
.footer-back-to-top span { margin-left: .35rem; }

@media (max-width: 1100px) {
  .footer-upper { grid-template-columns: 1fr; gap: 3.5rem; }
  .footer-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .contact-page .contact-section { grid-template-columns: 1fr; min-height: 0; gap: 3.5rem; }
  .contact-page .contact-copy h1 { max-width: 12ch; }
}
@media (max-width: 760px) {
  .contact-page .contact-section { padding: 3rem 1.5rem 4rem; }
  .contact-page .contact-copy h1 { font-size: clamp(2.5rem, 12vw, 3.75rem); }
  .contact-visual .asset-placeholder { aspect-ratio: 4 / 3; }
  .contact-page #inquiry-form { grid-template-columns: 1fr; }
  .contact-page .form-field,
  .contact-page .form-field-full,
  .contact-page .form-consent,
  .contact-page #inquiry-form > button,
  .contact-page #inquiry-status { grid-column: 1; }
  .contact-page form button { width: 100%; }
  .contact-page .contact-social { padding-inline: 1.5rem; }
  .footer-upper { grid-template-columns: 1fr; gap: 1rem; padding: 1rem 0; }
  .footer-slogan { gap: .75rem; }
  .footer-slogan-main { font-size: clamp(1.32rem, 6.4vw, 1.76rem); }
  .footer-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1rem; }
  .footer-group-contact { grid-column: 1 / -1; }
  .footer-brand-row { display: grid; gap: .5rem; min-height: 0; padding: 1rem 0; }
  .footer-signature { font-size: .8125rem; line-height: 1.5; }
  .footer-bottom { display: grid; gap: .5rem; padding: .625rem 0 1rem; }
  .footer-legal, .footer-utilities { flex-wrap: wrap; justify-content: space-between; gap: .6rem 1rem; }
}

/* Brand story reference layout: one desktop screen beneath the unchanged navigation. */
.brand-story {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: clamp(1.5rem, 2.4vw, 2.25rem);
  min-height: calc(100svh - 5rem);
  padding: clamp(2.25rem, 4vw, 4rem) var(--gutter) clamp(2rem, 3vw, 3rem);
  background: #f7f5fa;
}
.brand-story-heading { display: block; }
.brand-story-kicker { margin: 0 0 1rem; color: #615d66; font-size: .75rem; letter-spacing: .08em; }
.brand-story-heading h2 { max-width: 16ch; margin: 0; font-size: clamp(2.75rem, 4.15vw, 4.75rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.08; }
.brand-story-intro { max-width: 42rem; margin: 1rem 0 0; color: #5f5b64; font-size: 1rem; line-height: 1.7; }
.brand-story-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(.75rem, 1.25vw, 1.25rem); min-height: 0; }
.brand-story-card { position: relative; min-height: clamp(24rem, 52vh, 35rem); overflow: hidden; color: #fff; background: #18171b; }
.brand-story-card::after { position: absolute; z-index: 1; inset: 0; content: ""; background: linear-gradient(180deg, transparent 40%, rgb(5 5 8 / 84%) 100%); }
.brand-story-card .responsive-media { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; aspect-ratio: auto !important; }
.brand-story-card .responsive-media img { object-fit: cover; transition: transform 600ms var(--ease-ui); }
.brand-story-product .responsive-media img { object-position: 50% 50% !important; }
.brand-story-flow .responsive-media img { object-position: 50% 70% !important; }
.brand-story-overlay { position: absolute; z-index: 2; right: clamp(1.5rem, 3vw, 3rem); bottom: clamp(1.5rem, 3vw, 3rem); left: clamp(1.5rem, 3vw, 3rem); }
.brand-story-overlay p { margin: 0 0 .75rem; font-size: .6875rem; font-weight: 600; letter-spacing: .12em; }
.brand-story-overlay h2 { max-width: 17ch; margin: 0; font-size: clamp(1.75rem, 2.65vw, 3rem); font-weight: 500; letter-spacing: -.02em; line-height: 1.15; }
.brand-story-overlay span { display: block; max-width: 34rem; margin-top: .75rem; color: rgb(255 255 255 / 82%); font-size: .9375rem; line-height: 1.6; }
.brand-story-overlay a { display: inline-flex; gap: .35rem; margin-top: .9rem; padding-bottom: .25rem; color: #fff; border-bottom: 1px solid rgb(255 255 255 / 76%); font-size: .875rem; text-decoration: none; }
.brand-story-overlay i { font-style: normal; }
@media (hover: hover) { .brand-story-card:hover .responsive-media img { transform: scale(1.03); } }
@media (prefers-reduced-motion: reduce) { .brand-story-card .responsive-media img { transition: none; } }
@media (max-width: 900px) {
  .brand-story { min-height: 0; }
  .brand-story-heading { grid-template-columns: 1fr; align-items: start; gap: 1.25rem; }
  .brand-story-heading > p { max-width: 38rem; }
  .brand-story-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .brand-story { gap: 2rem; padding: 3rem 1.5rem 4rem; }
  .brand-story-heading h2 { font-size: clamp(2.5rem, 11vw, 3.5rem); }
  .brand-story-card { min-height: 28rem; }
  .brand-story-overlay { right: 1.5rem; bottom: 1.75rem; left: 1.5rem; }
}
.brand-story-heading h2 { max-width: none; font-size: clamp(2.75rem, 3.35vw, 4rem); }
body:lang(zh-CN) .brand-story-heading h2 { white-space: nowrap; }
@media (max-width: 900px) {
  body:lang(zh-CN) .brand-story-heading h2 { white-space: normal; }
}
@media (max-width: 760px) {
  .brand-story-heading h2 { font-size: clamp(2.5rem, 11vw, 3.5rem); }
}

/* Company story: supplied mountain reference, third About screen. */
.company-story {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(26rem, .92fr);
  gap: clamp(3rem, 5.5vw, 6rem);
  min-height: calc(100svh - 5rem);
  padding: clamp(3rem, 4vw, 4rem) var(--gutter);
  background: #fff;
}
.company-story-media { position: relative; min-height: 0; overflow: hidden; background: var(--paper); }
.company-story-media .responsive-media { width: 100%; height: 100%; min-height: 36rem; aspect-ratio: auto !important; }
.company-story-media .responsive-media img { object-fit: cover; object-position: 50% 50% !important; }
.company-story-stamp { position: absolute; z-index: 2; bottom: clamp(1.5rem, 2vw, 2rem); left: clamp(1.5rem, 2vw, 2rem); display: flex; gap: clamp(1.25rem, 2.2vw, 2.5rem); margin: 0; color: rgb(255 255 255 / 92%); font-size: clamp(.6875rem, .85vw, .8125rem); font-weight: 500; letter-spacing: .28em; line-height: 1; text-shadow: 0 1px 8px rgb(0 0 0 / 45%); white-space: nowrap; }
.company-story-copy { align-self: center; max-width: 40rem; }
.company-story-kicker { margin: 0 0 1.75rem; color: #615d66; font-size: .75rem; letter-spacing: .08em; }
.company-story-copy h2 { max-width: 13ch; margin: 0; font-size: clamp(2.5rem, 3.5vw, 4rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.16; }
.company-story-copy h3 { margin: clamp(1.75rem, 3vw, 2.75rem) 0 .75rem; font-size: clamp(1.15rem, 1.45vw, 1.5rem); font-weight: 500; }
.company-story-intro { max-width: 34rem; margin: 0; color: #66616a; line-height: 1.7; }
.company-story-list { margin: 2rem 0 0; padding: 0; list-style: none; border-top: 1px solid #dedbe1; }
.company-story-list li { display: grid; grid-template-columns: 6rem 1fr; gap: 1.25rem; align-items: center; min-height: 7.25rem; padding: 1.05rem 0; border-bottom: 1px solid #dedbe1; }
.company-story-list > li > span { align-self: center; justify-self: center; color: #6b6570; font-size: clamp(2.5rem, 3.5vw, 3.75rem); font-weight: 300; line-height: 1; letter-spacing: -.04em; opacity: .5; }
.company-story-list h4 { margin: 0; font-size: 1rem; font-weight: 550; }
.company-story-list p { margin: .35rem 0 0; color: #716c75; font-size: .875rem; line-height: 1.55; }
.company-story-link { display: inline-flex; gap: .35rem; margin-top: 1.75rem; padding-bottom: .3rem; color: var(--ink); border-bottom: 1px solid currentColor; text-decoration: none; }
@media (max-width: 1000px) {
  .company-story { grid-template-columns: 1fr; gap: 2.5rem; min-height: 0; }
  .company-story-media .responsive-media { min-height: 0; aspect-ratio: 1 !important; }
  .company-story-stamp { bottom: 1.25rem; left: 1.25rem; gap: 1rem; font-size: .625rem; }
  .company-story-copy { max-width: none; }
  .company-story-copy h2 { font-size: clamp(2.25rem, 4.4vw, 3.25rem); }
}
@media (max-width: 760px) {
  .company-story { grid-template-columns: 1fr; gap: 2.5rem; min-height: 0; padding: 3rem 1.5rem 4rem; }
  .company-story-media .responsive-media { min-height: 0; aspect-ratio: 1 !important; }
  .company-story-copy { max-width: none; }
  .company-story-kicker { margin-bottom: 1.25rem; }
  .company-story-copy h2 { font-size: clamp(2.25rem, 11vw, 3.25rem); }
  .company-story-list li { grid-template-columns: 4rem 1fr; gap: 1rem; min-height: 6.25rem; }
  .company-story-list > li > span { font-size: 2.25rem; }
}

/* Homepage hero: supplied FLOW portrait with bilingual editorial typography. */
.about-campaign-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: clamp(32rem, 50vw, 45rem);
  overflow: hidden;
  padding: clamp(4rem, 7vw, 7rem) var(--gutter);
  color: #fff;
  background: #050b19;
}
.about-campaign-hero::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background: linear-gradient(90deg, rgb(3 10 22 / 78%) 0%, rgb(3 10 22 / 54%) 30%, rgb(3 10 22 / 10%) 62%, transparent 100%);
}
.about-campaign-hero-media,
.about-campaign-hero-media .responsive-media,
.about-campaign-hero-media picture {
  position: absolute;
  inset: 0;
  z-index: -2;
  display: block;
  width: 100%;
  height: 100%;
}
.about-campaign-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 72% 50% !important; }
.about-campaign-hero-copy { position: relative; z-index: 1; width: min(42rem, 52%); transform: translateY(-2%); }
.about-campaign-hero-eyebrow { margin: 0 0 1.5rem; color: rgb(255 255 255 / 82%); font-size: .75rem; font-weight: 500; letter-spacing: .38em; }
.about-campaign-hero h1 { margin: 0; color: #fff; font-size: clamp(3.4rem, 5vw, 5.3rem); font-weight: 300; letter-spacing: .075em; line-height: 1.16; }
.about-campaign-hero h1 span,
.about-campaign-hero-intro span { display: block; }
body:lang(en) .about-campaign-hero h1 { max-width: 11ch; font-size: clamp(3.15rem, 4.5vw, 4.8rem); font-weight: 300; letter-spacing: -.035em; line-height: 1.08; }
.about-campaign-hero-intro { margin: 2rem 0 0; color: rgb(255 255 255 / 78%); font-size: clamp(1.05rem, 1.45vw, 1.35rem); letter-spacing: .055em; line-height: 1.65; }
body:lang(en) .about-campaign-hero-intro { letter-spacing: 0; }
@media (max-width: 760px) {
  .about-campaign-hero { align-items: flex-end; min-height: calc(100svh - 4rem); padding: 4rem 1.5rem 4.5rem; }
  .about-campaign-hero::after { background: linear-gradient(0deg, rgb(3 8 18 / 92%) 0%, rgb(3 8 18 / 58%) 48%, rgb(3 8 18 / 10%) 78%), linear-gradient(90deg, rgb(3 8 18 / 34%), transparent 72%); }
  .about-campaign-hero-media img { object-position: 67% 50% !important; }
  .about-campaign-hero-copy { width: 100%; transform: none; }
  .about-campaign-hero-eyebrow { margin-bottom: 1.15rem; font-size: .68rem; }
  .about-campaign-hero h1 { font-size: clamp(2.75rem, 13vw, 4rem); letter-spacing: .045em; }
  body:lang(en) .about-campaign-hero h1 { max-width: 9ch; font-size: clamp(2.7rem, 12vw, 3.8rem); }
  .about-campaign-hero-intro { margin-top: 1.5rem; font-size: 1rem; }
}

/* Products hero follows the approved homepage grammar without sharing selectors. */
.products-campaign-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: clamp(32rem, 50vw, 45rem);
  overflow: hidden;
  padding: clamp(4rem, 7vw, 7rem) var(--gutter);
  color: #fff;
  background: #050b19;
}
.products-campaign-hero::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background: linear-gradient(90deg, rgb(3 10 22 / 78%) 0%, rgb(3 10 22 / 54%) 30%, rgb(3 10 22 / 10%) 62%, transparent 100%);
}
.products-campaign-hero-media { position: absolute; inset: 0; z-index: -2; display: block; width: 100%; height: 100%; }
.products-campaign-hero-media picture { display: block; width: 100%; height: 100%; }
.products-campaign-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.products-campaign-hero-copy { position: relative; z-index: 1; width: min(46rem, 58%); transform: translateY(-2%); }
.products-campaign-hero-eyebrow { margin: 0 0 1.5rem; color: rgb(255 255 255 / 82%); font-size: .75rem; font-weight: 500; letter-spacing: .38em; }
.products-campaign-hero h1 { max-width: 13ch; margin: 0; color: #fff; font-size: clamp(3.4rem, 5vw, 5.3rem); font-weight: 300; letter-spacing: .075em; line-height: 1.16; }
body:lang(zh-CN) .products-campaign-hero h1 { max-width: none; }
.products-campaign-hero h1 span { display: block; }
body:lang(en) .products-campaign-hero h1 { font-size: clamp(3.15rem, 4.5vw, 4.8rem); font-weight: 300; letter-spacing: -.035em; line-height: 1.08; }
.products-campaign-hero-intro { max-width: 36rem; margin: 2rem 0 0; color: rgb(255 255 255 / 78%); font-size: clamp(1.05rem, 1.45vw, 1.35rem); letter-spacing: .055em; line-height: 1.65; }
body:lang(en) .products-campaign-hero-intro { letter-spacing: 0; }
@media (max-width: 760px) {
  .products-campaign-hero { align-items: flex-end; min-height: calc(100svh - 4rem); padding: 4rem 1.5rem 4.5rem; }
  .products-campaign-hero::after { background: linear-gradient(0deg, rgb(3 8 18 / 92%) 0%, rgb(3 8 18 / 58%) 48%, rgb(3 8 18 / 10%) 78%), linear-gradient(90deg, rgb(3 8 18 / 34%), transparent 72%); }
  .products-campaign-hero-media img { object-position: 68% 50%; }
  .products-campaign-hero-copy { width: 100%; transform: none; }
  .products-campaign-hero-eyebrow { margin-bottom: 1.15rem; font-size: .68rem; }
  .products-campaign-hero h1 { font-size: clamp(2.75rem, 13vw, 4rem); letter-spacing: .045em; }
  body:lang(zh-CN) .products-campaign-hero h1 { font-size: clamp(2.25rem, 9.5vw, 3.25rem); }
  body:lang(en) .products-campaign-hero h1 { max-width: 9ch; font-size: clamp(2.7rem, 12vw, 3.8rem); }
  .products-campaign-hero-intro { margin-top: 1.5rem; font-size: 1rem; }
}

/* Lenis recommended root behavior; native scroll semantics stay intact. */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: clip; }
.lenis.lenis-smooth iframe { pointer-events: none; }

.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
/* Interactive product ecosystem with a FLOW-only product-detail link. */
.product-showcase { overflow: clip; background: #f7f5fa; }
.product-showcase-heading { width: min(100%, var(--content-width)); margin: 0 auto clamp(1.75rem, 3vw, 2.75rem); }
.product-showcase-eyebrow { margin: 0 0 1rem; color: #615d66; font-size: .75rem; letter-spacing: .08em; }
.product-showcase-heading h2 { max-width: none; margin: 0; font-size: clamp(2.75rem, 3.35vw, 4rem); font-weight: 500; line-height: 1.08; letter-spacing: -.035em; }
.product-showcase-heading .section-intro { max-width: 42rem; margin: 1rem 0 0; color: #5f5b64; font-size: 1rem; line-height: 1.7; }
.product-showcase-tabs {
  display: grid;
  grid-template-columns: 831fr 273fr 273fr;
  align-items: start;
  gap: clamp(.75rem, 1.4vw, 1.25rem);
  width: min(100%, var(--content-width));
  margin: 0 auto;
  transition: grid-template-columns 560ms cubic-bezier(.22, 1, .36, 1);
}
.product-showcase-tabs:has([data-product-selector="product-flow-app"].is-active) { grid-template-columns: 273fr 831fr 273fr; }
.product-showcase-tabs:has([data-product-selector="product-sos"].is-active) { grid-template-columns: 273fr 273fr 831fr; }
.product-showcase-item { min-width: 0; }
.product-showcase-card { width: 100%; min-width: 0; padding: 0; color: var(--ink); border: 0; background: transparent; text-align: left; cursor: pointer; }
.product-showcase-media { display: block; aspect-ratio: 273 / 416; overflow: hidden; background: #17131f; transition: aspect-ratio 560ms cubic-bezier(.22, 1, .36, 1); }
.product-showcase-card.is-active .product-showcase-media { aspect-ratio: 831 / 416; }
.product-showcase-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.product-showcase-card-copy { display: grid; gap: .35rem; padding-top: 1.3rem; }
.product-showcase-card-copy strong { font-size: clamp(1.1rem, 1.45vw, 1.45rem); font-weight: 500; line-height: 1.25; }
.product-showcase-summary { color: #333; font-size: .875rem; line-height: 1.5; }
.product-showcase-status { margin-top: .25rem; color: #898989; font-size: .72rem; line-height: 1.45; }
.product-showcase-detail-link { display: inline-flex; gap: .35rem; margin-top: .9rem; padding-bottom: .25rem; color: var(--ink); border-bottom: 1px solid rgb(17 17 19 / 72%); font-size: .875rem; text-decoration: none; }
.product-showcase-detail-link i { font-style: normal; }
.product-showcase-item:has(.product-showcase-card:not(.is-active)) .product-showcase-detail-link { display: none; }
.product-showcase-card:focus-visible { outline: 2px solid var(--purple); outline-offset: 5px; }
.product-highlights { display: grid; width: min(100%, var(--content-width)); margin: clamp(2.4rem, 4vw, 3.75rem) auto 0; }
.product-highlights-panel { grid-area: 1 / 1; min-width: 0; opacity: 0; pointer-events: none; visibility: hidden; transition: opacity 300ms ease, visibility 300ms ease; }
.product-highlights-panel.is-active { opacity: 1; pointer-events: auto; visibility: visible; }
.product-highlights-panel h3 { margin: 0 0 .8rem; font-size: clamp(1.2rem, 1.7vw, 1.55rem); font-weight: 500; line-height: 1.2; }
.product-highlight-rule { position: relative; height: 1px; background: #b8b8b8; }
.product-highlight-rule span { position: absolute; inset: -1px auto auto 0; width: min(14%, 11rem); height: 3px; background: #111; }
.product-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 2.25rem; }
.product-metric { min-width: 0; padding: 0 clamp(1rem, 2.2vw, 2.5rem); border-left: 1px solid #d3d3d3; }
.product-metric:first-child { padding-left: 1rem; border-left: 0; }
.product-metric > span { display: block; color: #757575; font-size: .76rem; }
.product-metric strong { display: block; margin-top: .55rem; font-size: clamp(1.65rem, 2.6vw, 2.55rem); font-weight: 500; line-height: 1; letter-spacing: -.025em; }
.product-metric p { margin: .65rem 0 0; color: #777; font-size: .8rem; line-height: 1.55; }
.product-highlights-footnote { margin: 2.1rem 0 0; color: #999; font-size: .7rem; }
@media (max-width: 767px) {
  .product-showcase-heading h2,
  .future-feature-copy > h2 { font-size: clamp(2.25rem, 9.5vw, 3.25rem); }
  .product-highlights-panel h3,
  .future-feature-copy > h3 { font-size: clamp(1.75rem, calc(17.4px + 3.68vw), 2.25rem); }
  .product-showcase-tabs,
  .product-showcase-tabs:has(.product-showcase-card.is-active) { grid-template-columns: 1fr; }
  .product-showcase-card { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 1rem; align-items: center; padding: .75rem 0; border: 0; background: transparent; }
  .product-showcase-card.is-active { grid-template-columns: 1fr; padding: 0 0 1.25rem; background: transparent; }
  .product-showcase-media, .product-showcase-card.is-active .product-showcase-media { aspect-ratio: 4 / 3; }
  .product-showcase-card.is-active .product-showcase-media { aspect-ratio: 16 / 9; }
  .product-showcase-card-copy { padding: 0; }
  .product-showcase-card.is-active .product-showcase-card-copy { padding: 0 .25rem; }
  .product-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 0; margin-top: 1.75rem; }
  .product-metric:nth-child(odd) { padding-left: 0; border-left: 0; }
  .product-metric strong { font-size: 1.6rem; }
}
@media (prefers-reduced-motion: reduce) {
  .product-showcase-tabs, .product-showcase-media, .product-highlights-panel { transition: none !important; }
}


/* Merged Partnerships + Contact page: homepage hero grammar, reference-led three-screen flow. */
.partnerships-page { color: var(--ink); background: #fff; }
.partnership-campaign-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: calc(100svh - 5rem);
  padding: clamp(4rem, 7vw, 7rem) var(--gutter);
  overflow: hidden;
  color: #fff;
  background: #050b19;
}
.partnership-campaign-hero::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgb(3 10 22 / 78%) 0%, rgb(3 10 22 / 54%) 30%, rgb(3 10 22 / 10%) 62%, transparent 100%);
}
.partnership-campaign-hero-media { position: absolute; z-index: -2; inset: 0; }
.partnership-campaign-hero-media picture { display: block; width: 100%; height: 100%; }
.partnership-campaign-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 48%; }
.partnership-campaign-hero-copy { width: min(42rem, 52%); transform: translateY(-2%); }
.partnership-campaign-hero-eyebrow { margin: 0 0 1.5rem; color: rgb(255 255 255 / 82%); font-size: .75rem; font-weight: 500; letter-spacing: .38em; }
.partnership-campaign-hero h1 { margin: 0; color: #fff; font-size: clamp(3.4rem, 5vw, 5.3rem); font-weight: 300; letter-spacing: .075em; line-height: 1.16; }
.partnership-campaign-hero h1 span { display: block; }
body:lang(en) .partnership-campaign-hero h1 { max-width: 11ch; font-size: clamp(3.15rem, 4.5vw, 4.8rem); letter-spacing: -.035em; line-height: 1.08; }
.partnership-campaign-hero-intro { max-width: 36rem; margin: 2rem 0 0; color: rgb(255 255 255 / 78%); font-size: clamp(1.05rem, 1.45vw, 1.35rem); letter-spacing: .055em; line-height: 1.65; }
.partnership-campaign-hero-intro span { display: block; }
body:lang(en) .partnership-campaign-hero-intro { letter-spacing: 0; }
.partnership-campaign-hero-cta { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; min-height: 3rem; margin-top: 2rem; padding: .75rem 1.4rem; color: #fff; border: 0; background: var(--purple); font-size: .875rem; font-weight: 500; text-decoration: none; transition: transform var(--duration-fast) var(--ease-ui), background var(--duration-fast) var(--ease-ui); }
.partnership-paths { width: min(100%, var(--content-width)); margin: 0 auto; padding: clamp(4rem, 7vw, 7rem) var(--gutter) clamp(4rem, 7vw, 6rem); background: #fff; }
.partnership-paths-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3rem; align-items: start; }
.partnership-paths-heading > div:first-child > p { margin: 0 0 1rem; color: #615d66; font-size: .75rem; letter-spacing: .08em; }
.partnership-paths-heading h2 { margin: 0; font-size: clamp(2.75rem, 3.35vw, 4rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.08; }
.partnership-paths-heading > div:first-child > span { display: block; max-width: 42rem; margin-top: 1rem; color: #5f5b64; font-size: 1rem; line-height: 1.7; }
.partnership-paths-brand { min-width: 12rem; padding-top: .25rem; text-align: right; }
.partnership-paths-brand > img { display: block; width: auto; height: 1.05rem; margin-left: auto; filter: brightness(0); }
.partnership-paths-brand > span { display: block; margin-top: .35rem; color: #77727b; font-size: .5rem; letter-spacing: .28em; }
.partnership-paths-brand > p { margin: 3.25rem 0 0; color: #77727b; font-size: .5rem; line-height: 1.55; letter-spacing: .18em; }
.partnership-paths-brand > p span { display: block; }
.partnership-path-groups { margin-top: clamp(2.5rem, 4.5vw, 4.5rem); border-top: 1px solid #e4e2e6; }
.partnership-path-group { display: grid; grid-template-columns: 3rem minmax(12rem, .75fr) minmax(16rem, 1fr) minmax(22rem, 1.35fr); gap: clamp(1.5rem, 3vw, 4rem); align-items: center; min-height: 13.5rem; padding: 1rem 0; border-bottom: 1px solid #e4e2e6; }
.partnership-path-index { align-self: center; margin: 0; padding-top: 0; color: #77727b; font-size: clamp(.875rem, 1.1vw, 1rem); font-weight: 400; line-height: 1.12; letter-spacing: .02em; }
.partnership-path-group > h3 { margin: 0; font-size: clamp(2rem, 2.5vw, 3rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.12; }
body:lang(en) .partnership-path-group > h3 { font-size: clamp(1.65rem, 2.1vw, 2.45rem); }
.partnership-path-items { display: grid; gap: 1rem; padding: .05rem 0; }
.partnership-path-items section { min-width: 0; }
.partnership-path-items h4 { margin: 0; font-size: clamp(1rem, 1.25vw, 1.25rem); font-weight: 600; letter-spacing: -.01em; line-height: 1.3; }
.partnership-path-items p { margin: .35rem 0 0; color: #77727b; font-size: .875rem; line-height: 1.55; }
.partnership-path-media { align-self: center; width: 100%; aspect-ratio: 2.3 / 1; min-height: 0; margin: 0; overflow: hidden; background: #e4e7eb; }
.partnership-path-media picture { display: block; width: 100%; height: 100%; }
.partnership-path-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.partnership-path-group:nth-child(2) .partnership-path-media img { object-position: 50% 43%; }
.partnership-path-group:nth-child(3) .partnership-path-media img { object-position: 50% 50%; }
.partnership-inquiry { min-height: calc(100svh - 5rem); padding: clamp(4rem, 7vw, 7rem) var(--gutter); scroll-margin-top: 5rem; background: #f7f5fb; }
.partnership-inquiry-inner { width: min(100%, 72rem); margin: 0 auto; }
.partnership-inquiry h2 { max-width: none; margin: 0; font-size: clamp(2.75rem, 3.35vw, 4rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.08; }
.partnership-inquiry h2:focus { outline: 0; }
.partnership-inquiry-inner > p { max-width: 48rem; margin: 1.25rem 0 0; color: #5f5b64; font-size: clamp(1.25rem, 2.2vw, 2rem); line-height: 1.5; }
.partnership-inquiry #inquiry-form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 3rem; margin-top: clamp(2rem, 4vw, 3.5rem); }
.partnership-inquiry .form-field { min-width: 0; }
.partnership-inquiry .form-field-full,
.partnership-inquiry .form-consent,
.partnership-inquiry #inquiry-form > button,
.partnership-inquiry #inquiry-status { grid-column: 1 / -1; }
.partnership-inquiry form label { display: block; margin-top: 1rem; color: #29272d; font-size: .75rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
.partnership-inquiry form input,
.partnership-inquiry form select,
.partnership-inquiry form textarea { border-bottom-color: #c8c6c9; color: #17161a; font-size: .875rem; }
.partnership-inquiry form input::placeholder,
.partnership-inquiry form textarea::placeholder { color: #aaa7ad; }
.partnership-inquiry form input:focus,
.partnership-inquiry form select:focus,
.partnership-inquiry form textarea:focus { border-color: #17161a; }
.partnership-inquiry form select { background-image: linear-gradient(45deg, transparent 50%, #17161a 50%), linear-gradient(135deg, #17161a 50%, transparent 50%); }
.partnership-inquiry .form-field > p { margin: .25rem 0 0; color: #8a878d; font-size: .6875rem; }
.partnership-inquiry form textarea { min-height: 7rem; }
.partnership-inquiry form label.form-consent { display: flex; margin: 1rem 0; color: #656169; }
.partnership-inquiry form label.form-consent input { accent-color: var(--purple); }
.partnership-inquiry form button { grid-column: 1 / -1; justify-self: start; min-width: 10.5rem; padding: 0 1.5rem; border: 0; border-radius: 0; color: #fff; background: #17161a; }
.partnership-social {
  padding: clamp(4rem, 7vw, 7rem) var(--gutter);
  background-color: var(--paper);
  background-image: url("/brand/partnership-social-background-desktop.webp");
  background-position: center bottom;
  background-size: cover;
  background-repeat: no-repeat;
}
.partnership-social .social-module { width: min(100%, var(--content-width)); margin: 0 auto; }
.partnership-social .social-card,
.partnership-social .social-qr-trigger,
.partnership-social .copy-account { border: 0; box-shadow: none; }
@media (hover: hover) {
  .partnership-campaign-hero-cta:hover { transform: translateY(-2px); background: #7651cf; }
}
@media (max-width: 1050px) {
  .partnership-path-group { grid-template-columns: 2.5rem minmax(10rem, .75fr) minmax(14rem, 1fr) minmax(17rem, 1.2fr); gap: 1.5rem; }
}
@media (max-width: 760px) {
  .partnership-campaign-hero { align-items: flex-end; min-height: calc(100svh - 4rem); padding: 4rem 1.5rem 4.5rem; }
  .partnership-campaign-hero::after { background: linear-gradient(0deg, rgb(3 8 18 / 92%) 0%, rgb(3 8 18 / 58%) 48%, rgb(3 8 18 / 10%) 78%), linear-gradient(90deg, rgb(3 8 18 / 34%), transparent 72%); }
  .partnership-campaign-hero-media img { object-position: 50% 48%; }
  .partnership-campaign-hero-copy { width: 100%; transform: none; }
  .partnership-campaign-hero-eyebrow { margin-bottom: 1.15rem; font-size: .68rem; }
  .partnership-campaign-hero h1 { font-size: clamp(2.75rem, 13vw, 4rem); letter-spacing: .045em; }
  body:lang(zh-CN) .partnership-campaign-hero h1 { font-size: clamp(2.25rem, 9.5vw, 3.25rem); }
  body:lang(en) .partnership-campaign-hero h1 { max-width: 9ch; font-size: clamp(2.7rem, 12vw, 3.8rem); }
  .partnership-campaign-hero-intro { margin-top: 1.5rem; font-size: 1rem; }
  .partnership-paths { padding: 4rem 1.5rem; }
  .partnership-paths-heading { grid-template-columns: 1fr; gap: 0; }
  .partnership-paths-heading h2, .partnership-inquiry h2 { font-size: clamp(2.5rem, 11vw, 3.5rem); }
  .partnership-paths-brand { display: none; }
  .partnership-path-groups { margin-top: 3rem; }
  .partnership-path-group { grid-template-columns: 2rem minmax(0, 1fr); gap: 1rem; align-items: start; min-height: 0; padding: 2rem 0; }
  .partnership-path-index { grid-column: 1; grid-row: 1; align-self: start; padding-top: .65rem; }
  .partnership-path-group > h3 { grid-column: 2; grid-row: 1; margin: 0; font-size: clamp(2rem, 9vw, 2.75rem); }
  body:lang(en) .partnership-path-group > h3 { font-size: clamp(1.75rem, 8vw, 2.4rem); }
  .partnership-path-items { grid-column: 2; grid-row: 2; gap: 1.25rem; padding-top: .5rem; }
  .partnership-path-media { grid-column: 1 / -1; grid-row: 3; aspect-ratio: 16 / 9; min-height: 0; margin-top: .75rem; }
  .partnership-path-media img { object-position: 50% 50%; }
  .partnership-inquiry { min-height: 0; padding: 4rem 1.5rem; }
  .partnership-inquiry #inquiry-form { grid-template-columns: 1fr; gap: 0; margin-top: 2rem; }
  .partnership-inquiry .form-field,
  .partnership-inquiry .form-field-full,
  .partnership-inquiry .form-consent,
  .partnership-inquiry #inquiry-form > button,
  .partnership-inquiry #inquiry-status { grid-column: 1; }
  .partnership-inquiry form button { width: 100%; }
  .partnership-social { background-image: url("/brand/partnership-social-background-mobile.webp"); }
}
@media (prefers-reduced-motion: reduce) {
  .partnership-campaign-hero-cta { transition: none; }
}

/* Mobile-only conventional right-side navigation drawer. Desktop rules stay unchanged. */
@media (max-width: 767px) {
  body.navigation-open { overflow: hidden; }
  .site-header { position: sticky; z-index: 30; top: 0; }
  .site-header[data-menu-open="true"] { position: fixed; inset: 0 0 auto; width: 100%; }
  .site-header[data-scroll-hidden="true"] { transform: translateY(0); }
  .site-header .header-actions { position: relative; z-index: 4; }
  .site-header nav {
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
    width: min(86vw, 340px);
    height: 100dvh;
    padding: 6rem 1.5rem 2rem;
    overflow-y: auto;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: -1.5rem 0 3rem rgb(8 6 12 / 18%);
    opacity: 1;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(100%);
    transition: transform 280ms var(--ease-out), visibility 280ms var(--ease-ui);
  }
  .site-header[data-menu-open="true"] nav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
  }
  .site-header nav a {
    position: relative;
    flex: 0 0 auto;
    justify-content: flex-start;
    min-height: 4rem;
    padding: 0 1rem;
    border-bottom: 1px solid #ece9ef;
    color: #29252e;
    font-size: 1rem;
    font-weight: 500;
  }
  .site-header nav a:first-child { border-top: 1px solid #ece9ef; }
  .site-header nav a[aria-current="page"] { color: var(--purple); background: #f7f5fb; font-weight: 600; }
  .site-header nav a::after {
    top: 50%;
    right: auto;
    bottom: auto;
    left: 0;
    width: 3px;
    height: 1.5rem;
    background: var(--purple);
    transform: translateY(-50%) scaleY(0);
    transform-origin: center;
  }
  .site-header nav a[aria-current="page"]::after { transform: translateY(-50%) scaleY(1); }
  .nav-backdrop {
    position: absolute;
    z-index: 2;
    inset: 0 auto auto 0;
    display: block;
    width: 100%;
    height: 100dvh;
    padding: 0;
    border: 0;
    background: rgb(8 6 12 / 48%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    cursor: default;
    transition: opacity 240ms var(--ease-ui), visibility 240ms var(--ease-ui);
  }
  .site-header[data-menu-open="true"] .nav-backdrop {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .site-header[data-menu-open="true"] .nav-toggle { color: #29252e; }
}

/* FLOW product story: four viewport-led chapters following the homepage grid and type system. */
.flow-product-page { color: #fff; background: #050508; }
.flow-screen {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: calc(100svh - 5rem);
  overflow: hidden;
  padding: clamp(2rem, 4vw, 4rem) var(--gutter);
  background: #08080c;
}
.flow-screen-media,
.flow-sku-media,
.flow-sku-media picture { position: absolute; z-index: -3; inset: 0; display: block; width: 100%; height: 100%; }
.flow-screen-media img,
.flow-sku-media img { width: 100%; height: 100%; object-fit: cover; }
.flow-sku-media { opacity: 0; transition: opacity 480ms var(--ease-out); }
.flow-sku-media.is-active { opacity: 1; }
.flow-screen-shade { position: absolute; z-index: -2; inset: 0; pointer-events: none; }
.flow-screen-index {
  position: absolute;
  top: clamp(2rem, 4vw, 4rem);
  left: var(--gutter);
  display: flex;
  align-items: center;
  gap: .75rem;
  color: rgb(255 255 255 / 74%);
  font-size: .6875rem;
  font-weight: 500;
  letter-spacing: .12em;
  line-height: 1;
}
.flow-screen-index i { display: block; width: 2.25rem; height: 1px; background: rgb(255 255 255 / 54%); }
.flow-hero { align-items: flex-start; justify-content: center; text-align: center; }
.flow-hero .flow-screen-shade { background: linear-gradient(180deg, rgb(2 3 8 / 52%) 0%, transparent 38%, transparent 67%, rgb(2 3 8 / 72%) 100%); }
.flow-hero-copy { width: min(100%, 56rem); padding-top: clamp(1.25rem, 3.5vw, 3.5rem); text-shadow: 0 2px 22px rgb(0 0 0 / 42%); }
.flow-hero-copy h1,
.flow-screen-copy h2 { margin: 0; font-size: clamp(2.7rem, 4.25vw, 4.9rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.08; }
body:lang(zh-CN) .flow-capture .flow-screen-copy { width: auto; max-width: calc(100% - (2 * var(--gutter))); }
body:lang(zh-CN) #flow-capture-title { font-size: clamp(2.25rem, 3.4vw, 3.25rem); white-space: nowrap; }
.flow-hero-copy p,
.flow-screen-copy > p { margin: 1rem 0 0; color: rgb(255 255 255 / 78%); font-size: clamp(.875rem, 1.1vw, 1rem); letter-spacing: .08em; line-height: 1.7; }
.flow-sku-switcher {
  position: absolute;
  bottom: clamp(1.75rem, 4vw, 3.5rem);
  left: 50%;
  display: flex;
  gap: 1.75rem;
  transform: translateX(-50%);
}
.flow-sku-switcher button { display: inline-flex; align-items: center; gap: .55rem; min-height: 2.75rem; padding: 0; color: rgb(255 255 255 / 55%); border: 0; border-bottom: 1px solid transparent; background: transparent; font-size: .6875rem; letter-spacing: .1em; cursor: pointer; }
.flow-sku-switcher button.is-active { color: #fff; border-bottom-color: rgb(255 255 255 / 70%); }
.flow-sku-dot { display: block; width: .75rem; height: .75rem; border: 1px solid rgb(255 255 255 / 72%); border-radius: 50%; box-shadow: 0 0 0 3px rgb(255 255 255 / 10%); }
.flow-sku-dot-black { background: #15141a; }
.flow-sku-dot-white { background: #f5f2f8; }
.flow-screen-copy { align-self: center; width: min(100%, 35rem); text-shadow: 0 2px 26px rgb(0 0 0 / 52%); }
.flow-screen-copy-lower { align-self: flex-end; padding-bottom: clamp(1rem, 4vw, 4rem); }
.flow-screen-copy-top { align-self: flex-start; width: min(100%, 48rem); margin: 0 auto; padding-top: clamp(0rem, 1.5vw, 1.5rem); text-align: center; }
.flow-capture .flow-screen-media img { object-position: 50% 50%; }
.flow-capture .flow-screen-shade { background: linear-gradient(90deg, rgb(4 8 15 / 62%) 0%, transparent 62%), linear-gradient(0deg, rgb(3 7 14 / 56%), transparent 48%); }
.flow-sos .flow-screen-media img { object-position: 66% 50%; }
.flow-sos .flow-screen-shade { background: linear-gradient(90deg, rgb(4 3 10 / 92%) 0%, rgb(4 3 10 / 65%) 38%, transparent 72%), linear-gradient(0deg, rgb(3 3 8 / 58%), transparent 45%); }
.flow-ptt .flow-screen-media img { object-position: 50% 50%; }
.flow-ptt .flow-screen-shade { background: linear-gradient(180deg, rgb(3 8 15 / 55%) 0%, transparent 48%, rgb(3 8 15 / 22%) 100%); }
.flow-outline-link { display: inline-flex; align-items: center; gap: 1.2rem; min-height: 2.75rem; margin-top: 1.75rem; padding: 0 1.15rem; border: 1px solid rgb(255 255 255 / 52%); border-radius: 2rem; color: #fff; font-size: .75rem; letter-spacing: .04em; text-decoration: none; }
.flow-sos-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: min(100%, 35rem); margin: 1.75rem 0 0; padding: 0; list-style: none; }
.flow-sos-steps li { position: relative; display: grid; gap: .75rem; padding-right: .5rem; color: rgb(255 255 255 / 62%); font-size: .625rem; letter-spacing: .06em; }
.flow-sos-steps li::before { position: absolute; top: .24rem; right: 0; left: .35rem; height: 1px; content: ""; background: rgb(184 137 255 / 48%); }
.flow-sos-steps li:last-child::before { display: none; }
.flow-sos-steps li span { position: relative; z-index: 1; width: .5rem; height: .5rem; border-radius: 50%; background: #b96dff; box-shadow: 0 0 12px rgb(185 109 255 / 78%); }
@media (hover: hover) {
  .flow-sku-switcher button:hover { color: #fff; }
  .flow-outline-link:hover { border-color: #fff; background: rgb(255 255 255 / 10%); }
}
@media (max-width: 760px) {
  .flow-screen { min-height: calc(100svh - 4rem); padding: 1.5rem; }
  .flow-screen-index { top: 1.5rem; left: 1.5rem; }
  .flow-hero { align-items: flex-start; justify-content: flex-start; touch-action: pan-y; }
  .flow-hero-copy,
  .flow-screen-copy,
  .flow-screen-copy-lower,
  .flow-screen-copy-top {
    align-self: flex-start;
    width: min(82%, 20rem);
    margin: 0;
    padding: 4.25rem 0 0;
    text-align: left;
  }
  .flow-hero-copy h1,
  .flow-screen-copy h2 { font-size: clamp(2rem, 8.2vw, 3rem); letter-spacing: -.05em; }
  body:lang(zh-CN) .flow-capture .flow-screen-copy { width: 100%; max-width: 100%; }
  body:lang(zh-CN) #flow-capture-title { font-size: clamp(1.25rem, 6.4vw, 2rem); }
  .flow-hero-copy p,
  .flow-screen-copy > p { font-size: .8125rem; }
  .flow-sku-media.is-active:not([hidden]) { animation: flow-sku-carousel-reveal 520ms var(--ease-out); }
  .flow-sku-switcher { bottom: 1.75rem; width: calc(100% - 3rem); justify-content: center; gap: 1.25rem; }
  .flow-capture .flow-screen-media img { object-position: 50% 48%; }
  .flow-capture .flow-screen-shade { background: linear-gradient(180deg, rgb(3 7 14 / 76%) 0%, rgb(3 7 14 / 28%) 42%, transparent 68%); }
  .flow-sos .flow-screen-media img { object-position: 56% 50%; }
  .flow-sos .flow-screen-shade { background: linear-gradient(180deg, rgb(3 2 8 / 86%) 0%, rgb(3 2 8 / 48%) 46%, rgb(3 2 8 / 12%) 72%); }
  .flow-sos-steps { width: 100%; margin-top: 1.75rem; }
  .flow-sos-steps li { font-size: .5625rem; }
  .flow-ptt .flow-screen-media img { object-position: 50% 50%; }
  .flow-ptt .flow-screen-shade { background: linear-gradient(180deg, rgb(3 8 15 / 78%) 0%, rgb(3 8 15 / 26%) 48%, transparent 70%); }
}
@keyframes flow-sku-carousel-reveal {
  from { opacity: .25; transform: scale(1.015); }
  to { opacity: 1; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .flow-sku-media { transition: none; }
  .flow-sku-media.is-active:not([hidden]) { animation: none; }
}

/* Mobile editorial type contract: four reusable tiers across every content page. */
@media (max-width: 767px) {
  body:lang(en) {
    --mobile-type-title: clamp(2.7rem, 12vw, 3.8rem);
    --mobile-type-title-leading: 1.08;
  }

  .home-block-copy h1,
  .page-intro h1,
  .about-campaign-hero h1,
  body:lang(en) .about-campaign-hero h1,
  .products-campaign-hero h1,
  body:lang(zh-CN) .products-campaign-hero h1,
  body:lang(en) .products-campaign-hero h1,
  .partnership-campaign-hero h1,
  body:lang(zh-CN) .partnership-campaign-hero h1,
  body:lang(en) .partnership-campaign-hero h1,
  .brand-story-heading h2,
  .company-story-copy h2,
  .product-showcase-heading h2,
  .future-feature-copy > h2,
  .updates-progress-heading h1,
  .updates-next-heading h2,
  .partnership-paths-heading h2,
  .partnership-inquiry h2,
  .contact-page .contact-copy h1,
  .page-section-heading h2,
  .product-detail-copy h2,
  .contact-copy > h2,
  .inquiry-section h2,
  .flow-hero-copy h1,
  .flow-screen-copy h2 {
    font-size: var(--mobile-type-title);
    line-height: var(--mobile-type-title-leading);
  }

  .home-block-copy h2,
  .content-item h3,
  .contact-note h3,
  .brand-story-overlay h2,
  .company-story-copy h3,
  .company-story-list h4,
  .future-feature-copy > h3,
  .future-roadmap-list h4,
  .updates-progress-card h2,
  .product-showcase-card-copy strong,
  .product-highlights-panel h3,
  .partnership-path-group > h3,
  body:lang(en) .partnership-path-group > h3,
  .partnership-path-items h4,
  .contact-page .inquiry-section h2,
  .social-heading h2,
  .footer-slogan-main {
    font-size: var(--mobile-type-subtitle);
    line-height: 1.08;
  }

  .home-block-copy > p:not(.eyebrow),
  .page-intro-copy,
  .section-intro,
  .about-campaign-hero-intro,
  .products-campaign-hero-intro,
  .partnership-campaign-hero-intro,
  .brand-story-intro,
  .company-story-intro,
  .product-showcase-heading .section-intro,
  .updates-progress-heading > p:last-child,
  .updates-next-heading > p,
  .partnership-paths-heading > div:first-child > span,
  .partnership-inquiry-inner > p,
  .contact-lead,
  .contact-page .inquiry-section > p,
  .social-heading > p:last-child,
  .flow-hero-copy p,
  .flow-screen-copy > p {
    font-size: var(--mobile-type-body);
    line-height: 1.7;
  }

  .brand-story-overlay span,
  .company-story-list p,
  .future-roadmap-list p,
  .updates-progress-card > p,
  .updates-next-card > p:last-child,
  .product-showcase-summary,
  .product-metric p,
  .partnership-path-items p,
  .contact-categories {
    font-size: var(--mobile-type-description);
    line-height: 1.55;
  }

  /* Updates uses the shared title hierarchy, reduced by 4px for its dense card layout. */
  .updates-page {
    --updates-mobile-title: calc(var(--mobile-type-title) - 4px);
    --updates-mobile-subtitle: calc(var(--mobile-type-subtitle) - 4px);
  }
  .updates-progress-heading h1,
  .updates-next-heading h2,
  .updates-progress-card strong,
  .updates-next-card strong {
    font-size: var(--updates-mobile-title);
    line-height: var(--mobile-type-title-leading);
  }
  .updates-progress-card h2 {
    font-size: var(--updates-mobile-subtitle);
    line-height: 1.08;
  }

  /* This Chinese title must remain one line; it scales within the title tier's maximum. */
  body:lang(zh-CN) #flow-capture-title {
    font-size: min(var(--mobile-type-title), calc((100vw - 3rem) / 11));
  }
}
