:root {
    --warm: #f4f1eb;
    --paper: #fbfaf7;
    --white: #ffffff;
    --soft: #ebe8e1;
    --ink: #0b2233;
    --ink-2: #17364a;
    --muted: #5b6871;
    --navy: #061827;
    --navy-2: #0b2c42;
    --accent: #b44716;
    --accent-hover: #9e3e10;
    --line: rgba(11, 34, 51, 0.18);
    --line-strong: rgba(11, 34, 51, 0.34);
    --line-dark: rgba(255, 255, 255, 0.22);
    --shell: 1320px;
    --nav-height: 72px;
    --radius: 6px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    background: var(--warm);
}

body {
    margin: 0;
    color: var(--ink);
    background: var(--paper);
    font-family: Inter, "SF Pro Display", "Noto Sans CJK SC", "Source Han Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;
    font-size: 18px;
    line-height: 1.72;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body.menu-is-open {
    overflow: hidden;
}

img,
picture,
svg {
    display: block;
    max-width: 100%;
}

img {
    height: auto;
}

button,
input,
select,
textarea {
    color: inherit;
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

a {
    color: inherit;
    text-decoration: none;
}

h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
    margin: 0;
}

h1,
h2,
h3,
h4 {
    font-weight: 620;
    letter-spacing: -0.035em;
    line-height: 1.12;
}

h1 {
    font-size: clamp(52px, 6vw, 88px);
}

h2 {
    font-size: clamp(36px, 4vw, 56px);
}

h3 {
    font-size: clamp(21px, 2vw, 29px);
}

p + p {
    margin-top: 1.1em;
}

ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

:focus-visible {
    outline: 3px solid var(--accent);
    outline-offset: 4px;
}

#main-content:focus {
    outline: 0;
}

[id] {
    scroll-margin-top: calc(var(--nav-height) + 24px);
}

.skip-link {
    position: fixed;
    z-index: 999;
    top: 12px;
    left: 16px;
    padding: 10px 16px;
    color: var(--white);
    background: var(--navy);
    border-radius: 4px;
    transform: translateY(-180%);
}

.skip-link:focus {
    transform: translateY(0);
}

.shell,
.nav-shell {
    width: min(calc(100% - 96px), var(--shell));
    margin-inline: auto;
}

.editorial-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
}

.section,
.editorial-section {
    position: relative;
    padding: clamp(92px, 9vw, 144px) 0;
}

.surface-soft {
    background: var(--warm);
}

.eyebrow,
.kicker {
    margin-bottom: 18px;
    color: var(--accent);
    font-size: 12px;
    font-weight: 720;
    letter-spacing: 0.14em;
    line-height: 1.4;
    text-transform: uppercase;
}

.eyebrow-light {
    color: #ef8b5d;
}

.page-lead,
.section-lead {
    color: var(--muted);
    font-size: clamp(18px, 1.5vw, 20px);
    line-height: 1.75;
}

.button {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 11px 20px;
    border: 1px solid transparent;
    border-radius: 5px;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.2;
    cursor: pointer;
    transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.button-large {
    min-height: 50px;
    padding-inline: 24px;
}

.button-primary {
    color: var(--white);
    background: var(--accent);
}

.button-primary:hover,
.button-primary:focus-visible {
    background: var(--accent-hover);
}

.button-secondary {
    color: var(--ink);
    background: transparent;
    border-color: var(--line-strong);
}

.button-secondary:hover,
.button-secondary:focus-visible {
    border-color: var(--ink);
}

.arrow {
    display: inline-block;
    font-size: 1.12em;
    transition: transform 160ms ease;
}

a:hover .arrow,
a:focus-visible .arrow {
    transform: translateX(4px);
}

.text-arrow,
.text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--accent);
    font-weight: 650;
}

.text-arrow-light {
    color: #f09a72;
}

/* Header */
.site-header {
    position: fixed;
    z-index: 100;
    top: 0;
    right: 0;
    left: 0;
    height: var(--nav-height);
    color: var(--ink);
    background: rgba(244, 241, 235, 0.72);
    border-bottom: 1px solid transparent;
    transition: background-color 180ms ease, border-color 180ms ease;
}

.site-header.is-scrolled,
.site-header.menu-open {
    background: rgba(251, 250, 247, 0.98);
    border-bottom-color: var(--line);
}

.nav-shell {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 34px;
}

.brand {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 10px;
    line-height: 1;
}

.brand-name {
    font-size: 25px;
    font-weight: 720;
    letter-spacing: 0.08em;
}

.brand-cn {
    padding-left: 10px;
    border-left: 1px solid currentColor;
    font-size: 14px;
    font-weight: 650;
}

.desktop-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(20px, 2vw, 34px);
}

.nav-link {
    position: relative;
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    gap: 7px;
    color: rgba(11, 34, 51, 0.78);
    font-size: 14px;
}

.nav-link::after {
    position: absolute;
    right: 0;
    bottom: 2px;
    left: 0;
    height: 2px;
    background: var(--accent);
    content: "";
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 160ms ease;
}

.nav-link:hover,
.nav-link.is-current,
.nav-dropdown.is-current > .nav-link {
    color: var(--ink);
}

.nav-link:hover::after,
.nav-link.is-current::after,
.nav-dropdown.is-current > .nav-link::after {
    transform: scaleX(1);
}

.chevron {
    width: 7px;
    height: 7px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
}

.nav-dropdown {
    position: relative;
}

.dropdown-panel {
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    width: 310px;
    padding: 8px;
    visibility: hidden;
    color: var(--ink);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 6px;
    opacity: 0;
    transform: translate(-50%, -6px);
    transition: opacity 150ms ease, transform 150ms ease;
}

.dropdown-panel::before {
    position: absolute;
    right: 0;
    bottom: 100%;
    left: 0;
    height: 14px;
    content: "";
}

.nav-dropdown:hover .dropdown-panel,
.nav-dropdown:focus-within .dropdown-panel {
    visibility: visible;
    opacity: 1;
    transform: translate(-50%, 0);
}

.dropdown-panel a {
    display: grid;
    gap: 3px;
    padding: 12px 13px;
    border-left: 2px solid transparent;
}

.dropdown-panel a:hover,
.dropdown-panel a:focus-visible,
.dropdown-panel a[aria-current="page"] {
    background: var(--warm);
    border-left-color: var(--accent);
}

.dropdown-panel span {
    font-size: 14px;
    font-weight: 650;
}

.dropdown-panel small {
    color: var(--muted);
    font-size: 12px;
}

.nav-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 12px;
}

.nav-contact {
    min-height: 40px;
    padding: 9px 16px;
    font-size: 14px;
}

.menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    padding: 10px;
    color: var(--ink);
    background: transparent;
    border: 1px solid var(--line-strong);
    border-radius: 50%;
    cursor: pointer;
}

.menu-toggle span {
    display: block;
    width: 100%;
    height: 1px;
    margin: 5px 0;
    background: currentColor;
    transition: transform 160ms ease, opacity 160ms ease;
}

.menu-open .menu-toggle span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}

.menu-open .menu-toggle span:nth-child(2) {
    opacity: 0;
}

.menu-open .menu-toggle span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
}

.mobile-menu {
    display: none;
}

/* Homepage hero */
.editorial-hero {
    min-height: clamp(680px, 90vh, 920px);
    padding-top: var(--nav-height);
    overflow: hidden;
    background: var(--warm);
}

.editorial-hero > .shell {
    min-height: clamp(608px, calc(90vh - var(--nav-height)), 848px);
    align-items: center;
}

.editorial-hero__copy {
    z-index: 2;
    grid-column: 1 / 6;
    padding-block: 64px;
}

.editorial-hero__copy h1 {
    max-width: 780px;
    margin-bottom: 30px;
    font-size: clamp(52px, 5vw, 78px);
    letter-spacing: -0.055em;
    text-wrap: balance;
}

.hero-copy-unit {
    white-space: nowrap;
}

.editorial-hero__copy .page-lead {
    max-width: 620px;
    margin-bottom: 34px;
    color: var(--ink-2);
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.editorial-hero__media {
    position: relative;
    grid-column: 6 / -1;
    height: clamp(500px, 68vh, 720px);
    overflow: hidden;
    background: var(--navy);
    border-radius: 4px;
}

.editorial-hero__picture,
.editorial-hero__picture img {
    width: 100%;
    height: 100%;
}

.editorial-hero__picture img {
    object-fit: cover;
    object-position: 70% center;
    filter: saturate(0.72) contrast(1.02);
}

.editorial-hero__media::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(6, 24, 39, 0.36), transparent 46%);
    content: "";
    pointer-events: none;
}

.editorial-hero__trace {
    position: absolute;
    z-index: 2;
    inset: auto 3% 3% 2%;
    width: 94%;
    height: auto;
    color: rgba(232, 126, 75, 0.55);
    pointer-events: none;
}

.editorial-hero__trace path,
.editorial-hero__trace circle {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.2;
}

.editorial-hero__trace circle {
    fill: var(--accent);
    stroke: transparent;
}

/* Business directory */
.business-directory {
    padding: clamp(104px, 10vw, 156px) 0;
    background: var(--paper);
}

.business-directory__aside {
    grid-column: 1 / 5;
}

.business-directory__aside h2 {
    margin-bottom: 22px;
}

.business-directory__aside > p:not(.eyebrow) {
    max-width: 340px;
    color: var(--muted);
    font-size: 18px;
}

.business-preview {
    position: relative;
    margin-top: 52px;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--soft);
}

.business-preview__image {
    position: absolute;
    inset: 0;
    visibility: hidden;
    opacity: 0;
    transition: opacity 240ms ease, visibility 240ms;
}

.business-preview__image.is-active {
    visibility: visible;
    opacity: 1;
}

.business-preview__image picture,
.business-preview__image img {
    width: 100%;
    height: 100%;
}

.business-preview__image img {
    object-fit: cover;
}

.business-preview__image[data-business-preview="rail"] img { object-position: 70% center; }
.business-preview__image[data-business-preview="low"] img { object-position: 60% center; }
.business-preview__image[data-business-preview="semiconductor"] img { object-position: 68% center; }

.business-index {
    grid-column: 5 / -1;
    align-self: start;
    border-top: 1px solid var(--line-strong);
}

.business-index__item {
    position: relative;
    display: grid;
    min-height: 150px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    padding: 28px 8px 28px 28px;
    border-bottom: 1px solid var(--line-strong);
    transition: background-color 180ms ease, padding-left 180ms ease;
}

.business-index__item::before {
    position: absolute;
    top: 24px;
    bottom: 24px;
    left: 0;
    width: 3px;
    background: var(--accent);
    content: "";
    opacity: 0;
    transform: scaleY(0.5);
    transition: opacity 180ms ease, transform 180ms ease;
}

.business-index__item:hover,
.business-index__item:focus-visible,
.business-index__item.is-active {
    background: rgba(235, 232, 225, 0.54);
    padding-left: 36px;
}

.business-index__item:hover::before,
.business-index__item:focus-visible::before,
.business-index__item.is-active::before {
    opacity: 1;
    transform: scaleY(1);
}

.business-index__content {
    display: grid;
    gap: 10px;
}

.business-index__content strong {
    font-size: clamp(25px, 2.4vw, 36px);
    font-weight: 620;
    letter-spacing: -0.03em;
}

.business-index__content span {
    color: var(--muted);
    font-size: 18px;
}

.business-index__item > .arrow {
    color: var(--accent);
    font-size: 25px;
}

.business-index__mobile-media {
    display: none;
}

/* Single dark method section */
.method-editorial {
    padding: clamp(112px, 11vw, 170px) 0;
    color: var(--white);
    background: var(--navy);
}

.method-editorial__copy {
    grid-column: 1 / 6;
    align-self: center;
}

.method-editorial__copy h2 {
    max-width: 560px;
    margin-bottom: 30px;
}

.method-editorial__copy > p:not(.eyebrow) {
    max-width: 570px;
    margin-bottom: 32px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 18px;
}

.method-network {
    grid-column: 6 / -1;
    color: rgba(255, 255, 255, 0.78);
}

.method-network svg {
    width: 100%;
    height: auto;
}

.network-lines path {
    fill: none;
    stroke: rgba(255, 255, 255, 0.25);
    stroke-width: 1.4;
}

.network-nodes circle {
    fill: rgba(255, 255, 255, 0.025);
    stroke: rgba(255, 255, 255, 0.46);
    stroke-width: 1.5;
}

.network-nodes text {
    fill: var(--white);
    font-family: inherit;
    font-size: 18px;
    font-weight: 600;
}

.network-core {
    fill: var(--accent);
}

/* Joint feature */
.joint-feature {
    padding: clamp(104px, 10vw, 156px) 0;
    background: var(--paper);
}

.joint-feature__media {
    grid-column: 1 / 9;
    min-height: 560px;
    overflow: hidden;
}

.joint-feature__media picture,
.joint-feature__media img {
    width: 100%;
    height: 100%;
}

.joint-feature__media img {
    object-fit: cover;
    object-position: 72% center;
    filter: saturate(0.78);
}

.joint-feature__copy {
    grid-column: 9 / -1;
    align-self: center;
    padding-left: 24px;
}

.joint-feature__copy h2 {
    margin-bottom: 26px;
    font-size: clamp(34px, 3.5vw, 50px);
}

.joint-feature__copy > p:not(.eyebrow) {
    margin-bottom: 28px;
    color: var(--muted);
    font-size: 18px;
}

.joint-terms {
    margin-bottom: 30px;
    border-top: 1px solid var(--line);
}

.joint-terms li {
    padding: 10px 0;
    border-bottom: 1px solid var(--line);
    color: var(--ink-2);
}

/* About + contact */
.home-about-contact {
    padding: clamp(88px, 8vw, 124px) 0;
    background: var(--warm);
    border-top: 1px solid var(--line);
}

.home-about-contact__title {
    grid-column: 1 / 8;
}

.home-about-contact__title h2 {
    max-width: 760px;
}

.home-about-contact__body {
    grid-column: 8 / -1;
    align-self: end;
}

.home-about-contact__body > p {
    margin-bottom: 30px;
    color: var(--muted);
    font-size: 18px;
}

.text-link-list {
    border-top: 1px solid var(--line-strong);
}

.text-link-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid var(--line);
    font-weight: 620;
}

.text-link-list a:hover,
.text-link-list a:focus-visible {
    color: var(--accent);
}

/* Inner page heroes */
.editorial-page-hero {
    min-height: clamp(520px, 60vh, 720px);
    padding-top: var(--nav-height);
    background: var(--warm);
}

.editorial-page-hero > .shell {
    min-height: clamp(448px, calc(60vh - var(--nav-height)), 648px);
    align-items: center;
}

.editorial-page-hero__copy {
    z-index: 2;
    grid-column: 1 / 6;
    padding-block: 48px;
}

.editorial-page-hero__copy h1 {
    margin-bottom: 26px;
    font-size: clamp(46px, 5.2vw, 72px);
    text-wrap: balance;
}

.editorial-page-hero__copy .page-lead {
    max-width: 600px;
}

.editorial-page-hero__media {
    grid-column: 6 / -1;
    height: clamp(360px, 48vh, 560px);
    overflow: hidden;
    background: var(--navy);
}

.editorial-page-hero__picture,
.editorial-page-hero__picture img {
    width: 100%;
    height: 100%;
}

.editorial-page-hero__picture img {
    object-fit: cover;
    filter: saturate(0.76) contrast(1.02);
}

.page-hero-rail .editorial-page-hero__picture img { object-position: 70% center; }
.page-hero-low .editorial-page-hero__picture img { object-position: 60% center; }
.page-hero-semiconductor .editorial-page-hero__picture img { object-position: 68% center; }
.page-hero-solution .editorial-page-hero__picture img { object-position: 72% center; }
.page-hero-technology .editorial-page-hero__picture img { object-position: 70% center; }

.editorial-page-hero--text .editorial-page-hero__copy {
    grid-column: 1 / 9;
}

.text-hero {
    min-height: clamp(360px, 48vh, 520px);
    padding-top: var(--nav-height);
    background: var(--warm);
    border-bottom: 1px solid var(--line);
}

.text-hero > .shell {
    display: flex;
    min-height: clamp(288px, calc(48vh - var(--nav-height)), 448px);
    align-items: flex-end;
    padding-bottom: clamp(54px, 6vw, 82px);
}

.text-hero-copy {
    max-width: 900px;
}

.text-hero-copy h1 {
    margin-bottom: 24px;
    font-size: clamp(48px, 5.5vw, 76px);
    text-wrap: balance;
}

.text-hero-copy .page-lead {
    max-width: 760px;
}

/* Editorial content components */
.section-aside {
    grid-column: 1 / 5;
    align-self: start;
}

.section-aside h2 {
    margin-bottom: 22px;
    font-size: clamp(32px, 3.3vw, 46px);
}

.section-aside > p:not(.kicker) {
    max-width: 370px;
    color: var(--muted);
    font-size: 18px;
}

.section-aside .text-link,
.section-aside .media-link {
    margin-top: 28px;
}

.section-main {
    min-width: 0;
    grid-column: 5 / -1;
}

.editorial-heading {
    max-width: 940px;
    margin-bottom: 56px;
}

.editorial-heading h2 {
    margin-bottom: 24px;
}

.ruled-list {
    border-top: 1px solid var(--line-strong);
}

.ruled-item {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(210px, 0.72fr) minmax(0, 1fr);
    gap: clamp(24px, 4vw, 62px);
    align-items: start;
    padding: 28px 0;
    border-bottom: 1px solid var(--line);
}

a.ruled-item {
    transition: color 160ms ease, padding-left 160ms ease;
}

a.ruled-item:hover,
a.ruled-item:focus-visible {
    color: var(--accent);
    padding-left: 10px;
}

.ruled-item h3 {
    font-size: clamp(20px, 1.8vw, 26px);
}

.ruled-item p {
    color: var(--muted);
    font-size: 18px;
}

.ruled-item .text-link {
    justify-self: end;
    align-self: center;
    white-space: nowrap;
}

.definition-list {
    border-top: 1px solid var(--line-strong);
}

.definition-item {
    display: grid;
    grid-template-columns: minmax(160px, 0.48fr) minmax(0, 1fr);
    gap: 34px;
    padding: 22px 0;
    border-bottom: 1px solid var(--line);
}

.definition-item dt {
    font-weight: 650;
}

.definition-item dd {
    color: var(--muted);
}

.relation-figure {
    color: var(--ink-2);
    border-top: 1px solid var(--line-strong);
    border-bottom: 1px solid var(--line);
}

.relation-figure svg {
    width: 100%;
    height: auto;
    padding: clamp(20px, 3vw, 42px);
}

.relation-figure figcaption,
.story-media figcaption {
    padding: 14px 0;
    color: var(--muted);
    border-top: 1px solid var(--line);
    font-size: 13px;
}

.relation-figure + .definition-list,
.relation-figure + .editorial-note {
    margin-top: 42px;
}

.story-split {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr);
    gap: clamp(48px, 7vw, 96px);
    align-items: center;
}

.story-media {
    min-width: 0;
}

.story-media picture {
    overflow: hidden;
}

.story-media picture,
.story-media img {
    width: 100%;
}

.story-media img {
    aspect-ratio: 16 / 10;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.78);
}

.story-copy h2 {
    margin-bottom: 26px;
    font-size: clamp(32px, 3.4vw, 48px);
}

.story-copy > p:not(.kicker):not(.editorial-note) {
    color: var(--muted);
    font-size: 18px;
}

.story-copy .definition-list,
.story-copy .term-list,
.story-copy .text-link {
    margin-top: 30px;
}

.term-list {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid var(--line-strong);
}

.term-list > * {
    flex: 1 1 220px;
    padding: 14px 14px 14px 0;
    border-bottom: 1px solid var(--line);
    color: var(--ink-2);
}

.term-list > a:hover,
.term-list > a:focus-visible {
    color: var(--accent);
}

.editorial-note {
    padding: 18px 0 18px 22px;
    color: var(--muted);
    border-left: 3px solid var(--accent);
}

.editorial-note strong {
    display: block;
    margin-bottom: 5px;
    color: var(--ink);
}

.media-link {
    color: var(--ink);
    font-weight: 620;
}

.media-link:hover,
.media-link:focus-visible {
    color: var(--accent);
}

.ruled-item.media-link {
    grid-template-columns: minmax(0, 1fr) 200px auto;
    align-items: center;
}

.media-link-copy p {
    margin-top: 7px;
}

.media-link-visual {
    height: 96px;
    overflow: hidden;
}

.media-link-visual picture,
.media-link-visual img {
    width: 100%;
    height: 100%;
}

.media-link-visual img {
    object-fit: cover;
}

.comparison-table-wrap {
    overflow-x: auto;
    border-top: 1px solid var(--line-strong);
}

.comparison-table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
    text-align: left;
}

.comparison-table th,
.comparison-table td {
    padding: 20px 18px 20px 0;
    border-bottom: 1px solid var(--line);
    vertical-align: top;
}

.comparison-table th {
    color: var(--ink);
    font-weight: 650;
}

.comparison-table td {
    color: var(--muted);
}

/* Long-form technology page */
.article-layout {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
}

.article-toc {
    position: sticky;
    top: calc(var(--nav-height) + 36px);
    grid-column: 1 / 4;
    align-self: start;
    border-top: 1px solid var(--line-strong);
}

.article-toc .kicker {
    margin: 22px 0 12px;
}

.article-toc a {
    display: block;
    padding: 10px 0;
    color: var(--muted);
    border-bottom: 1px solid var(--line);
}

.article-toc a:hover,
.article-toc a:focus-visible {
    color: var(--accent);
}

.article-body {
    min-width: 0;
    grid-column: 5 / -1;
}

.article-body > header {
    margin-bottom: 86px;
}

.article-body > header h2 {
    max-width: 860px;
    margin-bottom: 26px;
}

.article-chapter {
    padding: 68px 0;
    border-top: 1px solid var(--line-strong);
}

.article-chapter h2 {
    max-width: 820px;
    margin-bottom: 28px;
    font-size: clamp(32px, 3.4vw, 48px);
}

.article-chapter > p:not(.kicker) {
    max-width: 800px;
    color: var(--muted);
    font-size: 18px;
}

.article-chapter .definition-list,
.article-chapter .ruled-list,
.article-chapter .relation-figure,
.article-chapter .editorial-note,
.article-chapter .term-list {
    margin-top: 42px;
}

/* Compact contact entry */
.contact-entry {
    padding: 76px 0;
    background: var(--warm);
    border-top: 1px solid var(--line-strong);
}

.contact-entry__title {
    grid-column: 1 / 8;
}

.contact-entry__title h2 {
    max-width: 760px;
}

.contact-entry__body {
    grid-column: 8 / -1;
    align-self: end;
}

.contact-entry__body p {
    margin-bottom: 24px;
    color: var(--muted);
}

/* Contact form and prose */
.contact-layout {
    display: grid;
    grid-template-columns: minmax(280px, 4fr) minmax(0, 8fr);
    gap: clamp(52px, 8vw, 110px);
}

.contact-aside {
    align-self: start;
}

.contact-aside h2 {
    margin-bottom: 24px;
    font-size: clamp(32px, 3.4vw, 48px);
}

.contact-aside .section-lead {
    font-size: 18px;
}

.contact-email {
    display: inline-block;
    margin-top: 30px;
    color: var(--accent);
    font-weight: 650;
}

.contact-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 18px;
}

.field {
    display: grid;
    gap: 8px;
}

.field-full,
.privacy-check,
.form-note,
.contact-form > .button {
    grid-column: 1 / -1;
}

.field label {
    font-size: 14px;
    font-weight: 650;
}

.required {
    color: var(--accent);
}

.optional {
    color: var(--muted);
    font-weight: 400;
}

.field input,
.field select,
.field textarea {
    width: 100%;
    min-height: 50px;
    padding: 11px 13px;
    background: var(--paper);
    border: 1px solid rgba(11, 34, 51, 0.5);
    border-radius: 4px;
}

.field textarea {
    min-height: 150px;
    resize: vertical;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
    border-color: var(--accent);
    outline: 3px solid var(--accent);
    outline-offset: 2px;
}

.privacy-check {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    color: var(--muted);
    font-size: 13px;
}

.privacy-check input {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    margin-top: 3px;
    accent-color: var(--accent);
}

.privacy-check a,
.prose a {
    color: var(--accent-hover);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.form-note {
    color: var(--muted);
    font-size: 13px;
}

.contact-form > .button {
    justify-self: start;
}

.prose {
    max-width: 880px;
}

.prose > h2 {
    margin-top: 54px;
    margin-bottom: 18px;
    padding-top: 26px;
    border-top: 1px solid var(--line);
    font-size: clamp(25px, 2.5vw, 34px);
}

.prose > h2:first-child {
    margin-top: 0;
}

.prose p {
    color: var(--muted);
    font-size: 18px;
}

/* Footer */
.site-footer {
    padding: 64px 0 28px;
    color: rgba(255, 255, 255, 0.76);
    background: var(--navy);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.7fr repeat(3, 1fr);
    gap: 44px;
    padding-bottom: 48px;
}

.brand-footer {
    color: var(--white);
}

.footer-column {
    display: grid;
    align-content: start;
    gap: 9px;
}

.footer-column h2 {
    margin-bottom: 8px;
    color: var(--white);
    font-size: 12px;
    letter-spacing: 0.1em;
}

.footer-column a {
    font-size: 13px;
}

.footer-column a:hover,
.footer-column a:focus-visible {
    color: #f09a72;
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding-top: 24px;
    color: rgba(255, 255, 255, 0.46);
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    font-size: 12px;
}

.filing-links {
    display: flex;
    align-items: center;
    gap: 20px;
}

.beian-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.beian-link img {
    width: 16px;
    height: 16px;
}

/* Progressive reveal */
.js [data-reveal] {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 480ms ease, transform 480ms ease;
}

.js [data-reveal].is-visible {
    opacity: 1;
    transform: none;
}

@media (max-width: 1100px) {
    .shell,
    .nav-shell {
        width: calc(100% - 64px);
    }

    .editorial-grid,
    .article-layout {
        gap: 20px;
    }

    .editorial-hero__copy {
        grid-column: 1 / 7;
    }

    .editorial-hero__media {
        grid-column: 7 / -1;
    }

    .joint-feature__media {
        grid-column: 1 / 8;
    }

    .joint-feature__copy {
        grid-column: 8 / -1;
    }
}

@media (max-width: 980px) {
    .desktop-nav,
    .nav-contact {
        display: none;
    }

    .menu-toggle {
        display: block;
    }

    .mobile-menu {
        position: fixed;
        top: var(--nav-height);
        right: 0;
        bottom: 0;
        left: 0;
        display: none;
        overflow-y: auto;
        color: var(--ink);
        background: var(--paper);
        border-top: 1px solid var(--line);
    }

    .menu-open .mobile-menu {
        display: block;
    }

    .mobile-menu-inner {
        display: grid;
        width: min(calc(100% - 48px), 680px);
        margin-inline: auto;
        padding: 30px 0 54px;
    }

    .mobile-menu-inner > a,
    .mobile-subnav a {
        display: block;
        padding: 13px 0;
        border-bottom: 1px solid var(--line);
    }

    .mobile-parent {
        font-size: 21px;
        font-weight: 650;
    }

    .mobile-subnav {
        padding-left: 18px;
        color: var(--muted);
    }

    .mobile-menu .button {
        width: 100%;
        margin-top: 26px;
        color: var(--white);
        border: 0;
    }

    .no-js .site-header {
        position: relative;
        height: auto;
    }

    .no-js .nav-shell {
        height: var(--nav-height);
    }

    .no-js .menu-toggle {
        display: none;
    }

    .no-js .mobile-menu {
        position: static;
        display: block;
    }

    .business-directory__aside {
        grid-column: 1 / 6;
    }

    .business-index {
        grid-column: 6 / -1;
    }

    .method-editorial__copy {
        grid-column: 1 / 7;
    }

    .method-network {
        grid-column: 7 / -1;
    }

    .section-aside {
        grid-column: 1 / 5;
    }

    .section-main {
        grid-column: 5 / -1;
    }

    .story-split {
        gap: 48px;
    }
}

@media (max-width: 760px) {
    .shell,
    .nav-shell {
        width: calc(100% - 40px);
    }

    .editorial-grid,
    .article-layout {
        grid-template-columns: 1fr;
        gap: 0;
    }

    h1 {
        font-size: clamp(42px, 12vw, 58px);
    }

    h2 {
        font-size: clamp(32px, 9vw, 44px);
    }

    .section,
    .editorial-section {
        padding: 76px 0;
    }

    .site-header {
        background: rgba(251, 250, 247, 0.97);
        border-bottom-color: var(--line);
    }

    .brand-name {
        font-size: 22px;
    }

    .brand-cn {
        font-size: 13px;
    }

    .editorial-hero {
        min-height: 0;
        padding: calc(var(--nav-height) + 54px) 0 72px;
    }

    .editorial-hero > .shell {
        min-height: 0;
    }

    .editorial-hero__copy,
    .editorial-hero__media {
        grid-column: 1;
    }

    .editorial-hero__copy {
        padding: 0;
    }

    .editorial-hero__copy h1 {
        margin-bottom: 24px;
        font-size: clamp(44px, 12vw, 58px);
        letter-spacing: -0.05em;
    }

    .editorial-hero__copy .page-lead {
        margin-bottom: 28px;
        font-size: 18px;
    }

    .editorial-hero__media {
        height: auto;
        margin-top: 42px;
        aspect-ratio: 4 / 3;
    }

    .hero-actions .button {
        flex: 1 1 140px;
    }

    .business-directory {
        padding: 78px 0;
    }

    .business-directory__aside,
    .business-index,
    .method-editorial__copy,
    .method-network,
    .joint-feature__media,
    .joint-feature__copy,
    .home-about-contact__title,
    .home-about-contact__body,
    .editorial-page-hero__copy,
    .editorial-page-hero__media,
    .section-aside,
    .section-main,
    .contact-entry__title,
    .contact-entry__body,
    .article-toc,
    .article-body {
        grid-column: 1;
    }

    .business-directory__aside > p:not(.eyebrow) {
        max-width: none;
    }

    .business-preview {
        display: none;
    }

    .business-index {
        margin-top: 42px;
    }

    .business-index__item {
        min-height: 0;
        grid-template-columns: minmax(0, 1fr) auto;
        padding: 24px 0;
    }

    .business-index__item:hover,
    .business-index__item:focus-visible,
    .business-index__item.is-active {
        padding-left: 0;
        background: transparent;
    }

    .business-index__item::before {
        display: none;
    }

    .business-index__mobile-media {
        display: block;
        grid-column: 1 / -1;
        margin-bottom: 20px;
        overflow: hidden;
        aspect-ratio: 5 / 3;
    }

    .business-index__mobile-media picture,
    .business-index__mobile-media img {
        width: 100%;
        height: 100%;
    }

    .business-index__mobile-media img {
        object-fit: cover;
    }

    .business-index__content strong {
        font-size: 25px;
    }

    .method-editorial {
        padding: 86px 0;
    }

    .method-editorial__copy > p:not(.eyebrow) {
        font-size: 18px;
    }

    .method-network {
        margin-top: 46px;
    }

    .joint-feature {
        padding: 78px 0;
    }

    .joint-feature__media {
        min-height: 0;
        aspect-ratio: 4 / 3;
    }

    .joint-feature__copy {
        padding: 42px 0 0;
    }

    .home-about-contact {
        padding: 76px 0;
    }

    .home-about-contact__body {
        margin-top: 36px;
    }

    .editorial-page-hero {
        min-height: 0;
        padding: calc(var(--nav-height) + 48px) 0 64px;
    }

    .editorial-page-hero > .shell {
        min-height: 0;
    }

    .editorial-page-hero__copy {
        padding: 0;
    }

    .editorial-page-hero__copy h1 {
        font-size: clamp(40px, 11vw, 54px);
    }

    .editorial-page-hero__media {
        height: auto;
        margin-top: 40px;
        aspect-ratio: 4 / 3;
    }

    .text-hero {
        min-height: 0;
        padding-top: var(--nav-height);
    }

    .text-hero > .shell {
        min-height: 0;
        padding: 64px 0 54px;
    }

    .text-hero-copy h1 {
        font-size: clamp(42px, 11vw, 56px);
    }

    .section-aside {
        margin-bottom: 42px;
    }

    .section-aside > p:not(.kicker) {
        max-width: none;
    }

    .ruled-item,
    .definition-item {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .ruled-item .text-link {
        justify-self: start;
        margin-top: 8px;
    }

    .ruled-item.media-link {
        grid-template-columns: minmax(0, 1fr) 110px;
        gap: 16px;
    }

    .ruled-item.media-link .text-link {
        grid-column: 1 / -1;
    }

    .media-link-visual {
        height: 76px;
    }

    .relation-figure svg {
        min-width: 0;
        padding: 14px 0;
    }

    .story-split {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .story-media img {
        aspect-ratio: 4 / 3;
    }

    .term-list > * {
        flex-basis: 50%;
    }

    .article-toc {
        position: static;
        display: flex;
        flex-wrap: wrap;
        gap: 0 20px;
        margin-bottom: 64px;
    }

    .article-toc .kicker {
        width: 100%;
    }

    .article-toc a {
        flex: 1 1 42%;
    }

    .article-body > header {
        margin-bottom: 58px;
    }

    .article-chapter {
        padding: 54px 0;
    }

    .contact-entry {
        padding: 66px 0;
    }

    .contact-entry__body {
        margin-top: 30px;
    }

    .contact-layout {
        grid-template-columns: 1fr;
        gap: 52px;
    }

    .contact-form {
        grid-template-columns: 1fr;
    }

    .field-full,
    .privacy-check,
    .form-note,
    .contact-form > .button {
        grid-column: 1;
    }

    .contact-form > .button {
        width: 100%;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 38px 24px;
    }

    .footer-intro {
        grid-column: 1 / -1;
    }

    .footer-bottom,
    .filing-links {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* AutoMetro code-native system model (replaces the previous raster screenshot). */
.direction-product__model {
    position: relative;
    z-index: 1;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.82);
    background:
        radial-gradient(circle at 24% 32%, rgba(35, 156, 238, 0.16), transparent 30%),
        linear-gradient(145deg, #06182d, #0a2547);
    border: 1px solid rgba(6, 36, 86, 0.24);
    border-radius: 4px;
    box-shadow: 0 24px 60px rgba(3, 26, 59, 0.16);
}

.product-model__header {
    display: flex;
    min-height: 68px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 14px 20px;
    background: rgba(2, 13, 28, 0.76);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.product-model__header > div {
    display: flex;
    align-items: baseline;
    gap: 12px;
}

.product-model__header span {
    color: #24bfff;
    font-size: 10px;
    font-weight: 760;
    letter-spacing: 0.16em;
}

.product-model__header strong {
    color: var(--white);
    font-size: 18px;
    font-weight: 650;
}

.product-model__header p {
    color: rgba(255, 255, 255, 0.48);
    font-size: 11px;
    letter-spacing: 0.08em;
}

.product-model__body {
    display: grid;
    min-height: 342px;
    grid-template-columns: minmax(0, 1fr) 230px;
}

.product-model__stage {
    position: relative;
    display: grid;
    min-width: 0;
    align-content: space-between;
    gap: 24px;
    padding: 24px;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: 44px 44px;
}

.product-model__stage-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.product-model__stage-label span {
    color: rgba(255, 255, 255, 0.78);
    font-size: 12px;
    font-weight: 650;
}

.product-model__stage-label small {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #50d4ff;
    font-size: 10px;
}

.product-model__stage-label small::before {
    width: 7px;
    height: 7px;
    background: #32d48e;
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(50, 212, 142, 0.12);
    content: "";
}

.product-model__track {
    position: relative;
    height: 96px;
    margin: 0 10px;
}

.product-model__track::before,
.product-model__track::after {
    position: absolute;
    right: 0;
    left: 0;
    height: 2px;
    background: linear-gradient(90deg, rgba(36, 191, 255, 0.16), rgba(36, 191, 255, 0.9), rgba(36, 191, 255, 0.16));
    content: "";
}

.product-model__track::before {
    top: 39px;
}

.product-model__track::after {
    top: 55px;
}

.product-model__station {
    position: absolute;
    z-index: 2;
    top: 39px;
    width: 18px;
    height: 18px;
    background: #0b2b50;
    border: 2px solid #50d4ff;
    border-radius: 50%;
    transform: translate(-50%, -1px);
}

.product-model__station::after {
    position: absolute;
    top: 28px;
    left: 50%;
    color: rgba(255, 255, 255, 0.4);
    font-size: 9px;
    white-space: nowrap;
    content: "状态节点";
    transform: translateX(-50%);
}

.product-model__station--1 {
    left: 14%;
}

.product-model__station--2 {
    left: 50%;
}

.product-model__station--3 {
    left: 86%;
}

.product-model__train {
    position: absolute;
    z-index: 3;
    top: 27px;
    left: 61%;
    width: 84px;
    height: 40px;
    background: linear-gradient(135deg, #f9fbfe 0 72%, #ff5a1f 72%);
    border: 3px solid #102f52;
    border-radius: 16px 7px 7px 16px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28), 0 0 0 5px rgba(36, 191, 255, 0.08);
    transform: translateX(-50%);
}

.product-model__train::before,
.product-model__train::after {
    position: absolute;
    bottom: -7px;
    width: 10px;
    height: 10px;
    background: #07182d;
    border: 2px solid #6f859a;
    border-radius: 50%;
    content: "";
}

.product-model__train::before {
    left: 16px;
}

.product-model__train::after {
    right: 14px;
}

.product-model__train i {
    position: absolute;
    top: 8px;
    left: 15px;
    width: 40px;
    height: 9px;
    background: repeating-linear-gradient(90deg, #2e5a7b 0 8px, transparent 8px 12px);
}

.product-model__objects {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    list-style: none;
}

.product-model__objects li {
    display: grid;
    min-width: 0;
    gap: 3px;
    padding: 12px 10px;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.product-model__objects li:first-child {
    border-left: 0;
}

.product-model__objects span {
    color: #ff7d52;
    font-size: 9px;
}

.product-model__objects strong {
    color: var(--white);
    font-size: 13px;
    font-weight: 620;
}

.product-model__objects small {
    overflow: hidden;
    color: rgba(255, 255, 255, 0.4);
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.product-model__decision {
    min-width: 0;
    padding: 24px 20px;
    background: rgba(2, 13, 28, 0.56);
    border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.product-model__decision > p {
    margin-bottom: 20px;
    color: #ff7d52;
    font-size: 11px;
    font-weight: 680;
    letter-spacing: 0.08em;
}

.product-model__decision ol {
    position: relative;
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.product-model__decision ol::before {
    position: absolute;
    top: 18px;
    bottom: 18px;
    left: 15px;
    width: 1px;
    background: rgba(36, 191, 255, 0.36);
    content: "";
}

.product-model__decision li {
    position: relative;
    display: grid;
    min-height: 42px;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    color: rgba(255, 255, 255, 0.68);
    font-size: 11px;
}

.product-model__decision li span {
    z-index: 1;
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    color: #50d4ff;
    background: #082644;
    border: 1px solid rgba(80, 212, 255, 0.46);
    border-radius: 50%;
    font-size: 9px;
}

.product-model__footer {
    display: flex;
    min-height: 52px;
    align-items: center;
    gap: 22px;
    padding: 12px 20px;
    color: rgba(255, 255, 255, 0.46);
    background: rgba(2, 13, 28, 0.76);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 10px;
}

.product-model__footer span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.product-model__footer i {
    width: 7px;
    height: 7px;
    background: var(--accent);
    border-radius: 50%;
}

.product-model__footer span:nth-child(2) i {
    background: #24bfff;
}

.product-model__footer strong {
    margin-left: auto;
    color: rgba(255, 255, 255, 0.68);
    font-weight: 560;
}

/* Mandatory paging for every desktop screen except the final About/Contact screen. */
@media (min-width: 981px) {
    @supports selector(:has(body.page-home-v4)) {
        html:has(body.page-home-v4) {
            scroll-snap-type: y mandatory;
            scroll-padding-top: 0;
        }
    }

    .page-home-v4 .company-hero,
    .page-home-v4 .direction-product,
    .page-home-v4 .solution-story,
    .page-home-v4 .home-technology,
    .page-home-v4 .home-practice {
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .page-home-v4 .home-about {
        scroll-snap-align: none;
        scroll-snap-stop: normal;
    }
}

html.home-final-screen-free {
    scroll-snap-type: none !important;
}

@media (max-width: 820px) {
    .product-model__header {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .product-model__body {
        grid-template-columns: 1fr;
    }

    .product-model__stage {
        min-height: 314px;
        padding: 20px 16px;
    }

    .product-model__decision {
        padding: 22px 18px;
        border-top: 1px solid rgba(255, 255, 255, 0.12);
        border-left: 0;
    }

    .product-model__decision ol {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-model__decision ol::before {
        display: none;
    }

    .product-model__footer {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .product-model__footer strong {
        width: 100%;
        margin-left: 0;
    }
}

@media (max-width: 520px) {
    .product-model__header {
        padding: 13px 15px;
    }

    .product-model__header strong {
        font-size: 16px;
    }

    .product-model__stage {
        min-height: 288px;
    }

    .product-model__track {
        margin-inline: 0;
    }

    .product-model__train {
        left: 58%;
        width: 72px;
    }

    .product-model__objects li {
        padding-inline: 7px;
    }

    .product-model__decision ol {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 430px) {
    .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px 20px;
    }

    .footer-intro {
        grid-column: 1 / -1;
    }

    .term-list > * {
        flex-basis: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }

    .js [data-reveal] {
        opacity: 1;
        transform: none;
    }
}

/* Full-viewport cinematic homepage */
.page-home-v3 .home-panel {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    overflow: hidden;
    isolation: isolate;
}

.page-home-v3 .home-panel__media,
.page-home-v3 .home-panel__shade {
    position: absolute;
    inset: 0;
}

.page-home-v3 .home-panel__media {
    z-index: -2;
    margin: 0;
}

.page-home-v3 .home-panel__shade {
    z-index: -1;
    pointer-events: none;
}

.page-home-v3 .home-panel__picture,
.page-home-v3 .home-panel__picture img {
    display: block;
    width: 100%;
    height: 100%;
}

.page-home-v3 .home-panel__picture img {
    max-width: none;
    object-fit: cover;
}

.page-home-v3 .home-panel__inner {
    position: relative;
    z-index: 1;
    min-height: inherit;
    padding-top: calc(var(--nav-height) + clamp(34px, 6vh, 66px));
    padding-bottom: clamp(40px, 6vh, 66px);
}

.page-home-v3 .home-panel__caption {
    position: absolute;
    z-index: 2;
    right: max(24px, calc((100vw - 1320px) / 2));
    bottom: 18px;
    margin: 0;
    color: rgba(255, 255, 255, 0.5);
    font-size: 11px;
}

@media (min-width: 821px) {
    @supports selector(:has(body.page-home-v3)) {
        html:has(body.page-home-v3) {
            scroll-snap-type: y proximity;
        }
    }

    .page-home-v3 .home-panel {
        scroll-snap-align: start;
        scroll-snap-stop: normal;
    }
}

/* Hero */
.page-home-v3 .company-hero {
    display: block;
    height: auto;
    min-height: 100vh;
    min-height: 100svh;
    padding: 0;
    overflow: hidden;
    background: #eef5fb;
}

.page-home-v3 .company-hero__media,
.page-home-v3 .company-hero__media img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.page-home-v3 .company-hero__media {
    order: initial;
    aspect-ratio: auto;
}

.page-home-v3 .company-hero__media img {
    max-width: none;
    object-fit: cover;
    object-position: center center;
}

.page-home-v3 .company-hero__wash {
    display: block;
    background:
        linear-gradient(90deg, rgba(249, 251, 254, 1) 0%, rgba(249, 251, 254, 0.98) 24%, rgba(249, 251, 254, 0.86) 38%, rgba(249, 251, 254, 0.2) 57%, rgba(249, 251, 254, 0) 73%),
        linear-gradient(180deg, rgba(249, 251, 254, 0.06) 62%, rgba(3, 26, 59, 0.12) 100%);
}

.page-home-v3 .company-hero__inner {
    min-height: 100vh;
    min-height: 100svh;
    padding-top: calc(var(--nav-height) + 36px);
    padding-bottom: 48px;
}

.page-home-v3 .company-hero__copy {
    width: min(100%, 610px);
}

.page-home-v3 .company-hero h1 {
    margin-bottom: 28px;
    font-size: clamp(62px, 5.35vw, 78px);
    line-height: 1.1;
}

.page-home-v3 .company-hero__lead {
    max-width: 580px;
}

/* AutoMetro product panel */
.page-home-v3 .home-product {
    padding: 0;
    color: var(--white);
    background: var(--navy);
}

.page-home-v3 .home-product__picture img {
    object-position: 62% center;
}

.page-home-v3 .home-product .home-panel__shade {
    background:
        linear-gradient(90deg, rgba(2, 16, 38, 0.96) 0%, rgba(2, 16, 38, 0.88) 31%, rgba(2, 16, 38, 0.58) 51%, rgba(2, 16, 38, 0.16) 76%),
        linear-gradient(180deg, rgba(2, 16, 38, 0.12) 50%, rgba(2, 16, 38, 0.72) 100%);
}

.page-home-v3 .home-product__inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.page-home-v3 .home-product__copy {
    display: block;
    width: min(100%, 690px);
    color: var(--white);
}

.page-home-v3 .home-product__name {
    margin: 0 0 24px;
    font-size: clamp(64px, 7vw, 96px);
    line-height: 0.96;
}

.page-home-v3 .home-product__copy h2 {
    max-width: 680px;
    margin: 0;
    color: var(--white);
    font-size: clamp(38px, 3.3vw, 50px);
    line-height: 1.14;
}

.page-home-v3 .home-product__copy > p:not(.home-kicker):not(.home-product__name) {
    max-width: 650px;
    margin-top: 24px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 17px;
    line-height: 1.72;
}

.page-home-v3 .home-product__copy .button {
    margin-top: 30px;
}

.page-home-v3 .product-chain {
    width: 100%;
    margin-top: clamp(52px, 9vh, 88px);
    background: rgba(2, 16, 38, 0.22);
    border-color: rgba(255, 255, 255, 0.24);
}

.page-home-v3 .product-chain li {
    min-height: 78px;
    padding: 15px 22px;
    color: rgba(255, 255, 255, 0.88);
}

/* Full-screen solution stories */
.page-home-v3 .solution-slide {
    color: var(--white);
    background: var(--navy);
}

.page-home-v3 .solution-slide__picture img {
    object-position: 62% center;
}

.page-home-v3 .solution-slide--2 .solution-slide__picture img {
    object-position: 64% center;
}

.page-home-v3 .solution-slide--3 .solution-slide__picture img {
    object-position: 70% center;
}

.page-home-v3 .solution-slide .home-panel__shade {
    background:
        linear-gradient(90deg, rgba(2, 16, 38, 0.96) 0%, rgba(2, 16, 38, 0.84) 33%, rgba(2, 16, 38, 0.34) 58%, rgba(2, 16, 38, 0.08) 78%),
        linear-gradient(180deg, rgba(2, 16, 38, 0.08), rgba(2, 16, 38, 0.48));
}

.page-home-v3 .solution-slide--light .home-panel__shade {
    background:
        linear-gradient(90deg, rgba(248, 251, 254, 0.98) 0%, rgba(248, 251, 254, 0.91) 35%, rgba(248, 251, 254, 0.38) 57%, rgba(248, 251, 254, 0.02) 77%),
        linear-gradient(180deg, rgba(248, 251, 254, 0.02), rgba(3, 26, 59, 0.12));
}

.page-home-v3 .solution-slide__inner {
    display: flex;
    align-items: center;
}

.page-home-v3 .solution-slide__copy {
    width: min(100%, 620px);
}

.page-home-v3 .solution-slide__series {
    margin: 0 0 12px;
    color: rgba(255, 255, 255, 0.56);
    font-size: 13px;
    font-weight: 650;
}

.page-home-v3 .solution-slide .home-kicker {
    margin-bottom: 22px;
    color: #ff8b5f;
}

.page-home-v3 .solution-slide h2 {
    max-width: 620px;
    color: var(--white);
    font-size: clamp(42px, 4.25vw, 62px);
    line-height: 1.12;
}

.page-home-v3 .solution-slide__problem {
    max-width: 590px;
    margin-top: 24px;
    color: rgba(255, 255, 255, 0.74);
    font-size: 17px;
    line-height: 1.7;
}

.page-home-v3 .solution-slide .solution-facts {
    max-width: 600px;
    margin-top: 30px;
    border-color: rgba(255, 255, 255, 0.24);
}

.page-home-v3 .solution-slide .solution-facts > div {
    grid-template-columns: 76px minmax(0, 1fr);
    padding: 12px 0;
    border-color: rgba(255, 255, 255, 0.18);
}

.page-home-v3 .solution-slide .solution-facts dt {
    color: #ff8b5f;
}

.page-home-v3 .solution-slide .solution-facts dd {
    color: rgba(255, 255, 255, 0.72);
}

.page-home-v3 .solution-slide .home-text-link {
    margin-top: 26px;
    color: var(--white);
}

.page-home-v3 .solution-slide__progress {
    position: absolute;
    right: 0;
    bottom: clamp(34px, 5vh, 54px);
    display: flex;
    gap: 8px;
}

.page-home-v3 .solution-slide__progress span {
    display: grid;
    width: 46px;
    gap: 8px;
    color: rgba(255, 255, 255, 0.48);
    font-size: 10px;
}

.page-home-v3 .solution-slide__progress span::after {
    width: 100%;
    height: 2px;
    background: rgba(255, 255, 255, 0.24);
    content: "";
}

.page-home-v3 .solution-slide__progress .is-active {
    color: var(--white);
}

.page-home-v3 .solution-slide__progress .is-active::after {
    background: var(--accent);
}

.page-home-v3 .solution-slide--light {
    color: var(--ink);
    background: #eef4f8;
}

.page-home-v3 .solution-slide--light .solution-slide__series,
.page-home-v3 .solution-slide--light .solution-slide__problem,
.page-home-v3 .solution-slide--light .solution-facts dd {
    color: var(--ink-2);
}

.page-home-v3 .solution-slide--light h2,
.page-home-v3 .solution-slide--light .home-text-link {
    color: var(--ink);
}

.page-home-v3 .solution-slide--light .solution-facts,
.page-home-v3 .solution-slide--light .solution-facts > div {
    border-color: rgba(6, 36, 86, 0.18);
}

.page-home-v3 .solution-slide--light .solution-slide__progress span {
    color: rgba(6, 36, 86, 0.44);
}

.page-home-v3 .solution-slide--light .solution-slide__progress span::after {
    background: rgba(6, 36, 86, 0.2);
}

.page-home-v3 .solution-slide--light .solution-slide__progress .is-active::after {
    background: var(--accent);
}

/* Technology panel */
.page-home-v3 .home-technology {
    padding: 0;
    color: var(--white);
    background: var(--navy-2);
}

.page-home-v3 .home-technology__picture img {
    object-position: 67% center;
}

.page-home-v3 .home-technology .home-panel__shade {
    background:
        linear-gradient(90deg, rgba(2, 16, 38, 0.97) 0%, rgba(3, 26, 59, 0.88) 45%, rgba(3, 26, 59, 0.58) 100%),
        linear-gradient(180deg, rgba(2, 16, 38, 0.08), rgba(2, 16, 38, 0.66));
}

.page-home-v3 .home-technology__inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.page-home-v3 .home-technology .home-section-heading h2 {
    font-size: clamp(40px, 3.8vw, 54px);
}

.page-home-v3 .home-technology .home-section-heading > p:last-child {
    margin-top: 17px;
    font-size: 16px;
}

.page-home-v3 .technology-flow {
    margin-top: clamp(32px, 5vh, 52px);
    background: rgba(3, 26, 59, 0.36);
    backdrop-filter: none;
}

.page-home-v3 .technology-flow li {
    min-height: 104px;
    gap: 15px;
    padding: 17px 15px;
}

.page-home-v3 .technology-capabilities {
    margin-top: clamp(28px, 4.2vh, 44px);
    background: rgba(3, 26, 59, 0.2);
}

.page-home-v3 .technology-capabilities article {
    padding: 22px 24px 24px;
}

.page-home-v3 .technology-capabilities h3 {
    margin: 9px 0 17px;
    font-size: 22px;
}

.page-home-v3 .technology-capabilities dl {
    gap: 9px;
}

.page-home-v3 .technology-capabilities dd {
    font-size: 12px;
    line-height: 1.55;
}

/* Practice panel */
.page-home-v3 .home-practice {
    padding: 0;
    color: var(--white);
    background: var(--navy);
}

.page-home-v3 .home-practice__picture,
.page-home-v3 .home-practice__picture img {
    aspect-ratio: auto;
}

.page-home-v3 .home-practice__picture img {
    object-position: 67% center;
}

.page-home-v3 .home-practice .home-panel__shade {
    background:
        linear-gradient(90deg, rgba(2, 16, 38, 0.98) 0%, rgba(2, 16, 38, 0.9) 38%, rgba(2, 16, 38, 0.5) 65%, rgba(2, 16, 38, 0.12) 88%),
        linear-gradient(180deg, rgba(2, 16, 38, 0.08), rgba(2, 16, 38, 0.52));
}

.page-home-v3 .home-practice__inner {
    display: flex;
    align-items: center;
}

.page-home-v3 .home-practice__content {
    width: min(100%, 700px);
}

.page-home-v3 .home-practice .home-section-heading h2 {
    color: var(--white);
    font-size: clamp(42px, 4vw, 58px);
}

.page-home-v3 .home-practice .home-section-heading > p:last-child {
    color: rgba(255, 255, 255, 0.66);
}

.page-home-v3 .home-practice .practice-list {
    margin-top: 42px;
    border-color: rgba(255, 255, 255, 0.22);
}

.page-home-v3 .home-practice .practice-list a {
    padding: 18px 0;
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.18);
}

.page-home-v3 .home-practice .practice-list__main strong {
    color: var(--white);
}

.page-home-v3 .home-practice .practice-list__main small {
    color: rgba(255, 255, 255, 0.62);
}

/* About and contact panel */
.page-home-v3 .home-about {
    padding: 0;
    color: var(--white);
    background: var(--navy);
}

.page-home-v3 .home-about__picture img {
    object-position: center center;
}

.page-home-v3 .home-about .home-panel__shade {
    background: linear-gradient(90deg, rgba(2, 16, 38, 0.93) 0%, rgba(2, 16, 38, 0.8) 48%, rgba(2, 16, 38, 0.64) 100%);
}

.page-home-v3 .home-about__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
    gap: clamp(54px, 7vw, 108px);
    align-items: center;
}

.page-home-v3 .home-about__copy h2 {
    color: var(--white);
    font-size: clamp(42px, 4vw, 58px);
}

.page-home-v3 .home-about__copy > p:not(.home-kicker) {
    color: rgba(255, 255, 255, 0.68);
}

.page-home-v3 .home-about .home-text-link {
    color: var(--white);
}

.page-home-v3 .home-contact {
    padding: 12px 0 12px clamp(40px, 5vw, 72px);
    background: transparent;
    border-left: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 0;
}

@media (max-width: 1100px) {
    .page-home-v3 .company-hero__copy {
        width: min(100%, 540px);
    }

    .page-home-v3 .technology-flow {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .page-home-v3 .technology-flow li {
        min-height: 84px;
    }

    .page-home-v3 .technology-flow li:nth-child(5) {
        border-left: 0;
    }

    .page-home-v3 .technology-flow li:nth-child(-n + 4) {
        border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    }

    .page-home-v3 .technology-flow li:nth-child(4)::after {
        display: none;
    }
}

@media (max-width: 820px) {
    @supports selector(:has(body.page-home-v3)) {
        html:has(body.page-home-v3) {
            scroll-snap-type: none;
        }
    }

    .page-home-v3 .home-panel {
        min-height: 100vh;
        min-height: 100svh;
        scroll-snap-align: none;
    }

    .page-home-v3 .home-panel__inner {
        min-height: inherit;
        padding-top: calc(var(--nav-height) + 52px);
        padding-bottom: 58px;
    }

    .page-home-v3 .company-hero {
        min-height: 100vh;
        min-height: 100svh;
        padding: 0;
        overflow: hidden;
    }

    .page-home-v3 .company-hero__media {
        position: absolute;
        inset: 0;
        order: initial;
        aspect-ratio: auto;
    }

    .page-home-v3 .company-hero__media img {
        position: absolute;
        object-position: 66% center;
    }

    .page-home-v3 .company-hero__wash {
        display: block;
        background:
            linear-gradient(90deg, rgba(249, 251, 254, 0.97) 0%, rgba(249, 251, 254, 0.87) 58%, rgba(249, 251, 254, 0.34) 100%),
            linear-gradient(180deg, rgba(249, 251, 254, 0.94) 0%, rgba(249, 251, 254, 0.58) 62%, rgba(3, 26, 59, 0.18) 100%);
    }

    .page-home-v3 .company-hero__inner {
        min-height: 100vh;
        min-height: 100svh;
        padding-top: calc(var(--nav-height) + 46px);
        padding-bottom: 46px;
    }

    .page-home-v3 .company-hero h1 {
        font-size: clamp(46px, 9vw, 58px);
    }

    .page-home-v3 .home-product__picture img,
    .page-home-v3 .solution-slide__picture img,
    .page-home-v3 .home-technology__picture img,
    .page-home-v3 .home-practice__picture img,
    .page-home-v3 .home-about__picture img {
        object-position: 70% center;
    }

    .page-home-v3 .home-product .home-panel__shade,
    .page-home-v3 .solution-slide .home-panel__shade,
    .page-home-v3 .home-practice .home-panel__shade {
        background: linear-gradient(90deg, rgba(2, 16, 38, 0.94), rgba(2, 16, 38, 0.68));
    }

    .page-home-v3 .solution-slide--light .home-panel__shade {
        background: linear-gradient(90deg, rgba(248, 251, 254, 0.96), rgba(248, 251, 254, 0.62));
    }

    .page-home-v3 .home-product__copy,
    .page-home-v3 .solution-slide__copy,
    .page-home-v3 .home-practice__content {
        width: min(100%, 650px);
    }

    .page-home-v3 .home-product__name {
        font-size: 64px;
    }

    .page-home-v3 .home-product__copy h2,
    .page-home-v3 .solution-slide h2,
    .page-home-v3 .home-practice .home-section-heading h2,
    .page-home-v3 .home-about__copy h2 {
        font-size: 40px;
    }

    .page-home-v3 .product-chain {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        margin-top: 50px;
    }

    .page-home-v3 .product-chain li {
        display: grid;
        grid-template-columns: 1fr;
        min-height: 76px;
        gap: 7px;
        padding: 12px 9px;
        border-top: 0;
        border-left: 1px solid rgba(255, 255, 255, 0.14);
        font-size: 12px;
        text-align: center;
    }

    .page-home-v3 .product-chain li:first-child {
        border-left: 0;
    }

    .page-home-v3 .product-chain li::after {
        display: none;
    }

    .page-home-v3 .solution-slide__progress {
        right: 20px;
    }

    .page-home-v3 .technology-flow {
        grid-template-columns: 1fr;
    }

    .page-home-v3 .technology-flow li,
    .page-home-v3 .technology-flow li:nth-child(5) {
        grid-template-columns: 38px minmax(0, 1fr);
        min-height: 58px;
        align-items: center;
        align-content: center;
        border-top: 1px solid rgba(255, 255, 255, 0.14);
        border-bottom: 0;
        border-left: 0;
    }

    .page-home-v3 .technology-flow li:first-child {
        border-top: 0;
    }

    .page-home-v3 .technology-flow li::after {
        display: none;
    }

    .page-home-v3 .technology-capabilities {
        grid-template-columns: 1fr;
    }

    .page-home-v3 .technology-capabilities article {
        border-top: 1px solid rgba(255, 255, 255, 0.14);
        border-left: 0;
    }

    .page-home-v3 .home-about__layout {
        grid-template-columns: 1fr;
        gap: 46px;
    }

    .page-home-v3 .home-contact {
        padding: 42px 0 0;
        border-top: 1px solid rgba(255, 255, 255, 0.24);
        border-left: 0;
    }
}

@media (max-width: 520px) {
    .page-home-v3 .home-panel__inner {
        padding-top: calc(var(--nav-height) + 38px);
        padding-bottom: 44px;
    }

    .page-home-v3 .company-hero__inner {
        padding-top: calc(var(--nav-height) + 32px);
        padding-bottom: 32px;
    }

    .page-home-v3 .company-hero__label {
        margin-bottom: 18px;
    }

    .page-home-v3 .company-hero h1 {
        margin-bottom: 20px;
        font-size: 44px;
    }

    .page-home-v3 .company-hero__lead {
        font-size: 15px;
        line-height: 1.66;
    }

    .page-home-v3 .company-hero__actions {
        margin-top: 25px;
    }

    .page-home-v3 .company-hero__media img {
        object-position: 69% center;
    }

    .page-home-v3 .home-product__name {
        margin-bottom: 18px;
        font-size: 54px;
    }

    .page-home-v3 .home-product__copy h2,
    .page-home-v3 .solution-slide h2,
    .page-home-v3 .home-practice .home-section-heading h2,
    .page-home-v3 .home-about__copy h2 {
        font-size: 34px;
    }

    .page-home-v3 .home-product__copy > p:not(.home-kicker):not(.home-product__name),
    .page-home-v3 .solution-slide__problem {
        margin-top: 18px;
        font-size: 15px;
    }

    .page-home-v3 .home-product__copy .button {
        margin-top: 22px;
    }

    .page-home-v3 .product-chain {
        margin-top: 36px;
    }

    .page-home-v3 .product-chain li {
        min-height: 68px;
        padding-inline: 5px;
        font-size: 11px;
    }

    .page-home-v3 .solution-slide__series {
        margin-bottom: 8px;
        font-size: 12px;
    }

    .page-home-v3 .solution-slide .home-kicker {
        margin-bottom: 17px;
    }

    .page-home-v3 .solution-slide .solution-facts {
        margin-top: 22px;
    }

    .page-home-v3 .solution-slide .solution-facts > div {
        grid-template-columns: 68px minmax(0, 1fr);
        gap: 10px;
        padding: 9px 0;
    }

    .page-home-v3 .solution-slide .solution-facts dd {
        font-size: 12px;
    }

    .page-home-v3 .solution-slide .home-text-link {
        margin-top: 20px;
    }

    .page-home-v3 .solution-slide__progress,
    .page-home-v3 .home-panel__caption {
        display: none;
    }

    .page-home-v3 .technology-flow {
        margin-top: 28px;
    }

    .page-home-v3 .technology-capabilities {
        margin-top: 26px;
    }

    .page-home-v3 .technology-capabilities article {
        padding: 18px 10px 20px;
    }

    .page-home-v3 .home-practice .practice-list {
        margin-top: 30px;
    }

    .page-home-v3 .home-practice .practice-list a {
        grid-template-columns: 1fr auto;
        gap: 10px;
        padding: 15px 0;
    }

    .page-home-v3 .home-practice .practice-list__type {
        grid-column: 1 / -1;
    }

    .page-home-v3 .home-practice .practice-list__main strong {
        font-size: 16px;
    }

    .page-home-v3 .home-practice .practice-list__main small {
        font-size: 12px;
    }

    .page-home-v3 .home-contact {
        padding-top: 34px;
    }
}

@media (prefers-reduced-motion: reduce) {
    @supports selector(:has(body.page-home-v3)) {
        html:has(body.page-home-v3) {
            scroll-snap-type: none;
        }
    }
}

/* Home full-screen cinematic snap */
body.page-home {
    color: var(--white);
    background: var(--navy);
    scroll-snap-type: y mandatory;
}

@supports selector(:has(body.page-home)) {
    html:has(body.page-home) {
        scroll-snap-type: y mandatory;
        scroll-padding-top: 0;
    }
}

.page-home .site-header {
    color: var(--white);
    background: linear-gradient(180deg, rgba(6, 24, 39, 0.62), rgba(6, 24, 39, 0.12));
    border-bottom-color: rgba(255, 255, 255, 0.12);
}

.page-home .site-header.is-scrolled,
.page-home .site-header.menu-open {
    background: rgba(6, 24, 39, 0.78);
    border-bottom-color: rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(18px);
}

.page-home .nav-link,
.page-home .menu-toggle,
.page-home .brand {
    color: rgba(255, 255, 255, 0.88);
}

.page-home .nav-link:hover,
.page-home .nav-link.is-current,
.page-home .nav-dropdown.is-current > .nav-link {
    color: var(--white);
}

.page-home .site-footer {
    display: none;
}

.home-snap-screen {
    position: relative;
    min-height: 100vh;
    height: 100vh;
    overflow: hidden;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    isolation: isolate;
    background: var(--navy);
}

@supports (height: 100dvh) {
    .home-snap-screen {
        min-height: 100dvh;
        height: 100dvh;
    }
}

.home-snap-screen__bg,
.home-snap-screen__bg img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.home-snap-screen__bg img {
    object-fit: cover;
    filter: saturate(0.82) contrast(1.04);
}

.home-snap-screen--hero .home-snap-screen__bg img {
    object-position: 64% center;
}

.home-snap-screen--business .home-snap-screen__bg img {
    object-position: 68% center;
}

.home-snap-screen--method .home-snap-screen__bg img {
    object-position: 58% center;
}

.home-snap-screen--joint .home-snap-screen__bg img {
    object-position: 64% center;
}

.home-snap-screen--contact .home-snap-screen__bg img {
    object-position: 60% center;
}

.home-snap-screen__shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(3, 13, 24, 0.82) 0%, rgba(3, 13, 24, 0.58) 38%, rgba(3, 13, 24, 0.18) 72%, rgba(3, 13, 24, 0.48) 100%),
        linear-gradient(180deg, rgba(3, 13, 24, 0.38), rgba(3, 13, 24, 0.14) 42%, rgba(3, 13, 24, 0.72));
}

.home-snap-screen__shade--strong {
    background:
        linear-gradient(90deg, rgba(3, 13, 24, 0.88) 0%, rgba(3, 13, 24, 0.70) 42%, rgba(3, 13, 24, 0.28) 100%),
        linear-gradient(180deg, rgba(3, 13, 24, 0.44), rgba(3, 13, 24, 0.20) 45%, rgba(3, 13, 24, 0.78));
}

.home-snap-screen__inner {
    position: relative;
    z-index: 2;
    display: grid;
    min-height: 100%;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
    align-items: center;
    padding-top: var(--nav-height);
    padding-bottom: clamp(34px, 5vh, 64px);
}

.home-snap-screen__inner--bottom {
    align-items: end;
}

.home-snap-screen__inner--right .home-snap-copy {
    grid-column: 7 / -1;
}

.home-snap-copy {
    grid-column: 1 / 7;
    max-width: 720px;
}

.home-snap-copy--wide {
    grid-column: 1 / 8;
    max-width: 880px;
}

.home-snap-kicker {
    margin-bottom: 18px;
    color: #ffad82;
    font-size: 12px;
    font-weight: 760;
    letter-spacing: 0.16em;
    line-height: 1.4;
    text-transform: uppercase;
}

.home-snap-copy h1,
.home-snap-copy h2 {
    color: var(--white);
    text-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
}

.home-snap-copy h1 {
    margin-bottom: 30px;
    font-size: clamp(48px, 6vw, 92px);
    letter-spacing: -0.055em;
}

.home-snap-copy h2 {
    margin-bottom: 26px;
    font-size: clamp(38px, 4.5vw, 70px);
    letter-spacing: -0.052em;
}

.home-snap-copy p:not(.home-snap-kicker) {
    max-width: 640px;
    color: rgba(255, 255, 255, 0.78);
    font-size: clamp(17px, 1.35vw, 21px);
    line-height: 1.78;
}

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

.home-snap-button-light {
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.42);
}

.home-snap-scroll {
    position: absolute;
    z-index: 3;
    right: clamp(28px, 4vw, 62px);
    bottom: clamp(24px, 4vh, 44px);
    color: rgba(255, 255, 255, 0.62);
    font-size: 11px;
    font-weight: 760;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    writing-mode: vertical-rl;
}

.home-snap-scroll::after {
    display: block;
    width: 1px;
    height: 46px;
    margin: 12px auto 0;
    background: rgba(255, 255, 255, 0.44);
    content: "";
}

.home-snap-cards {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 42px;
}

.home-snap-cards a,
.home-snap-links a {
    position: relative;
    display: grid;
    gap: 8px;
    min-height: 138px;
    padding: 22px;
    color: var(--white);
    background: rgba(255, 255, 255, 0.09);
    border: 1px solid rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(18px);
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

.home-snap-cards a:hover,
.home-snap-cards a:focus-visible,
.home-snap-links a:hover,
.home-snap-links a:focus-visible {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 173, 130, 0.58);
}

.home-snap-cards span,
.home-snap-links a {
    font-size: clamp(20px, 1.8vw, 30px);
    font-weight: 650;
    letter-spacing: -0.03em;
    line-height: 1.18;
}

.home-snap-cards small {
    color: rgba(255, 255, 255, 0.64);
    font-size: 14px;
}

.home-snap-cards .arrow {
    position: absolute;
    right: 22px;
    bottom: 18px;
    color: #ffad82;
}

.home-snap-text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 30px;
    color: #ffad82;
    font-weight: 650;
}

.home-snap-system {
    grid-column: 8 / -1;
    display: grid;
    gap: 12px;
}

.home-snap-system span {
    padding: 18px 22px;
    color: rgba(255, 255, 255, 0.82);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(14px);
    font-weight: 650;
}

.home-snap-terms {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 28px 0 30px;
}

.home-snap-terms li {
    padding: 8px 12px;
    color: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.22);
}

.home-snap-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 36px;
}

.home-snap-links a {
    min-height: 96px;
    align-content: end;
    font-size: clamp(18px, 1.5vw, 24px);
}

.home-snap-filing {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    margin-top: 40px;
    padding-top: 18px;
    color: rgba(255, 255, 255, 0.50);
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    font-size: 12px;
}

.home-snap-filing span:last-child,
.home-snap-filing a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.home-snap-filing span:last-child {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px 18px;
}

.home-snap-filing img {
    width: 16px;
    height: 16px;
}

@media (max-width: 980px) {
    .page-home .mobile-menu {
        color: var(--ink);
        background: var(--paper);
    }

    .home-snap-screen__inner,
    .home-snap-cards,
    .home-snap-links {
        grid-template-columns: 1fr;
    }

    .home-snap-copy,
    .home-snap-copy--wide,
    .home-snap-system,
    .home-snap-screen__inner--right .home-snap-copy {
        grid-column: 1;
    }

    .home-snap-system {
        margin-top: 26px;
    }
}

@media (max-width: 760px) {
    .home-snap-screen {
        min-height: 100svh;
        height: 100svh;
    }

    .home-snap-screen__inner {
        align-content: center;
        padding-top: calc(var(--nav-height) + 18px);
        padding-bottom: 26px;
    }

    .home-snap-screen__shade,
    .home-snap-screen__shade--strong {
        background:
            linear-gradient(180deg, rgba(3, 13, 24, 0.72), rgba(3, 13, 24, 0.48) 42%, rgba(3, 13, 24, 0.84)),
            linear-gradient(90deg, rgba(3, 13, 24, 0.36), rgba(3, 13, 24, 0.12));
    }

    .home-snap-copy h1 {
        margin-bottom: 22px;
        font-size: clamp(40px, 11vw, 54px);
    }

    .home-snap-copy h2 {
        margin-bottom: 20px;
        font-size: clamp(34px, 9vw, 46px);
    }

    .home-snap-copy p:not(.home-snap-kicker) {
        font-size: 16px;
        line-height: 1.68;
    }

    .home-snap-actions {
        margin-top: 24px;
    }

    .home-snap-actions .button {
        flex: 1 1 140px;
    }

    .home-snap-cards {
        gap: 10px;
        margin-top: 26px;
    }

    .home-snap-cards a {
        min-height: 84px;
        padding: 14px 16px;
    }

    .home-snap-cards span,
    .home-snap-links a {
        font-size: 18px;
    }

    .home-snap-cards small {
        font-size: 12px;
    }

    .home-snap-system {
        display: none;
    }

    .home-snap-terms {
        margin: 20px 0 22px;
    }

    .home-snap-links {
        gap: 8px;
        margin-top: 24px;
    }

    .home-snap-links a {
        min-height: 62px;
        padding: 14px;
    }

    .home-snap-scroll {
        display: none;
    }

    .home-snap-filing {
        display: none;
    }
}

/* Product-led company homepage */
body.page-home-v3 {
    --paper: #ffffff;
    --warm: #f3f6fa;
    --white: #ffffff;
    --ink: #062456;
    --ink-2: #153d6f;
    --muted: #52657c;
    --navy: #031a3b;
    --navy-2: #082b5c;
    --accent: #ff5a1f;
    --accent-hover: #e84a12;
    --line: rgba(6, 36, 86, 0.15);
    --line-strong: rgba(6, 36, 86, 0.36);
    --home-section-space: 132px;
    --home-radius: 6px;
    --nav-height: 78px;
    color: var(--ink);
    background: var(--paper);
    scroll-snap-type: none;
}

@supports selector(:has(body.page-home-v3)) {
    html:has(body.page-home-v3) {
        scroll-padding-top: var(--nav-height);
        scroll-snap-type: none;
    }
}

.page-home-v3 main {
    overflow: hidden;
}

.page-home-v3 h1,
.page-home-v3 h2,
.page-home-v3 h3,
.page-home-v3 h4 {
    letter-spacing: 0;
}

.page-home-v3 .site-header {
    color: var(--ink);
    background: transparent;
    border-bottom-color: transparent;
    transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.page-home-v3 .site-header.is-scrolled,
.page-home-v3 .site-header.menu-open {
    color: var(--ink);
    background: rgba(255, 255, 255, 0.98);
    border-bottom-color: var(--line);
    box-shadow: 0 8px 24px rgba(3, 26, 59, 0.06);
}

.page-home-v3 .brand,
.page-home-v3 .nav-link,
.page-home-v3 .menu-toggle {
    color: var(--ink);
}

.page-home-v3 .nav-link {
    font-size: 15px;
    font-weight: 620;
}

.page-home-v3 .nav-link:hover,
.page-home-v3 .nav-link.is-current {
    color: var(--ink);
}

.page-home-v3 .nav-link::after {
    background: var(--accent);
}

.page-home-v3 .nav-contact {
    min-height: 44px;
    padding-inline: 19px;
}

.page-home-v3 .site-footer {
    display: block;
    background: var(--navy);
}

.page-home-v3 .footer-tagline {
    max-width: 270px;
    margin-top: 22px;
    color: rgba(255, 255, 255, 0.56);
    font-size: 13px;
    line-height: 1.75;
}

.home-kicker {
    margin: 0 0 18px;
    color: var(--accent);
    font-size: 12px;
    font-weight: 720;
    line-height: 1.4;
}

.home-kicker--light {
    color: #ff8b5f;
}

.home-section-heading {
    max-width: 790px;
}

.home-section-heading h2 {
    max-width: 760px;
    font-size: 50px;
    line-height: 1.14;
}

.home-section-heading > p:last-child {
    max-width: 680px;
    margin-top: 24px;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.75;
}

.home-section-heading--light h2 {
    color: var(--white);
}

.home-section-heading--light > p:last-child {
    color: rgba(255, 255, 255, 0.65);
}

.home-text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--ink);
    font-size: 15px;
    font-weight: 680;
}

.home-text-link::before {
    width: 24px;
    height: 2px;
    background: var(--accent);
    content: "";
}

/* Hero */
.company-hero {
    position: relative;
    display: block;
    height: min(960px, 100svh);
    min-height: 720px;
    overflow: hidden;
    background: #edf4fb;
}

.company-hero__media,
.company-hero__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.company-hero__media img {
    max-width: none;
    object-fit: cover;
    object-position: center center;
}

.company-hero__wash {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(249, 251, 254, 1) 0%, rgba(249, 251, 254, 0.97) 27%, rgba(249, 251, 254, 0.82) 40%, rgba(249, 251, 254, 0.28) 56%, rgba(249, 251, 254, 0) 72%),
        linear-gradient(180deg, rgba(249, 251, 254, 0.12) 58%, rgba(3, 26, 59, 0.14) 100%);
}

.company-hero__inner {
    position: relative;
    z-index: 1;
    display: flex;
    height: 100%;
    min-height: inherit;
    align-items: center;
    padding: calc(var(--nav-height) + 38px) 0 54px;
}

.company-hero__copy {
    width: min(100%, 590px);
}

.company-hero__label {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 26px;
    color: var(--ink-2);
    font-size: 14px;
    font-weight: 680;
    line-height: 1.4;
}

.company-hero__label span {
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    background: var(--accent);
    border-radius: 50%;
}

.company-hero h1 {
    margin: 0 0 28px;
    color: var(--ink);
    font-size: 76px;
    font-weight: 680;
    line-height: 1.12;
}

.company-hero h1 span {
    display: block;
    white-space: nowrap;
}

.company-hero__lead {
    max-width: 550px;
    color: var(--ink-2);
    font-size: 18px;
    line-height: 1.8;
}

.company-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 36px;
}

.company-hero__actions .button {
    min-width: 184px;
}

.company-hero__actions .button-secondary {
    background: rgba(255, 255, 255, 0.36);
    border-color: rgba(6, 36, 86, 0.5);
}

/* Product */
.home-product {
    padding: var(--home-section-space) 0 110px;
    color: var(--white);
    background: var(--navy);
}

.home-product__intro {
    display: grid;
    grid-template-columns: 4fr 8fr;
    gap: 48px;
    align-items: start;
}

.home-product__name {
    font-size: 62px;
    font-weight: 680;
    line-height: 1;
}

.home-product__copy {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px 36px;
    align-items: end;
}

.home-product__copy h2 {
    grid-column: 1 / -1;
    max-width: 760px;
    font-size: 43px;
    line-height: 1.18;
}

.home-product__copy p {
    max-width: 690px;
    color: rgba(255, 255, 255, 0.66);
    font-size: 17px;
    line-height: 1.75;
}

.home-product__visual {
    position: relative;
    margin-top: 64px;
    overflow: hidden;
    aspect-ratio: 16 / 7.4;
    background: #091a2c;
    border-radius: var(--home-radius);
}

.home-product__picture,
.home-product__picture img {
    width: 100%;
    height: 100%;
}

.home-product__picture img {
    object-fit: cover;
    object-position: 62% center;
}

.home-product__visual::after {
    position: absolute;
    inset: 58% 0 0;
    background: linear-gradient(180deg, transparent, rgba(3, 26, 59, 0.58));
    content: "";
}

.home-product__visual figcaption {
    position: absolute;
    z-index: 1;
    right: 20px;
    bottom: 16px;
    color: rgba(255, 255, 255, 0.66);
    font-size: 12px;
}

.product-chain {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: 34px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.product-chain li {
    position: relative;
    display: grid;
    min-height: 94px;
    align-content: center;
    gap: 6px;
    padding: 18px 24px;
    color: rgba(255, 255, 255, 0.84);
    border-left: 1px solid rgba(255, 255, 255, 0.14);
    font-size: 15px;
}

.product-chain li:first-child {
    border-left: 0;
}

.product-chain li:not(:last-child)::after {
    position: absolute;
    z-index: 1;
    top: 50%;
    right: -5px;
    width: 9px;
    height: 9px;
    background: var(--accent);
    border: 2px solid var(--navy);
    border-radius: 50%;
    content: "";
    transform: translateY(-50%);
}

.product-chain li span {
    color: #ff8b5f;
    font-size: 11px;
    line-height: 1;
}

/* Solutions */
.home-solutions {
    padding: var(--home-section-space) 0;
    background: var(--white);
}

.solution-stories {
    margin-top: 88px;
}

.solution-story {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
    align-items: center;
    padding: 76px 0;
    border-top: 1px solid var(--line);
}

.solution-story:last-child {
    padding-bottom: 0;
}

.solution-story__media {
    position: relative;
    grid-column: 1 / 8;
    min-width: 0;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: var(--navy);
    border-radius: var(--home-radius);
}

.solution-story__picture,
.solution-story__picture img {
    width: 100%;
    height: 100%;
}

.solution-story__picture img {
    object-fit: cover;
    transition: transform 420ms ease;
}

.solution-story:hover .solution-story__picture img {
    transform: scale(1.018);
}

.solution-story__media::after {
    position: absolute;
    inset: 62% 0 0;
    background: linear-gradient(180deg, transparent, rgba(3, 26, 59, 0.7));
    content: "";
}

.solution-story__media figcaption {
    position: absolute;
    z-index: 1;
    right: 22px;
    bottom: 18px;
    left: 22px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 13px;
}

.solution-story__media figcaption span {
    color: #ff8b5f;
    font-weight: 700;
}

.solution-story__copy {
    grid-column: 9 / -1;
    min-width: 0;
}

.solution-story--reverse .solution-story__media {
    grid-column: 6 / -1;
}

.solution-story--reverse .solution-story__copy {
    grid-row: 1;
    grid-column: 1 / 5;
}

.solution-story__copy h3 {
    margin-bottom: 32px;
    font-size: 38px;
    line-height: 1.22;
}

.solution-facts {
    border-top: 1px solid var(--line);
}

.solution-facts > div {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
}

.solution-facts dt {
    color: var(--ink);
    font-size: 12px;
    font-weight: 700;
}

.solution-facts dd {
    color: var(--muted);
    font-size: 14px;
    line-height: 1.65;
}

.solution-story__copy .home-text-link {
    margin-top: 28px;
}

/* Technology */
.home-technology {
    padding: var(--home-section-space) 0;
    color: var(--white);
    background: var(--navy-2);
}

.technology-flow {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    margin-top: 72px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: var(--home-radius);
}

.technology-flow li {
    position: relative;
    display: grid;
    min-height: 152px;
    align-content: space-between;
    gap: 24px;
    padding: 22px 18px;
    border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.technology-flow li:first-child {
    border-left: 0;
}

.technology-flow li:not(:last-child)::after {
    position: absolute;
    z-index: 1;
    top: 50%;
    right: -7px;
    width: 12px;
    height: 12px;
    background: var(--accent);
    border: 3px solid var(--navy-2);
    border-radius: 50%;
    content: "";
    transform: translateY(-50%);
}

.technology-flow span {
    color: #ff8b5f;
    font-size: 11px;
    line-height: 1;
}

.technology-flow strong {
    max-width: 130px;
    font-size: 14px;
    font-weight: 620;
    line-height: 1.55;
}

.technology-capabilities {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 60px;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.technology-capabilities article {
    min-width: 0;
    padding: 38px 34px 42px;
    border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.technology-capabilities article:first-child {
    border-left: 0;
}

.technology-capabilities__index {
    color: #ff8b5f;
    font-size: 11px;
}

.technology-capabilities h3 {
    margin: 13px 0 28px;
    font-size: 27px;
}

.technology-capabilities dl {
    display: grid;
    gap: 17px;
}

.technology-capabilities dl > div {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
}

.technology-capabilities dt {
    color: #ff8b5f;
    font-size: 11px;
    font-weight: 700;
}

.technology-capabilities dd {
    color: rgba(255, 255, 255, 0.64);
    font-size: 14px;
    line-height: 1.65;
}

/* Practice */
.home-practice {
    padding: var(--home-section-space) 0;
    background: var(--white);
}

.home-practice__layout {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    gap: 84px;
    align-items: start;
}

.home-practice__media {
    min-width: 0;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background: var(--navy);
    border-radius: var(--home-radius);
}

.home-practice__picture,
.home-practice__picture img {
    width: 100%;
    height: 100%;
}

.home-practice__picture img {
    object-fit: cover;
    object-position: 68% center;
}

.practice-list {
    margin-top: 52px;
    border-top: 1px solid var(--line);
}

.practice-list a {
    display: grid;
    grid-template-columns: 94px minmax(0, 1fr) auto;
    gap: 22px;
    align-items: start;
    padding: 24px 0;
    border-bottom: 1px solid var(--line);
    transition: color 160ms ease;
}

.practice-list a:hover,
.practice-list a:focus-visible {
    color: var(--accent-hover);
}

.practice-list__type {
    padding-top: 4px;
    color: var(--accent);
    font-size: 11px;
    font-weight: 720;
}

.practice-list__main {
    display: grid;
    min-width: 0;
    gap: 8px;
}

.practice-list__main strong {
    color: var(--ink);
    font-size: 18px;
    font-weight: 660;
    line-height: 1.45;
}

.practice-list__main small {
    color: var(--muted);
    font-size: 14px;
    line-height: 1.65;
}

/* About and contact */
.home-about {
    padding: var(--home-section-space) 0;
    background: var(--warm);
}

.home-about__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr);
    gap: 84px;
    align-items: start;
}

.home-about__copy h2 {
    max-width: 620px;
    font-size: 48px;
    line-height: 1.18;
}

.home-about__copy > p:not(.home-kicker) {
    max-width: 630px;
    margin-top: 26px;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.8;
}

.home-about__copy .home-text-link {
    margin-top: 34px;
}

.home-contact {
    padding: 50px;
    color: var(--white);
    background: var(--navy);
    border-radius: 8px;
}

.home-contact h2 {
    max-width: 520px;
    font-size: 40px;
    line-height: 1.2;
}

.home-contact > p:not(.home-kicker) {
    max-width: 520px;
    margin-top: 22px;
    color: rgba(255, 255, 255, 0.64);
    font-size: 16px;
    line-height: 1.75;
}

.home-contact__email {
    display: inline-block;
    max-width: 100%;
    margin-top: 32px;
    color: var(--white);
    font-size: 23px;
    font-weight: 620;
    overflow-wrap: anywhere;
}

.home-contact__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: 34px;
}

.home-copy-email {
    min-height: 46px;
    padding: 11px 18px;
    color: var(--white);
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.38);
    border-radius: 5px;
    font-size: 14px;
    font-weight: 650;
    cursor: pointer;
}

.home-copy-email:hover,
.home-copy-email:focus-visible {
    border-color: var(--white);
}

.home-copy-status {
    width: 100%;
    min-height: 20px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 12px;
}

@media (max-width: 1100px) {
    body.page-home-v3 {
        --home-section-space: 112px;
    }

    .company-hero h1 {
        font-size: 64px;
    }

    .company-hero__copy {
        width: min(100%, 510px);
    }

    .home-product__intro {
        grid-template-columns: 3.5fr 8.5fr;
    }

    .home-product__name {
        font-size: 52px;
    }

    .home-product__copy h2 {
        font-size: 38px;
    }

    .solution-story {
        gap: 20px;
    }

    .solution-story__copy h3 {
        font-size: 33px;
    }

    .technology-flow li {
        min-height: 166px;
        padding-inline: 14px;
    }

    .technology-capabilities article {
        padding-inline: 24px;
    }

    .home-practice__layout,
    .home-about__layout {
        gap: 58px;
    }
}

@media (max-width: 980px) {
    .page-home-v3 .site-header {
        background: rgba(255, 255, 255, 0.96);
        border-bottom-color: var(--line);
    }

    .page-home-v3 .mobile-menu {
        color: var(--ink);
        background: var(--white);
    }

    .page-home-v3 .mobile-menu-inner > a {
        color: var(--ink);
        font-size: 19px;
        font-weight: 620;
    }

    .page-home-v3 .mobile-menu .button {
        color: var(--white);
    }

    .home-product__intro,
    .home-practice__layout,
    .home-about__layout {
        grid-template-columns: 1fr;
    }

    .home-product__intro {
        gap: 42px;
    }

    .home-product__copy {
        max-width: 760px;
    }

    .solution-story,
    .solution-story--reverse {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .solution-story__media,
    .solution-story--reverse .solution-story__media,
    .solution-story__copy,
    .solution-story--reverse .solution-story__copy {
        grid-row: auto;
        grid-column: 1;
    }

    .solution-story__copy {
        max-width: 720px;
    }

    .technology-flow {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .technology-flow li:nth-child(5) {
        border-left: 0;
    }

    .technology-flow li:nth-child(-n + 4) {
        border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    }

    .technology-flow li:nth-child(4)::after {
        display: none;
    }

    .home-practice__media {
        aspect-ratio: 16 / 8;
    }

    .home-practice__content {
        max-width: 760px;
    }

    .home-about__copy {
        max-width: 760px;
    }
}

@media (max-width: 820px) {
    body.page-home-v3 {
        --home-section-space: 92px;
    }

    .company-hero {
        display: flex;
        height: auto;
        min-height: 0;
        flex-direction: column;
        padding-top: var(--nav-height);
        overflow: visible;
        background: #f7f9fc;
    }

    .company-hero__media {
        position: relative;
        inset: auto;
        order: 2;
        aspect-ratio: 16 / 9;
    }

    .company-hero__media img {
        position: absolute;
        object-position: 77% center;
    }

    .company-hero__wash {
        display: none;
    }

    .company-hero__inner {
        order: 1;
        height: auto;
        min-height: 0;
        padding: 58px 0 50px;
    }

    .company-hero__copy {
        width: 100%;
        max-width: 620px;
    }

    .company-hero h1 {
        font-size: 56px;
    }

    .home-section-heading h2,
    .home-about__copy h2 {
        font-size: 42px;
    }

    .home-product__copy {
        grid-template-columns: 1fr;
    }

    .home-product__copy h2 {
        font-size: 36px;
    }

    .home-product__copy .button {
        justify-self: start;
    }

    .home-product__visual {
        aspect-ratio: 4 / 3;
    }

    .product-chain {
        grid-template-columns: 1fr;
    }

    .product-chain li {
        grid-template-columns: 40px minmax(0, 1fr);
        min-height: 64px;
        align-items: center;
        align-content: center;
        border-top: 1px solid rgba(255, 255, 255, 0.14);
        border-left: 0;
    }

    .product-chain li:first-child {
        border-top: 0;
    }

    .product-chain li::after {
        display: none;
    }

    .solution-stories {
        margin-top: 62px;
    }

    .solution-story {
        padding: 58px 0;
    }

    .technology-flow {
        grid-template-columns: 1fr;
    }

    .technology-flow li,
    .technology-flow li:nth-child(5) {
        grid-template-columns: 42px minmax(0, 1fr);
        min-height: 70px;
        align-items: center;
        align-content: center;
        border-top: 1px solid rgba(255, 255, 255, 0.14);
        border-bottom: 0;
        border-left: 0;
    }

    .technology-flow li:first-child {
        border-top: 0;
    }

    .technology-flow li::after {
        display: none;
    }

    .technology-flow strong {
        max-width: none;
    }

    .technology-capabilities {
        grid-template-columns: 1fr;
    }

    .technology-capabilities article {
        border-top: 1px solid rgba(255, 255, 255, 0.14);
        border-left: 0;
    }

    .technology-capabilities article:first-child {
        border-top: 0;
    }

    .home-practice__media {
        aspect-ratio: 4 / 3;
    }

    .home-contact {
        padding: 40px;
    }
}

@media (max-width: 520px) {
    body.page-home-v3 {
        --home-section-space: 78px;
    }

    .company-hero__inner {
        padding: 44px 0 40px;
    }

    .company-hero__label {
        margin-bottom: 20px;
        font-size: 13px;
    }

    .company-hero h1 {
        margin-bottom: 22px;
        font-size: 46px;
        line-height: 1.14;
    }

    .company-hero__lead {
        font-size: 16px;
        line-height: 1.75;
    }

    .company-hero__actions {
        display: grid;
        gap: 10px;
        margin-top: 30px;
    }

    .company-hero__actions .button {
        width: 100%;
        min-width: 0;
    }

    .company-hero__media {
        aspect-ratio: 4 / 3;
    }

    .company-hero__media img {
        object-position: 79% center;
    }

    .home-section-heading h2,
    .home-about__copy h2 {
        font-size: 36px;
    }

    .home-section-heading > p:last-child {
        margin-top: 18px;
        font-size: 16px;
    }

    .home-product {
        padding-bottom: 78px;
    }

    .home-product__name {
        font-size: 48px;
    }

    .home-product__copy h2 {
        font-size: 32px;
    }

    .home-product__copy p {
        font-size: 15px;
    }

    .home-product__visual {
        margin-top: 44px;
        aspect-ratio: 4 / 3;
    }

    .home-product__visual figcaption {
        right: 12px;
        bottom: 10px;
        font-size: 10px;
    }

    .product-chain {
        margin-top: 24px;
    }

    .product-chain li {
        padding-inline: 14px;
    }

    .solution-story {
        gap: 32px;
    }

    .solution-story__media {
        aspect-ratio: 4 / 3;
    }

    .solution-story__copy h3 {
        margin-bottom: 26px;
        font-size: 30px;
    }

    .solution-facts > div {
        grid-template-columns: 70px minmax(0, 1fr);
        gap: 12px;
    }

    .technology-flow {
        margin-top: 52px;
    }

    .technology-capabilities {
        margin-top: 42px;
    }

    .technology-capabilities article {
        padding: 30px 12px 32px;
    }

    .practice-list {
        margin-top: 38px;
    }

    .practice-list a {
        grid-template-columns: 1fr auto;
        gap: 12px;
    }

    .practice-list__type {
        grid-column: 1 / -1;
    }

    .home-contact {
        padding: 30px 24px;
    }

    .home-contact h2 {
        font-size: 32px;
    }

    .home-contact__email {
        font-size: 18px;
    }

    .home-contact__actions {
        display: grid;
    }

    .home-contact__actions .button,
    .home-copy-email {
        width: 100%;
    }

    .page-home-v3 .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 36px 24px;
    }

    .page-home-v3 .footer-intro {
        grid-column: 1 / -1;
    }

    .page-home-v3 .footer-bottom,
    .page-home-v3 .filing-links {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .page-home-v3 .solution-story__picture img,
    .page-home-v3 .site-header,
    .page-home-v3 .button,
    .page-home-v3 .arrow {
        transition: none;
    }
}

@media (min-width: 821px) {
    @supports selector(:has(body.page-home-v3)) {
        html:has(body.page-home-v3) {
            scroll-snap-type: y proximity;
        }
    }
}

/* Direction A homepage — implemented from design/home-v2/exploration. */
body.page-home-v4 {
    --paper: #ffffff;
    --warm: #f3f6fa;
    --white: #ffffff;
    --ink: #062456;
    --ink-2: #153d6f;
    --muted: #52657c;
    --navy: #031a3b;
    --navy-2: #082b5c;
    --accent: #ff5a1f;
    --accent-hover: #e84a12;
    --line: rgba(6, 36, 86, 0.15);
    --line-strong: rgba(6, 36, 86, 0.36);
    --home-section-space: 132px;
    --home-radius: 6px;
    --nav-height: 78px;
    --shell: 1340px;
    color: var(--ink);
    background: var(--paper);
    scroll-snap-type: none;
}

@supports selector(:has(body.page-home-v4)) {
    html:has(body.page-home-v4) {
        scroll-padding-top: var(--nav-height);
        scroll-snap-type: none;
    }
}

.page-home-v4 main {
    overflow: clip;
}

.page-home-v4 h1,
.page-home-v4 h2,
.page-home-v4 h3,
.page-home-v4 h4 {
    letter-spacing: 0;
}

.page-home-v4 .site-header {
    color: var(--ink);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.18));
    border-bottom-color: transparent;
    transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.page-home-v4 .site-header.is-scrolled,
.page-home-v4 .site-header.menu-open {
    color: var(--ink);
    background: rgba(255, 255, 255, 0.98);
    border-bottom-color: var(--line);
    box-shadow: 0 8px 24px rgba(3, 26, 59, 0.06);
}

.page-home-v4 .brand,
.page-home-v4 .nav-link,
.page-home-v4 .menu-toggle {
    color: var(--ink);
}

.page-home-v4 .nav-link {
    font-size: 15px;
    font-weight: 620;
}

.page-home-v4 .nav-link:hover,
.page-home-v4 .nav-link.is-current {
    color: var(--ink);
}

.page-home-v4 .nav-link::after {
    background: var(--accent);
}

.page-home-v4 .nav-contact {
    min-height: 44px;
    padding-inline: 19px;
}

.page-home-v4 .site-footer {
    display: block;
    background: var(--navy);
}

.page-home-v4 .footer-tagline {
    max-width: 270px;
    margin-top: 22px;
    color: rgba(255, 255, 255, 0.56);
    font-size: 13px;
    line-height: 1.75;
}

/* Direction A hero: one bright scene, restrained overlay, no scroll snap. */
.page-home-v4 .company-hero {
    height: min(920px, 100svh);
    min-height: 760px;
    background: #edf4fb;
}

.page-home-v4 .company-hero__wash {
    background:
        linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.98) 24%, rgba(255, 255, 255, 0.86) 39%, rgba(255, 255, 255, 0.24) 58%, rgba(255, 255, 255, 0) 74%),
        linear-gradient(180deg, rgba(237, 244, 251, 0.04) 62%, rgba(3, 26, 59, 0.12) 100%);
}

.page-home-v4 .company-hero__copy {
    width: min(100%, 560px);
}

.page-home-v4 .company-hero h1 {
    max-width: 550px;
    font-size: clamp(64px, 5.4vw, 78px);
    font-weight: 680;
    line-height: 1.08;
}

.page-home-v4 .company-hero__lead {
    max-width: 540px;
    font-size: 18px;
}

/* Direction A AutoMetro evidence panel. */
.direction-product {
    position: relative;
    padding: 138px 0 154px;
    background:
        linear-gradient(90deg, rgba(6, 36, 86, 0.035) 1px, transparent 1px) 0 0 / 112px 112px,
        linear-gradient(rgba(6, 36, 86, 0.035) 1px, transparent 1px) 0 0 / 112px 112px,
        var(--white);
}

.direction-product__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
    align-items: center;
}

.direction-product__copy {
    grid-column: 1 / 5;
    max-width: 375px;
    padding-bottom: 18px;
}

.direction-product__name {
    margin: 0 0 28px;
    color: var(--ink-2);
    font-size: 20px;
    font-weight: 680;
    line-height: 1.2;
}

.direction-product__copy h2 {
    max-width: 370px;
    color: var(--ink);
    font-size: clamp(46px, 4vw, 58px);
    font-weight: 680;
    line-height: 1.14;
    text-wrap: balance;
}

.direction-product__lead {
    max-width: 360px;
    margin-top: 28px;
    color: var(--ink-2);
    font-size: 17px;
    line-height: 1.82;
}

.direction-product__copy .home-text-link {
    margin-top: 34px;
    color: var(--accent);
}

.direction-product__copy .home-text-link::before {
    display: none;
}

.direction-product__evidence {
    position: relative;
    grid-column: 5 / -1;
    min-width: 0;
    padding-bottom: 92px;
}

.direction-product__screen {
    position: relative;
    z-index: 1;
    overflow: hidden;
    margin: 0;
    background: #07131f;
    border: 1px solid rgba(6, 36, 86, 0.22);
    border-radius: 4px;
    box-shadow: 0 24px 60px rgba(3, 26, 59, 0.16);
}

.direction-product__screen img {
    display: block;
    width: 100%;
    height: auto;
}

.direction-product__screen figcaption {
    position: absolute;
    z-index: 2;
    right: 14px;
    bottom: 12px;
    padding: 5px 8px;
    color: rgba(255, 255, 255, 0.72);
    background: rgba(3, 16, 29, 0.72);
    font-size: 10px;
    line-height: 1.3;
}

.direction-product__screen-bar {
    display: none;
}

.direction-product__log {
    position: absolute;
    z-index: 2;
    right: 10%;
    bottom: 0;
    left: -8%;
    display: grid;
    min-height: 116px;
    grid-template-columns: 122px minmax(0, 1fr);
    color: rgba(255, 255, 255, 0.78);
    background: #101923;
    border: 1px solid rgba(6, 36, 86, 0.24);
    box-shadow: 0 20px 40px rgba(3, 26, 59, 0.18);
}

.direction-product__log > strong {
    display: grid;
    place-items: center;
    padding: 20px;
    color: #1d9be9;
    border-right: 1px solid rgba(255, 255, 255, 0.14);
    font-size: 14px;
    font-weight: 680;
}

.direction-product__log ol {
    display: grid;
    align-content: center;
    gap: 13px;
    margin: 0;
    padding: 20px 26px;
    list-style: none;
}

.direction-product__log li {
    position: relative;
    padding-left: 22px;
    font-size: 14px;
    line-height: 1.55;
}

.direction-product__log li::before {
    position: absolute;
    top: 0.55em;
    left: 0;
    width: 9px;
    height: 9px;
    background: #1d9be9;
    border-radius: 50%;
    content: "";
}

.direction-product__log li:first-child::before {
    background: var(--accent);
}

.direction-product__log li span {
    margin-right: 8px;
    color: #23c8f5;
    font-weight: 680;
}

.direction-product__log li:first-child span {
    color: #ff6559;
}

/* Editorial continuation: one dark system section, otherwise light surfaces. */
.page-home-v4 .home-solutions,
.page-home-v4 .home-practice,
.page-home-v4 .home-about,
.page-home-v4 .home-technology {
    min-height: 0;
}

.page-home-v4 .solution-story__problem {
    margin: 22px 0 28px;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.75;
}

.page-home-v4 .home-technology {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 84% 12%, rgba(57, 146, 223, 0.16), transparent 34%),
        linear-gradient(135deg, var(--navy), var(--navy-2));
}

.page-home-v4 .home-technology::before {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: 72px 72px;
    content: "";
    pointer-events: none;
}

.page-home-v4 .home-technology > .shell {
    position: relative;
    z-index: 1;
}

.page-home-v4 .home-practice {
    background: var(--white);
}

.page-home-v4 .home-about {
    background: var(--warm);
}

@media (max-width: 1100px) {
    body.page-home-v4 {
        --home-section-space: 112px;
    }

    .direction-product {
        padding-block: 118px 136px;
    }

    .direction-product__copy {
        grid-column: 1 / 5;
    }

    .direction-product__evidence {
        grid-column: 5 / -1;
    }

    .direction-product__copy h2 {
        font-size: 46px;
    }
}

@media (max-width: 980px) {
    .page-home-v4 .site-header {
        background: rgba(255, 255, 255, 0.96);
        border-bottom-color: var(--line);
    }

    .page-home-v4 .mobile-menu {
        color: var(--ink);
        background: var(--white);
    }

    .page-home-v4 .mobile-menu-inner > a {
        color: var(--ink);
        font-size: 19px;
        font-weight: 620;
    }

    .page-home-v4 .mobile-menu .button {
        color: var(--white);
    }

    .direction-product__grid {
        grid-template-columns: 1fr;
        gap: 58px;
    }

    .direction-product__copy,
    .direction-product__evidence {
        grid-column: 1;
    }

    .direction-product__copy {
        max-width: 720px;
    }

    .direction-product__copy h2,
    .direction-product__lead {
        max-width: 680px;
    }

    .direction-product__log {
        right: 6%;
        left: 6%;
    }
}

@media (max-width: 820px) {
    body.page-home-v4 {
        --home-section-space: 92px;
    }

    .page-home-v4 .company-hero {
        height: auto;
        min-height: 0;
    }

    .page-home-v4 .company-hero h1 {
        font-size: 56px;
    }

    .direction-product {
        padding: 92px 0;
        background: var(--white);
    }

    .direction-product__grid {
        gap: 44px;
    }

    .direction-product__copy h2 {
        font-size: 42px;
    }

    .direction-product__evidence {
        display: grid;
        padding-bottom: 0;
    }

    .direction-product__screen {
        aspect-ratio: 4 / 3;
    }

    .direction-product__screen img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: left center;
    }

    .direction-product__screen figcaption {
        display: none;
    }

    .direction-product__log {
        position: relative;
        right: auto;
        bottom: auto;
        left: auto;
        grid-template-columns: 1fr;
        min-height: 0;
        margin-top: 12px;
        box-shadow: none;
    }

    .direction-product__log > strong {
        display: block;
        padding: 16px 18px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    }

    .direction-product__log ol {
        padding: 20px 18px;
    }
}

@media (max-width: 520px) {
    body.page-home-v4 {
        --home-section-space: 78px;
    }

    .page-home-v4 .company-hero h1 {
        font-size: 46px;
    }

    .direction-product {
        padding: 78px 0;
    }

    .direction-product__name {
        margin-bottom: 22px;
        font-size: 18px;
    }

    .direction-product__copy h2 {
        font-size: 38px;
    }

    .direction-product__lead {
        margin-top: 22px;
        font-size: 15px;
    }

    .direction-product__copy .home-text-link {
        margin-top: 28px;
    }

    .direction-product__log li {
        font-size: 12px;
    }

    .page-home-v4 .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 36px 24px;
    }

    .page-home-v4 .footer-intro {
        grid-column: 1 / -1;
    }

    .page-home-v4 .footer-bottom,
    .page-home-v4 .filing-links {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {
    .page-home-v4 .solution-story__picture img,
    .page-home-v4 .site-header,
    .page-home-v4 .button,
    .page-home-v4 .arrow {
        transition: none;
    }
}

/* Direction A fullscreen release — every homepage chapter fills the viewport. */
.page-home-v4 .company-hero,
.page-home-v4 .direction-product,
.page-home-v4 .solution-story,
.page-home-v4 .home-technology,
.page-home-v4 .home-practice,
.page-home-v4 .home-about {
    min-height: 100vh;
    min-height: 100svh;
}

.page-home-v4 .company-hero {
    height: 100vh;
    height: 100svh;
}

.page-home-v4 .direction-product,
.page-home-v4 .home-technology,
.page-home-v4 .home-practice,
.page-home-v4 .home-about {
    display: flex;
    align-items: center;
}

.page-home-v4 .direction-product > .shell,
.page-home-v4 .home-technology > .shell,
.page-home-v4 .home-practice > .shell,
.page-home-v4 .home-about > .shell {
    width: min(calc(100% - 96px), var(--shell));
}

.page-home-v4 .home-solutions {
    padding: 0;
}

.page-home-v4 .solution-stories {
    margin-top: 0;
}

.page-home-v4 .solution-story {
    padding: calc(var(--nav-height) + 34px) 0 52px;
}

.page-home-v4 .solution-story__series {
    margin: 0 0 16px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 680;
    letter-spacing: 0.04em;
}

.page-home-v4 .home-technology {
    padding: calc(var(--nav-height) + 26px) 0 48px;
}

.page-home-v4 .home-technology .home-section-heading h2 {
    font-size: clamp(40px, 3.8vw, 54px);
}

.page-home-v4 .home-technology .home-section-heading > p:last-child {
    margin-top: 17px;
    font-size: 16px;
}

.page-home-v4 .technology-flow {
    margin-top: 38px;
}

.page-home-v4 .technology-flow li {
    min-height: 112px;
    gap: 15px;
    padding: 17px 15px;
}

.page-home-v4 .technology-capabilities {
    margin-top: 32px;
}

.page-home-v4 .technology-capabilities article {
    padding: 22px 24px 24px;
}

.page-home-v4 .technology-capabilities h3 {
    margin: 9px 0 17px;
    font-size: 22px;
}

.page-home-v4 .technology-capabilities dl {
    gap: 9px;
}

.page-home-v4 .technology-capabilities dd {
    font-size: 12px;
    line-height: 1.55;
}

.page-home-v4 .home-practice,
.page-home-v4 .home-about {
    padding: calc(var(--nav-height) + 34px) 0 52px;
}

.page-home-v4 .home-practice__layout,
.page-home-v4 .home-about__layout {
    align-items: center;
}

@media (min-width: 981px) {
    @supports selector(:has(body.page-home-v4)) {
        html:has(body.page-home-v4) {
            scroll-snap-type: y proximity;
        }
    }

    .page-home-v4 .company-hero,
    .page-home-v4 .direction-product,
    .page-home-v4 .solution-story,
    .page-home-v4 .home-technology,
    .page-home-v4 .home-practice,
    .page-home-v4 .home-about {
        scroll-snap-align: start;
    }

    .page-home-v4 .home-practice__media {
        height: min(66svh, 620px);
        aspect-ratio: auto;
    }
}

@media (max-width: 1100px) and (min-width: 981px) {
    .page-home-v4 .direction-product {
        padding-top: calc(var(--nav-height) + 30px);
        padding-bottom: 44px;
    }

    .page-home-v4 .direction-product__grid {
        gap: 20px;
    }

    .page-home-v4 .direction-product__copy h2 {
        font-size: 42px;
    }

    .page-home-v4 .direction-product__lead {
        margin-top: 20px;
        font-size: 15px;
    }

    .page-home-v4 .direction-product__copy .home-text-link {
        margin-top: 24px;
    }

    .page-home-v4 .direction-product__evidence {
        padding-bottom: 76px;
    }

    .page-home-v4 .direction-product__log {
        min-height: 98px;
    }

    .page-home-v4 .direction-product__log ol {
        gap: 8px;
        padding-block: 14px;
    }
}

@media (max-width: 980px) {
    @supports selector(:has(body.page-home-v4)) {
        html:has(body.page-home-v4) {
            scroll-snap-type: none;
        }
    }

    .page-home-v4 .company-hero {
        height: auto;
        min-height: 100vh;
        min-height: 100svh;
    }

    .page-home-v4 .direction-product,
    .page-home-v4 .home-technology,
    .page-home-v4 .home-practice,
    .page-home-v4 .home-about {
        display: block;
    }

    .page-home-v4 .direction-product > .shell,
    .page-home-v4 .home-technology > .shell,
    .page-home-v4 .home-practice > .shell,
    .page-home-v4 .home-about > .shell {
        width: calc(100% - 64px);
    }

    .page-home-v4 .solution-story,
    .page-home-v4 .home-technology,
    .page-home-v4 .home-practice,
    .page-home-v4 .home-about {
        padding-top: calc(var(--nav-height) + 42px);
        padding-bottom: 72px;
    }

    .page-home-v4 .technology-flow {
        margin-top: 52px;
    }

    .page-home-v4 .technology-capabilities {
        margin-top: 42px;
    }
}

@media (max-width: 760px) {
    .page-home-v4 .direction-product > .shell,
    .page-home-v4 .home-technology > .shell,
    .page-home-v4 .home-practice > .shell,
    .page-home-v4 .home-about > .shell {
        width: calc(100% - 40px);
    }

    .page-home-v4 .solution-story,
    .page-home-v4 .home-technology,
    .page-home-v4 .home-practice,
    .page-home-v4 .home-about {
        padding-top: calc(var(--nav-height) + 30px);
        padding-bottom: 60px;
    }
}

/* Final paging precedence: lock every desktop screen except the last one. */
@media (min-width: 981px) {
    @supports selector(:has(body.page-home-v4)) {
        html:has(body.page-home-v4) {
            scroll-snap-type: y mandatory;
            scroll-padding-top: 0;
        }
    }

    .page-home-v4 .company-hero,
    .page-home-v4 .direction-product,
    .page-home-v4 .solution-story,
    .page-home-v4 .home-technology,
    .page-home-v4 .home-practice {
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .page-home-v4 .home-about {
        scroll-snap-align: start;
        scroll-snap-stop: normal;
    }
}

/* 16:9 composition stage — the chapter fills the viewport; its content keeps a cinematic frame. */
.page-home-v4 .solution-story__stage {
    display: contents;
}

@media (min-width: 981px) {
    .page-home-v4 .company-hero,
    .page-home-v4 .direction-product,
    .page-home-v4 .solution-story,
    .page-home-v4 .home-technology,
    .page-home-v4 .home-practice,
    .page-home-v4 .home-about {
        display: flex;
        width: 100%;
        height: 100vh;
        height: 100svh;
        min-height: 100vh;
        min-height: 100svh;
        align-items: center;
        justify-content: center;
        padding: 0;
    }

    .page-home-v4 .home-stage {
        width: auto;
        max-width: 100%;
        height: min(100%, 56.25vw);
        max-height: 100%;
        min-height: 0;
        flex: 0 0 auto;
        aspect-ratio: 16 / 9;
        margin-inline: auto;
        padding-inline: max(48px, calc((min(100vw, 177.7778svh) - var(--shell)) / 2));
    }

    .page-home-v4 .direction-product > .home-stage,
    .page-home-v4 .home-technology > .home-stage,
    .page-home-v4 .home-practice > .home-stage,
    .page-home-v4 .home-about > .home-stage {
        width: auto;
        max-width: 100%;
    }

    .page-home-v4 .company-hero__inner {
        min-height: 0;
    }

    .page-home-v4 .home-solutions > .shell {
        width: 100%;
        max-width: none;
    }

    .page-home-v4 .solution-story__stage {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 24px;
        align-items: center;
    }

    .page-home-v4 .home-technology > .home-stage {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
}

@media (min-width: 981px) and (max-width: 1100px),
       (min-width: 981px) and (max-height: 700px) {
    .page-home-v4 .solution-story__series,
    .page-home-v4 .solution-story .home-kicker {
        margin-bottom: 10px;
    }

    .page-home-v4 .solution-story__copy h3 {
        margin-bottom: 18px;
        font-size: 29px;
    }

    .page-home-v4 .solution-story__problem {
        margin: 13px 0 18px;
        font-size: 14px;
        line-height: 1.6;
    }

    .page-home-v4 .solution-facts > div {
        padding-block: 9px;
    }

    .page-home-v4 .solution-facts dd {
        font-size: 12px;
        line-height: 1.5;
    }

    .page-home-v4 .solution-story__copy .home-text-link {
        margin-top: 18px;
    }

    .page-home-v4 .home-technology .home-section-heading h2 {
        font-size: 38px;
    }

    .page-home-v4 .home-technology .home-section-heading > p:last-child {
        margin-top: 12px;
        font-size: 14px;
        line-height: 1.55;
    }

    .page-home-v4 .technology-flow {
        margin-top: 24px;
    }

    .page-home-v4 .technology-flow li {
        min-height: 88px;
        gap: 10px;
        padding: 12px 10px;
    }

    .page-home-v4 .technology-capabilities {
        margin-top: 22px;
    }

    .page-home-v4 .technology-capabilities article {
        padding: 14px 16px 16px;
    }

    .page-home-v4 .technology-capabilities h3 {
        margin: 6px 0 10px;
        font-size: 18px;
    }

    .page-home-v4 .technology-capabilities dl {
        gap: 5px;
    }

    .page-home-v4 .technology-capabilities dd {
        font-size: 11px;
        line-height: 1.45;
    }

    .page-home-v4 .home-practice .home-section-heading h2,
    .page-home-v4 .home-about__copy h2 {
        font-size: 38px;
    }

    .page-home-v4 .home-practice .home-section-heading > p:last-child {
        margin-top: 14px;
        font-size: 14px;
        line-height: 1.55;
    }

    .page-home-v4 .home-practice__media {
        height: min(62svh, 500px);
    }

    .page-home-v4 .practice-list {
        margin-top: 24px;
    }

    .page-home-v4 .practice-list a {
        grid-template-columns: 72px minmax(0, 1fr) auto;
        gap: 14px;
        padding: 13px 0;
    }

    .page-home-v4 .practice-list__main strong {
        font-size: 16px;
    }

    .page-home-v4 .practice-list__main small {
        font-size: 12px;
        line-height: 1.5;
    }

    .page-home-v4 .home-about__copy > p:not(.home-kicker) {
        margin-top: 18px;
        font-size: 15px;
        line-height: 1.65;
    }

    .page-home-v4 .home-about__copy .home-text-link {
        margin-top: 22px;
    }

    .page-home-v4 .home-contact {
        padding: 34px;
    }

    .page-home-v4 .home-contact h2 {
        font-size: 32px;
    }

    .page-home-v4 .home-contact > p:not(.home-kicker) {
        margin-top: 16px;
        font-size: 14px;
        line-height: 1.6;
    }

    .page-home-v4 .home-contact__email {
        margin-top: 22px;
        font-size: 19px;
    }

    .page-home-v4 .home-contact__actions {
        margin-top: 24px;
    }
}

@media (min-width: 981px) and (max-height: 650px) {
    .page-home-v4 .product-model__header {
        min-height: 60px;
        padding-block: 10px;
    }

    .page-home-v4 .product-model__body {
        min-height: 300px;
    }

    .page-home-v4 .product-model__footer {
        min-height: 46px;
        padding-block: 9px;
    }

    .page-home-v4 .direction-product__evidence {
        padding-bottom: 64px;
    }

    .page-home-v4 .direction-product__log {
        min-height: 88px;
    }

    .page-home-v4 .direction-product__log ol {
        gap: 6px;
        padding-block: 10px;
    }
}

/* ========================================================================== */
/* Homepage V6 — scoped port of the approved 1440px reference                */
/* ========================================================================== */

body.page-home-v6 {
    --paper: #ffffff;
    --warm: #f4f7fa;
    --white: #ffffff;
    --ink: #0b254d;
    --ink-2: #24456f;
    --muted: #5c6d84;
    --navy: #071a39;
    --navy-2: #06142d;
    --accent: #ed570e;
    --accent-hover: #d94c08;
    --line: rgba(11, 37, 77, 0.14);
    --line-strong: rgba(11, 37, 77, 0.38);
    --shell: 1280px;
    --nav-height: 82px;
    color: var(--ink);
    background: var(--paper);
    font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
    font-size: 18px;
    line-height: 1.72;
    overflow-x: clip;
    scroll-snap-type: none;
}

@supports selector(:has(body.page-home-v6)) {
    html:has(body.page-home-v6) {
        overflow-x: clip;
        scroll-padding-top: var(--nav-height);
        scroll-snap-type: none !important;
    }
}

.page-home-v6 main {
    overflow-x: clip;
    background: #ffffff;
}

.page-home-v6 main > section {
    scroll-snap-align: none;
    scroll-snap-stop: normal;
}

.page-home-v6 h1,
.page-home-v6 h2,
.page-home-v6 h3 {
    color: var(--ink);
    font-family: inherit;
}

.page-home-v6 .shell {
    width: min(calc(100% - 96px), 1280px);
}

/* V6 header */
.page-home-v6 .site-header {
    position: sticky;
    z-index: 100;
    top: 0;
    right: auto;
    left: auto;
    height: 82px;
    color: var(--ink);
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid rgba(11, 37, 77, 0.09);
    box-shadow: none;
}

.page-home-v6 .site-header.is-scrolled,
.page-home-v6 .site-header.menu-open {
    color: var(--ink);
    background: rgba(255, 255, 255, 0.98);
    border-bottom-color: rgba(11, 37, 77, 0.12);
    box-shadow: 0 8px 24px rgba(7, 26, 57, 0.05);
    backdrop-filter: none;
}

.page-home-v6 .nav-shell {
    width: calc(100% - 96px);
    max-width: none;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 32px;
}

.page-home-v6 .nav-shell > .brand {
    grid-column: 1;
    justify-self: start;
}

.page-home-v6 .nav-shell > .desktop-nav {
    grid-column: 2;
}

.page-home-v6 .nav-shell > .nav-actions {
    grid-column: 3;
    justify-self: end;
}

.page-home-v6 .brand,
.page-home-v6 .nav-link,
.page-home-v6 .menu-toggle {
    color: var(--ink);
}

.page-home-v6 .brand {
    gap: 11px;
}

.page-home-v6 .brand-name {
    font-size: 30px;
    font-weight: 720;
    letter-spacing: 0.08em;
}

.page-home-v6 .brand-cn {
    padding-left: 11px;
    color: #8c99aa;
    font-size: 16px;
    font-weight: 650;
}

.page-home-v6 .desktop-nav {
    gap: 44px;
}

.page-home-v6 .nav-link {
    min-height: 42px;
    color: #29415f;
    font-size: 15px;
    font-weight: 600;
}

.page-home-v6 .nav-link:hover,
.page-home-v6 .nav-link.is-current {
    color: var(--ink);
}

.page-home-v6 .nav-link::after {
    background: var(--accent);
}

.page-home-v6 .nav-contact {
    min-width: 118px;
    min-height: 46px;
    padding: 13px 21px;
    color: #ffffff;
    background: var(--accent);
    border: 0;
    border-radius: 0;
    font-size: 15px;
    font-weight: 650;
}

.page-home-v6 .nav-contact:hover,
.page-home-v6 .nav-contact:focus-visible {
    background: var(--accent-hover);
}

/* Shared V6 type and actions */
.page-home-v6 .v6-section {
    position: relative;
    padding: 104px 0 112px;
}

.page-home-v6 .v6-kicker {
    margin: 0;
    color: var(--accent);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.3;
}

.page-home-v6 .v6-kicker--dark {
    color: #ff7740;
}

.page-home-v6 .v6-section-heading {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 100px;
    align-items: end;
    margin-bottom: 48px;
}

.page-home-v6 .v6-section-heading h2 {
    margin-top: 14px;
    font-size: 52px;
    font-weight: 710;
    letter-spacing: -0.045em;
    line-height: 1.18;
}

.page-home-v6 .v6-section-heading > p {
    max-width: 590px;
    justify-self: end;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.8;
}

.page-home-v6 .v6-button {
    min-width: 162px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 28px;
    border: 1px solid transparent;
    border-radius: 0;
    font-size: 16px;
    font-weight: 650;
    line-height: 1.2;
    text-align: center;
    transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.page-home-v6 .v6-button--primary {
    color: #ffffff;
    background: var(--accent);
}

.page-home-v6 .v6-button--primary:hover,
.page-home-v6 .v6-button--primary:focus-visible {
    background: var(--accent-hover);
}

.page-home-v6 .v6-button--secondary {
    color: var(--ink);
    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(11, 37, 77, 0.38);
}

.page-home-v6 .v6-button--secondary:hover,
.page-home-v6 .v6-button--secondary:focus-visible {
    background: #ffffff;
    border-color: var(--ink);
}

.page-home-v6 .v6-text-link {
    display: inline-flex;
    margin-top: 26px;
    padding-bottom: 7px;
    color: var(--accent);
    border-bottom: 1px solid rgba(237, 87, 14, 0.42);
    font-size: 16px;
    font-weight: 650;
    line-height: 1.4;
}

.page-home-v6 .v6-text-link:hover,
.page-home-v6 .v6-text-link:focus-visible {
    color: #ff7740;
    border-bottom-color: currentColor;
}

/* V6 hero */
.page-home-v6 .v6-hero {
    position: relative;
    height: 700px;
    overflow: hidden;
    isolation: isolate;
    background: #edf3f7;
}

.page-home-v6 .v6-hero__media,
.page-home-v6 .v6-hero__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.page-home-v6 .v6-hero__media img {
    max-width: none;
    object-fit: cover;
    object-position: center;
}

.page-home-v6 .v6-hero__wash {
    position: absolute;
    z-index: 1;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.995) 0%, rgba(255, 255, 255, 0.97) 27%, rgba(255, 255, 255, 0.77) 42%, rgba(255, 255, 255, 0.1) 64%, transparent 82%),
        linear-gradient(0deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.03));
    pointer-events: none;
}

.page-home-v6 .v6-hero__inner {
    position: relative;
    z-index: 2;
    height: 100%;
    padding-top: 90px;
}

.page-home-v6 .v6-hero__copy {
    width: 720px;
    max-width: 58%;
}

.page-home-v6 .v6-hero__label {
    color: var(--accent);
    font-size: 15px;
    font-weight: 680;
    letter-spacing: 0.07em;
    line-height: 1.4;
}

.page-home-v6 .v6-hero h1 {
    width: 720px;
    max-width: 100%;
    margin-top: 22px;
    font-size: 72px;
    font-weight: 730;
    letter-spacing: -0.05em;
    line-height: 1.1;
    word-break: keep-all;
}

.page-home-v6 .v6-hero h1 span {
    display: block;
    white-space: nowrap;
}

.page-home-v6 .v6-hero__subtitle {
    width: 630px;
    max-width: 100%;
    margin-top: 27px;
    color: var(--ink);
    font-size: 23px;
    font-weight: 650;
    line-height: 1.5;
}

.page-home-v6 .v6-hero__body {
    width: 590px;
    max-width: 100%;
    margin-top: 15px;
    color: #465e7a;
    font-size: 18px;
    line-height: 1.78;
}

.page-home-v6 .v6-hero__actions {
    display: flex;
    gap: 14px;
    margin-top: 32px;
}

/* V6 product and technology */
.page-home-v6 .v6-technology {
    background: #ffffff;
}

.page-home-v6 .v6-technology__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: #d8e0e9;
}

.page-home-v6 .v6-technology-card {
    min-width: 0;
    min-height: 230px;
    padding: 34px 34px 32px;
    background: #f7f9fb;
}

.page-home-v6 .v6-technology-card > span {
    color: var(--accent);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1;
}

.page-home-v6 .v6-technology-card h3 {
    margin-top: 30px;
    font-size: 27px;
    font-weight: 680;
    letter-spacing: -0.025em;
    line-height: 1.3;
}

.page-home-v6 .v6-technology-card p {
    margin-top: 17px;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.75;
}

.page-home-v6 .v6-technology__visual {
    position: relative;
    height: 430px;
    margin-top: 32px;
    overflow: hidden;
    background: #1a2430;
}

.page-home-v6 .v6-technology__picture,
.page-home-v6 .v6-technology__picture img {
    width: 100%;
    height: 100%;
}

.page-home-v6 .v6-technology__picture img {
    object-fit: cover;
    object-position: center 50%;
    filter: saturate(0.78) contrast(1.02);
}

/* V6 AutoMetro */
.page-home-v6 .v6-autometro {
    padding-top: 100px;
    background: #f4f7fa;
}

.page-home-v6 .v6-autometro__header {
    display: grid;
    grid-template-columns: 1.25fr 0.75fr;
    gap: 104px;
    align-items: end;
    margin-bottom: 50px;
}

.page-home-v6 .v6-autometro__copy h2 {
    margin-top: 13px;
    font-size: 64px;
    font-weight: 710;
    letter-spacing: -0.055em;
    line-height: 1.18;
}

.page-home-v6 .v6-autometro__subtitle {
    margin-top: 4px;
    color: #24456f;
    font-size: 23px;
    font-weight: 620;
    line-height: 1.5;
}

.page-home-v6 .v6-autometro__body {
    max-width: 680px;
    margin-top: 22px;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.78;
}

.page-home-v6 .v6-result-list {
    align-self: end;
    border-top: 1px solid #cfd8e3;
}

.page-home-v6 .v6-result-list li {
    padding: 18px 0;
    color: #324a68;
    border-bottom: 1px solid #dbe3eb;
    font-size: 15px;
    line-height: 1.5;
}

.page-home-v6 .v6-result-list li::before {
    width: 5px;
    height: 5px;
    display: inline-block;
    margin: 0 12px 2px 0;
    background: var(--accent);
    content: "";
}

.page-home-v6 .v6-autometro__visual {
    height: 520px;
    overflow: hidden;
    background: #dce3e9;
}

.page-home-v6 .v6-autometro__picture,
.page-home-v6 .v6-autometro__picture img {
    width: 100%;
    height: 100%;
}

.page-home-v6 .v6-autometro__picture img {
    object-fit: cover;
    object-position: center 53%;
    filter: saturate(0.77) contrast(1.02);
}

/* V6 applications */
.page-home-v6 .v6-applications {
    background: #ffffff;
}

.page-home-v6 .v6-applications__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.page-home-v6 .v6-application-card {
    position: relative;
    min-width: 0;
    height: 580px;
    overflow: hidden;
    isolation: isolate;
    background: #06142d;
}

.page-home-v6 .v6-application-card__picture,
.page-home-v6 .v6-application-card__picture img {
    width: 100%;
    height: 100%;
}

.page-home-v6 .v6-application-card__picture img {
    object-fit: cover;
    object-position: 58% center;
    filter: saturate(0.76) brightness(0.78) contrast(1.05);
}

.page-home-v6 .v6-application-card--2 .v6-application-card__picture img {
    filter: saturate(0.78) contrast(1.02);
}

.page-home-v6 .v6-application-card__shade {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(0deg, rgba(4, 16, 36, 0.94) 0%, rgba(4, 16, 36, 0.66) 30%, rgba(4, 16, 36, 0.06) 72%);
    pointer-events: none;
}

.page-home-v6 .v6-application-card__content {
    position: absolute;
    z-index: 2;
    right: 42px;
    bottom: 40px;
    left: 42px;
    color: #ffffff;
}

.page-home-v6 .v6-application-card__content > span {
    color: #ff7740;
    font-size: 13px;
    font-weight: 680;
    letter-spacing: 0.08em;
    line-height: 1.3;
}

.page-home-v6 .v6-application-card h3 {
    margin-top: 13px;
    color: #ffffff;
    font-size: 34px;
    font-weight: 680;
    letter-spacing: -0.035em;
    line-height: 1.25;
}

.page-home-v6 .v6-application-card p {
    max-width: 510px;
    margin-top: 16px;
    color: #d5dfec;
    font-size: 16px;
    line-height: 1.72;
}

.page-home-v6 .v6-application-card a {
    display: inline-flex;
    margin-top: 20px;
    padding-bottom: 5px;
    color: #ff7740;
    border-bottom: 1px solid rgba(255, 119, 64, 0.5);
    font-size: 15px;
    font-weight: 650;
    line-height: 1.4;
}

.page-home-v6 .v6-application-card a:hover,
.page-home-v6 .v6-application-card a:focus-visible {
    border-bottom-color: currentColor;
}

/* V6 about and contact */
.page-home-v6 .v6-about {
    padding: 94px 0 98px;
    color: #ffffff;
    background: #06142d;
}

.page-home-v6 .v6-about__inner {
    display: grid;
    grid-template-columns: 1.35fr 0.65fr;
    gap: 110px;
    align-items: center;
}

.page-home-v6 .v6-about__copy h2 {
    margin-top: 14px;
    color: #ffffff;
    font-size: 52px;
    font-weight: 710;
    letter-spacing: -0.045em;
    line-height: 1.18;
}

.page-home-v6 .v6-about__copy > p:not(.v6-kicker) {
    max-width: 760px;
    margin-top: 25px;
    color: #c8d5e6;
    font-size: 19px;
    line-height: 1.8;
}

.page-home-v6 .v6-about__topics {
    border-top: 1px solid rgba(212, 224, 240, 0.22);
}

.page-home-v6 .v6-about__topics span {
    display: block;
    padding: 20px 0;
    color: #f4f7fb;
    border-bottom: 1px solid rgba(212, 224, 240, 0.18);
    font-size: 18px;
    line-height: 1.4;
}

.page-home-v6 .v6-about__topics span::before {
    width: 5px;
    height: 5px;
    display: inline-block;
    margin: 0 13px 3px 0;
    background: var(--accent);
    content: "";
}

.page-home-v6 .v6-contact {
    padding: 84px 0 82px;
    background: #ffffff;
}

.page-home-v6 .v6-contact__inner {
    min-height: 258px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 54px;
    padding: 0 54px;
    background: #eef2f6;
}

.page-home-v6 .v6-contact h2 {
    font-size: 48px;
    font-weight: 710;
    letter-spacing: -0.045em;
    line-height: 1.18;
}

.page-home-v6 .v6-contact p {
    max-width: 850px;
    margin-top: 19px;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.72;
}

.page-home-v6 .v6-contact__cta {
    min-width: 176px;
    height: 56px;
    flex: 0 0 auto;
}

/* V6 footer; explicitly restores the footer hidden by the legacy page-home. */
.page-home-v6 .site-footer {
    display: block;
    padding: 58px 0 28px;
    color: #ffffff;
    background: #06142d;
}

.page-home-v6 .site-footer > .shell {
    width: min(calc(100% - 96px), 1280px);
}

.page-home-v6 .v6-footer-main {
    display: grid;
    grid-template-columns: 1fr 1.5fr 1fr;
    align-items: center;
    gap: 36px;
    padding-bottom: 42px;
}

.page-home-v6 .brand-footer {
    color: #ffffff;
}

.page-home-v6 .brand-footer .brand-name {
    font-size: 28px;
}

.page-home-v6 .brand-footer .brand-cn {
    color: #dce5f1;
    font-size: 14px;
}

.page-home-v6 .footer-tagline {
    margin-top: 12px;
    color: #8295ae;
    font-size: 13px;
    line-height: 1.6;
}

.page-home-v6 .v6-footer-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 34px;
}

.page-home-v6 .v6-footer-nav a {
    color: #d8e2ef;
    font-size: 13px;
}

.page-home-v6 .v6-footer-email {
    justify-self: end;
    color: #ffffff;
    font-size: 14px;
}

.page-home-v6 .v6-footer-nav a:hover,
.page-home-v6 .v6-footer-nav a:focus-visible,
.page-home-v6 .v6-footer-email:hover,
.page-home-v6 .v6-footer-email:focus-visible {
    color: #ff7740;
}

.page-home-v6 .footer-bottom {
    color: rgba(255, 255, 255, 0.46);
    border-top-color: rgba(255, 255, 255, 0.14);
}

@media (max-width: 1100px) {
    .page-home-v6 .shell,
    .page-home-v6 .site-footer > .shell {
        width: calc(100% - 64px);
    }

    .page-home-v6 .nav-shell {
        width: calc(100% - 64px);
        gap: 24px;
    }

    .page-home-v6 .desktop-nav {
        gap: 26px;
    }

    .page-home-v6 .v6-hero__copy {
        max-width: 62%;
    }

    .page-home-v6 .v6-hero h1 {
        font-size: 64px;
    }

    .page-home-v6 .v6-section-heading {
        gap: 64px;
    }

    .page-home-v6 .v6-autometro__header {
        gap: 64px;
    }

    .page-home-v6 .v6-about__inner {
        gap: 72px;
    }

    .page-home-v6 .v6-footer-main {
        grid-template-columns: 1fr 1.35fr 1fr;
        gap: 24px;
    }

    .page-home-v6 .v6-footer-nav {
        gap: 20px;
    }
}

@media (max-width: 980px) {
    .page-home-v6 .nav-shell > .nav-actions {
        grid-column: 3;
    }

    .page-home-v6 .mobile-menu {
        top: 82px;
        color: var(--ink);
        background: #ffffff;
        border-top-color: rgba(11, 37, 77, 0.12);
    }

    .page-home-v6 .mobile-menu-inner > a {
        color: var(--ink);
        border-bottom-color: rgba(11, 37, 77, 0.14);
    }

    .page-home-v6 .mobile-menu .button {
        color: #ffffff;
        background: var(--accent);
        border-radius: 0;
    }

    .page-home-v6 .v6-hero__copy {
        width: min(650px, 72%);
        max-width: none;
    }

    .page-home-v6 .v6-hero h1 {
        font-size: 60px;
    }

    .page-home-v6 .v6-section-heading {
        grid-template-columns: 1fr;
        gap: 20px;
        align-items: start;
        margin-bottom: 36px;
    }

    .page-home-v6 .v6-section-heading > p {
        max-width: 680px;
        justify-self: start;
    }

    .page-home-v6 .v6-technology__grid {
        grid-template-columns: 1fr;
    }

    .page-home-v6 .v6-technology-card {
        min-height: 0;
    }

    .page-home-v6 .v6-autometro__header {
        grid-template-columns: 1fr;
        gap: 42px;
        align-items: start;
    }

    .page-home-v6 .v6-result-list {
        width: 100%;
    }

    .page-home-v6 .v6-applications__grid {
        grid-template-columns: 1fr;
    }

    .page-home-v6 .v6-application-card {
        height: 560px;
    }

    .page-home-v6 .v6-about__inner {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .page-home-v6 .v6-contact__inner {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        gap: 32px;
        padding-block: 44px;
    }

    .page-home-v6 .v6-footer-main {
        grid-template-columns: 1fr;
        justify-items: start;
        gap: 28px;
    }

    .page-home-v6 .v6-footer-nav {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .page-home-v6 .v6-footer-email {
        justify-self: start;
    }
}

@media (max-width: 760px) {
    body.page-home-v6 {
        font-size: 16px;
    }

    .page-home-v6 .shell,
    .page-home-v6 .site-footer > .shell,
    .page-home-v6 .nav-shell {
        width: calc(100% - 40px);
    }

    .page-home-v6 .site-header {
        height: 72px;
    }

    .page-home-v6 .nav-shell {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 16px;
    }

    .page-home-v6 .nav-shell > .brand {
        grid-column: 1;
    }

    .page-home-v6 .nav-shell > .nav-actions {
        grid-column: 2;
    }

    .page-home-v6 .brand-name {
        font-size: 22px;
    }

    .page-home-v6 .brand-cn {
        padding-left: 9px;
        font-size: 13px;
    }

    .page-home-v6 .mobile-menu {
        top: 72px;
    }

    .page-home-v6 .v6-section {
        padding: 74px 0 80px;
    }

    .page-home-v6 .v6-section-heading h2,
    .page-home-v6 .v6-about__copy h2 {
        font-size: clamp(38px, 10vw, 48px);
    }

    .page-home-v6 .v6-section-heading > p,
    .page-home-v6 .v6-autometro__body,
    .page-home-v6 .v6-about__copy > p:not(.v6-kicker),
    .page-home-v6 .v6-contact p {
        font-size: 16px;
        line-height: 1.72;
    }

    .page-home-v6 .v6-hero {
        height: auto;
        min-height: 650px;
    }

    .page-home-v6 .v6-hero__media img {
        object-position: 62% center;
    }

    .page-home-v6 .v6-hero__wash {
        background:
            linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.9) 48%, rgba(255, 255, 255, 0.38) 78%, rgba(255, 255, 255, 0.08) 100%),
            linear-gradient(0deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.12));
    }

    .page-home-v6 .v6-hero__inner {
        min-height: 650px;
        padding-top: 70px;
        padding-bottom: 68px;
    }

    .page-home-v6 .v6-hero__copy {
        width: 100%;
    }

    .page-home-v6 .v6-hero h1 {
        width: 100%;
        margin-top: 18px;
        font-size: clamp(40px, 12vw, 54px);
        line-height: 1.12;
    }

    .page-home-v6 .v6-hero__subtitle {
        margin-top: 24px;
        font-size: 19px;
    }

    .page-home-v6 .v6-hero__body {
        margin-top: 14px;
        font-size: 16px;
        line-height: 1.7;
    }

    .page-home-v6 .v6-hero__actions {
        flex-wrap: wrap;
        margin-top: 28px;
    }

    .page-home-v6 .v6-hero__actions .v6-button {
        flex: 1 1 150px;
    }

    .page-home-v6 .v6-section-heading {
        margin-bottom: 30px;
    }

    .page-home-v6 .v6-technology-card {
        padding: 28px 26px;
    }

    .page-home-v6 .v6-technology-card h3 {
        margin-top: 22px;
        font-size: 24px;
    }

    .page-home-v6 .v6-technology__visual,
    .page-home-v6 .v6-autometro__visual {
        height: auto;
        aspect-ratio: 4 / 3;
    }

    .page-home-v6 .v6-autometro {
        padding-top: 74px;
    }

    .page-home-v6 .v6-autometro__header {
        gap: 36px;
        margin-bottom: 36px;
    }

    .page-home-v6 .v6-autometro__copy h2 {
        font-size: clamp(46px, 13vw, 58px);
    }

    .page-home-v6 .v6-autometro__subtitle {
        font-size: 20px;
    }

    .page-home-v6 .v6-result-list li {
        padding: 15px 0;
    }

    .page-home-v6 .v6-applications__grid {
        gap: 20px;
    }

    .page-home-v6 .v6-application-card {
        height: 520px;
    }

    .page-home-v6 .v6-application-card__content {
        right: 26px;
        bottom: 28px;
        left: 26px;
    }

    .page-home-v6 .v6-application-card h3 {
        font-size: 29px;
    }

    .page-home-v6 .v6-application-card p {
        font-size: 15px;
    }

    .page-home-v6 .v6-about {
        padding: 74px 0 80px;
    }

    .page-home-v6 .v6-about__inner {
        gap: 40px;
    }

    .page-home-v6 .v6-about__topics span {
        padding: 17px 0;
        font-size: 16px;
    }

    .page-home-v6 .v6-contact {
        padding: 58px 0;
    }

    .page-home-v6 .v6-contact__inner {
        min-height: 0;
        gap: 28px;
        padding: 36px 24px;
    }

    .page-home-v6 .v6-contact h2 {
        font-size: clamp(34px, 9vw, 43px);
    }

    .page-home-v6 .v6-contact__cta {
        width: 100%;
    }

    .page-home-v6 .site-footer {
        padding-top: 48px;
    }

    .page-home-v6 .v6-footer-main {
        padding-bottom: 34px;
    }

    .page-home-v6 .footer-bottom,
    .page-home-v6 .filing-links {
        align-items: flex-start;
        flex-direction: column;
    }

    .page-home-v6 .footer-bottom {
        gap: 18px;
    }

    .page-home-v6 .filing-links {
        gap: 12px;
    }
}

@media (max-width: 430px) {
    .page-home-v6 .v6-hero {
        min-height: 680px;
    }

    .page-home-v6 .v6-hero__inner {
        min-height: 680px;
        padding-top: 58px;
    }

    .page-home-v6 .v6-hero__actions {
        flex-direction: column;
    }

    .page-home-v6 .v6-hero__actions .v6-button {
        width: 100%;
        flex: 0 0 52px;
    }

    .page-home-v6 .v6-application-card {
        height: 500px;
    }

    .page-home-v6 .v6-footer-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .page-home-v6 .footer-bottom,
    .page-home-v6 .footer-bottom a {
        overflow-wrap: anywhere;
    }
}

@media (prefers-reduced-motion: reduce) {
    .page-home-v6 .site-header,
    .page-home-v6 .v6-button {
        transition: none;
    }
}

/* ========================================================================== */
/* Homepage V9 — approved six-screen 1440 × 810 desktop composition          */
/* ========================================================================== */

body.page-home-v9 {
    --paper: #ffffff;
    --warm: #f4f7fa;
    --white: #ffffff;
    --ink: #0b254d;
    --ink-2: #24456f;
    --muted: #5c6d84;
    --navy: #071a39;
    --navy-2: #06142d;
    --accent: #ed570e;
    --accent-hover: #d94c08;
    --line: rgba(11, 37, 77, 0.14);
    --line-strong: rgba(11, 37, 77, 0.38);
    --shell: 1280px;
    --nav-height: 82px;
    color: var(--ink);
    background: #ffffff;
    font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
    font-size: 18px;
    line-height: 1.72;
    overflow-x: clip;
    scroll-snap-type: none;
}

@supports selector(:has(body.page-home-v9)) {
    html:has(body.page-home-v9) {
        overflow-x: clip;
        scroll-padding-top: 0;
        scroll-snap-type: none !important;
    }
}

.page-home-v9 main {
    overflow-x: clip;
    background: #ffffff;
}

.page-home-v9 main > section {
    scroll-snap-align: none;
    scroll-snap-stop: normal;
}

.page-home-v9 main > [id] {
    scroll-margin-top: 0;
}

.page-home-v9 h1,
.page-home-v9 h2,
.page-home-v9 h3 {
    color: var(--ink);
    font-family: inherit;
}

.page-home-v9 .shell {
    width: min(calc(100% - 96px), 1280px);
}

/* V9 shared header */
.page-home-v9 .site-header {
    position: relative;
    z-index: 100;
    top: auto;
    right: auto;
    left: auto;
    height: 82px;
    color: var(--ink);
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid rgba(11, 37, 77, 0.09);
    box-shadow: none;
}

.page-home-v9 .site-header.is-scrolled,
.page-home-v9 .site-header.menu-open {
    color: var(--ink);
    background: rgba(255, 255, 255, 0.98);
    border-bottom-color: rgba(11, 37, 77, 0.12);
    box-shadow: none;
    backdrop-filter: none;
}

.page-home-v9 .nav-shell {
    width: calc(100% - 96px);
    max-width: none;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 32px;
}

.page-home-v9 .nav-shell > .brand {
    grid-column: 1;
    justify-self: start;
}

.page-home-v9 .nav-shell > .desktop-nav {
    grid-column: 2;
}

.page-home-v9 .nav-shell > .nav-actions {
    grid-column: 3;
    justify-self: end;
}

.page-home-v9 .brand,
.page-home-v9 .nav-link,
.page-home-v9 .menu-toggle {
    color: var(--ink);
}

.page-home-v9 .brand {
    gap: 11px;
}

.page-home-v9 .brand-name {
    font-size: 30px;
    font-weight: 720;
    letter-spacing: 0.08em;
}

.page-home-v9 .brand-cn {
    padding-left: 11px;
    color: #8c99aa;
    font-size: 16px;
    font-weight: 650;
}

.page-home-v9 .desktop-nav {
    gap: 36px;
}

.page-home-v9 .nav-link {
    min-height: 42px;
    color: #29415f;
    font-size: 15px;
    font-weight: 600;
}

.page-home-v9 .nav-link:hover,
.page-home-v9 .nav-link.is-current {
    color: var(--ink);
}

.page-home-v9 .nav-link::after {
    background: var(--accent);
}

.page-home-v9 .nav-contact {
    min-width: 118px;
    min-height: 46px;
    padding: 13px 21px;
    color: #ffffff;
    background: var(--accent);
    border: 0;
    border-radius: 0;
    font-size: 15px;
    font-weight: 650;
}

.page-home-v9 .nav-contact:hover,
.page-home-v9 .nav-contact:focus-visible {
    background: var(--accent-hover);
}

/* V9 shared type and actions */
.page-home-v9 .v9-kicker {
    margin: 0;
    color: var(--accent);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.3;
}

.page-home-v9 .v9-kicker--dark {
    color: #ff7740;
}

.page-home-v9 .v9-button {
    min-width: 162px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 28px;
    border: 1px solid transparent;
    border-radius: 0;
    font-size: 16px;
    font-weight: 650;
    line-height: 1.2;
    text-align: center;
    transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.page-home-v9 .v9-button--primary {
    color: #ffffff;
    background: var(--accent);
}

.page-home-v9 .v9-button--primary:hover,
.page-home-v9 .v9-button--primary:focus-visible {
    background: var(--accent-hover);
}

.page-home-v9 .v9-button--secondary {
    color: var(--ink);
    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(11, 37, 77, 0.38);
}

.page-home-v9 .v9-button--secondary:hover,
.page-home-v9 .v9-button--secondary:focus-visible {
    background: #ffffff;
    border-color: var(--ink);
}

.page-home-v9 .v9-text-link {
    display: inline-flex;
    margin-top: 10px;
    padding-bottom: 5px;
    color: var(--accent);
    border-bottom: 1px solid rgba(237, 87, 14, 0.42);
    font-size: 15px;
    font-weight: 650;
    line-height: 1.4;
}

.page-home-v9 .v9-text-link:hover,
.page-home-v9 .v9-text-link:focus-visible {
    color: #ff7740;
    border-bottom-color: currentColor;
}

/* Screen 01: header 82px + hero 728px. */
.page-home-v9 .v9-hero {
    position: relative;
    height: 728px;
    overflow: hidden;
    isolation: isolate;
    background: #edf3f7;
}

.page-home-v9 .v9-hero__media,
.page-home-v9 .v9-hero__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.page-home-v9 .v9-hero__media img {
    max-width: none;
    object-fit: cover;
    object-position: center 50%;
}

.page-home-v9 .v9-hero__wash {
    position: absolute;
    z-index: 1;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.995) 0%, rgba(255, 255, 255, 0.97) 27%, rgba(255, 255, 255, 0.76) 38%, rgba(255, 255, 255, 0.22) 50%, rgba(255, 255, 255, 0.02) 62%, transparent 70%),
        linear-gradient(0deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.03));
    pointer-events: none;
}

.page-home-v9 .v9-hero__inner {
    position: relative;
    z-index: 2;
    height: 100%;
    padding-top: 86px;
}

.page-home-v9 .v9-hero__copy {
    width: 720px;
    max-width: 58%;
}

.page-home-v9 .v9-hero__label {
    color: var(--accent);
    font-size: 15px;
    font-weight: 680;
    letter-spacing: 0.07em;
    line-height: 1.4;
}

.page-home-v9 .v9-hero h1 {
    width: 720px;
    max-width: 100%;
    margin-top: 22px;
    font-size: 62px;
    font-weight: 730;
    letter-spacing: -0.05em;
    line-height: 1.14;
    word-break: keep-all;
}

.page-home-v9 .v9-hero h1 span,
.page-home-v9 .v9-low-altitude h2 span,
.page-home-v9 .v9-semiconductor h2 span {
    display: block;
    white-space: nowrap;
}

.page-home-v9 .v9-hero__subtitle {
    width: 630px;
    max-width: 100%;
    margin-top: 30px;
    color: var(--ink);
    font-size: 20px;
    font-weight: 650;
    line-height: 1.5;
}

.page-home-v9 .v9-hero__body {
    width: 590px;
    max-width: 100%;
    margin-top: 11px;
    color: #465e7a;
    font-size: 17px;
    line-height: 1.78;
}

.page-home-v9 .v9-hero__actions {
    display: flex;
    gap: 14px;
    margin-top: 30px;
}

/* Screen 02: product and technology. */
.page-home-v9 .v9-technology {
    height: 810px;
    display: grid;
    grid-template-rows: 92px 162px 428px;
    row-gap: 20px;
    padding: 44px 0;
    overflow: hidden;
    background: #ffffff;
}

.page-home-v9 .v9-technology__header {
    height: 92px;
}

.page-home-v9 .v9-technology__header h2 {
    margin-top: 14px;
    font-size: 52px;
    font-weight: 710;
    letter-spacing: -0.045em;
    line-height: 1.18;
}

.page-home-v9 .v9-technology__grid {
    height: 162px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: #d8e0e9;
}

.page-home-v9 .v9-technology-card {
    min-width: 0;
    height: 100%;
    padding: 20px 34px 18px;
    background: #f7f9fb;
}

.page-home-v9 .v9-technology-card > span {
    color: var(--accent);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1;
}

.page-home-v9 .v9-technology-card h3 {
    margin-top: 15px;
    font-size: 27px;
    font-weight: 680;
    letter-spacing: -0.025em;
    line-height: 1.3;
}

.page-home-v9 .v9-technology-card p {
    margin-top: 9px;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.75;
}

.page-home-v9 .v9-technology__visual {
    height: 428px;
    overflow: hidden;
    background: #1a2430;
}

.page-home-v9 .v9-technology__picture,
.page-home-v9 .v9-technology__picture img,
.page-home-v9 .v9-autometro__picture,
.page-home-v9 .v9-autometro__picture img,
.page-home-v9 .v9-semiconductor__picture,
.page-home-v9 .v9-semiconductor__picture img {
    width: 100%;
    height: 100%;
}

.page-home-v9 .v9-technology__picture img {
    object-fit: cover;
    object-position: center 50%;
    filter: saturate(1.04) contrast(1.05);
}

/* Screen 03: AutoMetro. */
.page-home-v9 .v9-autometro {
    height: 810px;
    display: grid;
    grid-template-rows: 244px 456px;
    row-gap: 22px;
    padding: 44px 0;
    overflow: hidden;
    background: #f4f7fa;
}

.page-home-v9 .v9-autometro__header {
    height: 244px;
    display: grid;
    grid-template-columns: 1.25fr 0.75fr;
    gap: 104px;
    align-items: center;
}

.page-home-v9 .v9-autometro__copy h2 {
    margin-top: 8px;
    font-size: 56px;
    font-weight: 710;
    letter-spacing: -0.055em;
    line-height: 1.06;
}

.page-home-v9 .v9-autometro__subtitle {
    margin-top: 1px;
    color: #24456f;
    font-size: 21px;
    font-weight: 620;
    line-height: 1.4;
}

.page-home-v9 .v9-autometro__body {
    max-width: 680px;
    margin-top: 12px;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.55;
}

.page-home-v9 .v9-result-list {
    align-self: end;
    border-top: 1px solid #cfd8e3;
}

.page-home-v9 .v9-result-list li {
    padding: 14px 0;
    color: #324a68;
    border-bottom: 1px solid #dbe3eb;
    font-size: 15px;
    line-height: 1.5;
}

.page-home-v9 .v9-result-list li::before {
    width: 5px;
    height: 5px;
    display: inline-block;
    margin: 0 12px 2px 0;
    background: var(--accent);
    content: "";
}

.page-home-v9 .v9-autometro__visual {
    height: 456px;
    overflow: hidden;
    background: #dce3e9;
}

.page-home-v9 .v9-autometro__picture img {
    object-fit: cover;
    object-position: center 53%;
    filter: saturate(1.04) contrast(1.05);
}

/* Screen 04: low-altitude embodied intelligence. */
.page-home-v9 .v9-low-altitude {
    position: relative;
    height: 810px;
    overflow: hidden;
    isolation: isolate;
    color: #ffffff;
    background: #06142d;
}

.page-home-v9 .v9-low-altitude__media,
.page-home-v9 .v9-low-altitude__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.page-home-v9 .v9-low-altitude__media img {
    max-width: none;
    object-fit: cover;
    object-position: center 46%;
    filter: saturate(1.03) contrast(1.05);
}

.page-home-v9 .v9-low-altitude__shade {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(90deg, rgba(5, 18, 40, 0.99) 0%, rgba(5, 18, 40, 0.93) 27%, rgba(5, 18, 40, 0.34) 48%, rgba(5, 18, 40, 0.04) 76%);
    pointer-events: none;
}

.page-home-v9 .v9-low-altitude__inner {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    align-items: center;
}

.page-home-v9 .v9-low-altitude__copy {
    width: 650px;
}

.page-home-v9 .v9-low-altitude h2 {
    margin-top: 18px;
    color: #ffffff;
    font-size: 56px;
    font-weight: 710;
    letter-spacing: -0.045em;
    line-height: 1.18;
}

.page-home-v9 .v9-low-altitude__copy > p:not(.v9-kicker) {
    max-width: 620px;
    margin-top: 26px;
    color: #d4dfed;
    font-size: 19px;
    line-height: 1.78;
}

/* Screen 05: Fab planning. */
.page-home-v9 .v9-semiconductor {
    height: 810px;
    display: grid;
    grid-template-rows: 156px 544px;
    row-gap: 22px;
    padding: 44px 0;
    overflow: hidden;
    background: #ffffff;
}

.page-home-v9 .v9-semiconductor__intro {
    height: 156px;
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 112px;
    align-items: end;
}

.page-home-v9 .v9-semiconductor__heading h2 {
    margin-top: 15px;
    font-size: 52px;
    font-weight: 710;
    letter-spacing: -0.045em;
    line-height: 1.18;
}

.page-home-v9 .v9-semiconductor__intro > p {
    max-width: 500px;
    padding-bottom: 4px;
    color: var(--muted);
    font-size: 19px;
    line-height: 1.78;
}

.page-home-v9 .v9-semiconductor__visual {
    height: 544px;
    overflow: hidden;
    background: #eef1f4;
}

.page-home-v9 .v9-semiconductor__picture img {
    object-fit: cover;
    object-position: center 50%;
    filter: saturate(1.04) contrast(1.04);
}

/* Screen 06: 570px contact + 240px shared legal footer. */
.page-home-v9 .v9-contact {
    height: 570px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #ffffff;
}

.page-home-v9 .v9-contact__inner {
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 54px;
    padding: 0 54px;
    background: #eef2f6;
}

.page-home-v9 .v9-contact h2 {
    font-size: 48px;
    font-weight: 710;
    letter-spacing: -0.045em;
    line-height: 1.18;
}

.page-home-v9 .v9-contact p {
    max-width: 850px;
    margin-top: 19px;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.72;
}

.page-home-v9 .v9-contact__cta {
    min-width: 176px;
    height: 56px;
    flex: 0 0 auto;
}

.page-home-v9 .site-footer {
    display: block;
    height: 240px;
    padding: 0;
    overflow: hidden;
    color: #ffffff;
    background: #06142d;
}

.page-home-v9 .site-footer > .shell {
    width: min(calc(100% - 96px), 1280px);
    height: 100%;
    display: grid;
    grid-template-rows: 162px 78px;
}

.page-home-v9 .v9-footer-main {
    display: grid;
    grid-template-columns: 1fr 1.5fr 1fr;
    align-items: center;
    gap: 36px;
}

.page-home-v9 .brand-footer {
    color: #ffffff;
}

.page-home-v9 .brand-footer .brand-name {
    font-size: 28px;
}

.page-home-v9 .brand-footer .brand-cn {
    color: #dce5f1;
    font-size: 14px;
}

.page-home-v9 .footer-tagline {
    margin-top: 12px;
    color: #8295ae;
    font-size: 13px;
    line-height: 1.6;
}

.page-home-v9 .v9-footer-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 34px;
}

.page-home-v9 .v9-footer-nav a {
    color: #d8e2ef;
    font-size: 13px;
}

.page-home-v9 .v9-footer-email {
    justify-self: end;
    color: #ffffff;
    font-size: 14px;
}

.page-home-v9 .v9-footer-nav a:hover,
.page-home-v9 .v9-footer-nav a:focus-visible,
.page-home-v9 .v9-footer-email:hover,
.page-home-v9 .v9-footer-email:focus-visible {
    color: #ff7740;
}

.page-home-v9 .footer-bottom {
    height: 78px;
    padding: 0;
    color: rgba(255, 255, 255, 0.46);
    border-top-color: rgba(255, 255, 255, 0.14);
    font-size: 11px;
}

@media (max-width: 1100px) {
    @supports selector(:has(body.page-home-v9)) {
        html:has(body.page-home-v9) {
            scroll-padding-top: 82px;
        }
    }

    .page-home-v9 main > [id] {
        scroll-margin-top: 106px;
    }

    .page-home-v9 .shell,
    .page-home-v9 .site-footer > .shell {
        width: calc(100% - 64px);
    }

    .page-home-v9 .site-header {
        position: sticky;
        top: 0;
        box-shadow: 0 8px 24px rgba(7, 26, 57, 0.04);
    }

    .page-home-v9 .nav-shell {
        width: calc(100% - 64px);
        gap: 20px;
    }

    .page-home-v9 .desktop-nav {
        gap: 20px;
    }

    .page-home-v9 .nav-link {
        font-size: 14px;
    }

    .page-home-v9 .v9-hero {
        height: auto;
        min-height: 690px;
    }

    .page-home-v9 .v9-hero__inner {
        min-height: 690px;
        padding-top: 78px;
        padding-bottom: 68px;
    }

    .page-home-v9 .v9-hero__copy {
        width: min(620px, 64%);
        max-width: none;
    }

    .page-home-v9 .v9-hero h1 {
        font-size: 54px;
    }

    .page-home-v9 .v9-technology,
    .page-home-v9 .v9-autometro,
    .page-home-v9 .v9-semiconductor {
        height: auto;
        display: block;
        padding: 76px 0;
        overflow: visible;
    }

    .page-home-v9 .v9-technology__header,
    .page-home-v9 .v9-technology__grid,
    .page-home-v9 .v9-autometro__header,
    .page-home-v9 .v9-semiconductor__intro {
        height: auto;
    }

    .page-home-v9 .v9-technology__grid {
        margin-top: 34px;
    }

    .page-home-v9 .v9-technology__visual,
    .page-home-v9 .v9-autometro__visual,
    .page-home-v9 .v9-semiconductor__visual {
        height: auto;
        margin-top: 24px;
        aspect-ratio: 16 / 9;
    }

    .page-home-v9 .v9-autometro__header {
        gap: 64px;
        margin-bottom: 36px;
    }

    .page-home-v9 .v9-low-altitude {
        height: 700px;
    }

    .page-home-v9 .v9-semiconductor__intro {
        gap: 64px;
    }

    .page-home-v9 .v9-contact {
        height: auto;
        min-height: 520px;
        padding: 80px 0;
    }

    .page-home-v9 .v9-contact__inner {
        height: auto;
        min-height: 280px;
    }

    .page-home-v9 .site-footer {
        height: auto;
        overflow: visible;
    }

    .page-home-v9 .site-footer > .shell {
        height: auto;
        display: block;
    }

    .page-home-v9 .v9-footer-main {
        min-height: 164px;
        grid-template-columns: 1fr 1.35fr 1fr;
        gap: 24px;
    }

    .page-home-v9 .v9-footer-nav {
        gap: 20px;
    }

    .page-home-v9 .footer-bottom {
        height: auto;
        min-height: 78px;
        padding: 18px 0;
    }
}

@media (max-width: 980px) {
    .page-home-v9 .nav-shell > .nav-actions {
        grid-column: 3;
    }

    .page-home-v9 .mobile-menu {
        top: 82px;
        color: var(--ink);
        background: #ffffff;
        border-top-color: rgba(11, 37, 77, 0.12);
    }

    .page-home-v9 .mobile-menu-inner > a {
        color: var(--ink);
        border-bottom-color: rgba(11, 37, 77, 0.14);
    }

    .page-home-v9 .mobile-menu .button {
        color: #ffffff;
        background: var(--accent);
        border-radius: 0;
    }

    .page-home-v9 .v9-hero__copy {
        width: min(600px, 72%);
    }

    .page-home-v9 .v9-hero h1 {
        font-size: 50px;
    }

    .page-home-v9 .v9-technology__grid {
        grid-template-columns: 1fr;
    }

    .page-home-v9 .v9-technology-card {
        height: auto;
        min-height: 150px;
    }

    .page-home-v9 .v9-autometro__header {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .page-home-v9 .v9-result-list {
        width: 100%;
    }

    .page-home-v9 .v9-semiconductor__intro {
        grid-template-columns: 1fr;
        gap: 24px;
        align-items: start;
    }

    .page-home-v9 .v9-semiconductor__intro > p {
        max-width: 680px;
        padding: 0;
    }

    .page-home-v9 .v9-contact__inner {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        gap: 32px;
        padding-block: 44px;
    }

    .page-home-v9 .v9-footer-main {
        grid-template-columns: 1fr;
        justify-items: start;
        gap: 24px;
        padding: 44px 0 34px;
    }

    .page-home-v9 .v9-footer-nav {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .page-home-v9 .v9-footer-email {
        justify-self: start;
    }
}

@media (max-width: 760px) {
    body.page-home-v9 {
        --nav-height: 72px;
        font-size: 16px;
    }

    @supports selector(:has(body.page-home-v9)) {
        html:has(body.page-home-v9) {
            scroll-padding-top: 72px;
        }
    }

    .page-home-v9 main > [id] {
        scroll-margin-top: 88px;
    }

    .page-home-v9 .shell,
    .page-home-v9 .site-footer > .shell,
    .page-home-v9 .nav-shell {
        width: calc(100% - 40px);
    }

    .page-home-v9 .site-header {
        height: 72px;
    }

    .page-home-v9 .nav-shell {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 16px;
    }

    .page-home-v9 .nav-shell > .brand {
        grid-column: 1;
    }

    .page-home-v9 .nav-shell > .nav-actions {
        grid-column: 2;
    }

    .page-home-v9 .brand-name {
        font-size: 22px;
    }

    .page-home-v9 .brand-cn {
        padding-left: 9px;
        font-size: 13px;
    }

    .page-home-v9 .mobile-menu {
        top: 72px;
    }

    .page-home-v9 .v9-hero {
        min-height: 730px;
    }

    .page-home-v9 .v9-hero__media img {
        object-position: 58% center;
    }

    .page-home-v9 .v9-hero__wash {
        background:
            linear-gradient(90deg, rgba(255, 255, 255, 0.99) 0%, rgba(255, 255, 255, 0.94) 48%, rgba(255, 255, 255, 0.58) 78%, rgba(255, 255, 255, 0.2) 100%),
            linear-gradient(0deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.12));
    }

    .page-home-v9 .v9-hero__inner {
        min-height: 730px;
        padding-top: 60px;
        padding-bottom: 58px;
    }

    .page-home-v9 .v9-hero__copy {
        width: 100%;
    }

    .page-home-v9 .v9-hero h1 {
        width: 100%;
        margin-top: 18px;
        font-size: clamp(38px, 10.8vw, 46px);
        line-height: 1.13;
        word-break: normal;
        overflow-wrap: anywhere;
    }

    .page-home-v9 .v9-hero h1 span,
    .page-home-v9 .v9-low-altitude h2 span,
    .page-home-v9 .v9-semiconductor h2 span {
        white-space: normal;
    }

    .page-home-v9 .v9-hero__subtitle {
        margin-top: 24px;
        font-size: 18px;
        line-height: 1.65;
    }

    .page-home-v9 .v9-hero__body {
        margin-top: 12px;
        font-size: 16px;
        line-height: 1.7;
    }

    .page-home-v9 .v9-hero__actions {
        flex-wrap: wrap;
        margin-top: 28px;
    }

    .page-home-v9 .v9-hero__actions .v9-button {
        flex: 1 1 150px;
    }

    .page-home-v9 .v9-technology,
    .page-home-v9 .v9-autometro,
    .page-home-v9 .v9-semiconductor {
        padding: 72px 0 78px;
    }

    .page-home-v9 .v9-technology__header h2,
    .page-home-v9 .v9-semiconductor__heading h2 {
        font-size: clamp(38px, 10vw, 48px);
    }

    .page-home-v9 .v9-technology__grid {
        margin-top: 28px;
    }

    .page-home-v9 .v9-technology-card {
        min-height: 0;
        padding: 27px 26px;
    }

    .page-home-v9 .v9-technology-card h3 {
        margin-top: 18px;
        font-size: 24px;
    }

    .page-home-v9 .v9-technology__visual,
    .page-home-v9 .v9-autometro__visual,
    .page-home-v9 .v9-semiconductor__visual {
        margin-top: 22px;
        aspect-ratio: 16 / 9;
    }

    .page-home-v9 .v9-autometro__header {
        margin-bottom: 32px;
    }

    .page-home-v9 .v9-autometro__copy h2 {
        font-size: clamp(46px, 13vw, 58px);
    }

    .page-home-v9 .v9-autometro__subtitle {
        font-size: 20px;
    }

    .page-home-v9 .v9-autometro__body,
    .page-home-v9 .v9-semiconductor__intro > p,
    .page-home-v9 .v9-contact p {
        font-size: 16px;
        line-height: 1.72;
    }

    .page-home-v9 .v9-result-list li {
        padding: 15px 0;
    }

    .page-home-v9 .v9-low-altitude {
        height: 650px;
    }

    .page-home-v9 .v9-low-altitude__media img {
        object-position: 62% center;
    }

    .page-home-v9 .v9-low-altitude__shade {
        background: linear-gradient(90deg, rgba(5, 18, 40, 0.99) 0%, rgba(5, 18, 40, 0.92) 55%, rgba(5, 18, 40, 0.34) 100%);
    }

    .page-home-v9 .v9-low-altitude__copy {
        width: 100%;
    }

    .page-home-v9 .v9-low-altitude h2 {
        margin-top: 16px;
        font-size: clamp(39px, 11vw, 48px);
    }

    .page-home-v9 .v9-low-altitude__copy > p:not(.v9-kicker) {
        margin-top: 22px;
        font-size: 16px;
        line-height: 1.72;
    }

    .page-home-v9 .v9-semiconductor__intro {
        gap: 20px;
    }

    .page-home-v9 .v9-contact {
        min-height: 0;
        padding: 58px 0;
    }

    .page-home-v9 .v9-contact__inner {
        min-height: 0;
        gap: 28px;
        padding: 36px 24px;
    }

    .page-home-v9 .v9-contact h2 {
        font-size: clamp(34px, 9vw, 43px);
    }

    .page-home-v9 .v9-contact__cta {
        width: 100%;
    }

    .page-home-v9 .v9-footer-main {
        padding: 44px 0 34px;
    }

    .page-home-v9 .footer-bottom,
    .page-home-v9 .filing-links {
        align-items: flex-start;
        flex-direction: column;
    }

    .page-home-v9 .footer-bottom {
        gap: 18px;
        padding: 22px 0 28px;
    }

    .page-home-v9 .filing-links {
        gap: 12px;
    }
}

@media (max-width: 430px) {
    .page-home-v9 .v9-hero {
        min-height: 770px;
    }

    .page-home-v9 .v9-hero__inner {
        min-height: 770px;
        padding-top: 52px;
    }

    .page-home-v9 .v9-hero__actions {
        flex-direction: column;
    }

    .page-home-v9 .v9-hero__actions .v9-button {
        width: 100%;
        flex: 0 0 52px;
    }

    .page-home-v9 .v9-footer-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .page-home-v9 .footer-bottom,
    .page-home-v9 .footer-bottom a {
        overflow-wrap: anywhere;
    }
}

@media (prefers-reduced-motion: reduce) {
    .page-home-v9 .site-header,
    .page-home-v9 .v9-button {
        transition: none;
    }
}

/* ========================================================================== */
/* Homepage V9 — viewport paging and native scroll snap                       */
/* ========================================================================== */

body.page-home-v9 {
    --v9-screen-height: 100vh;
    --v9-footer-height: 240px;
    scroll-snap-type: y mandatory;
}

@supports (height: 100svh) {
    body.page-home-v9 {
        --v9-screen-height: 100svh;
    }
}

@supports (height: 100dvh) {
    body.page-home-v9 {
        --v9-screen-height: 100dvh;
    }
}

@supports selector(:has(body.page-home-v9)) {
    html:has(body.page-home-v9) {
        scroll-padding-top: 0;
        scroll-snap-type: y mandatory !important;
    }
}

/* The header and hero share screen one; the header itself is its snap origin. */
.page-home-v9 .site-header {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.page-home-v9 main > [id] {
    scroll-margin-top: 0;
}

.page-home-v9 main > section:not(.v9-hero) {
    width: 100%;
    height: var(--v9-screen-height);
    min-height: var(--v9-screen-height);
    max-height: var(--v9-screen-height);
    overflow: hidden;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.page-home-v9 .v9-hero {
    height: calc(var(--v9-screen-height) - var(--nav-height));
    min-height: calc(var(--v9-screen-height) - var(--nav-height));
    max-height: calc(var(--v9-screen-height) - var(--nav-height));
    scroll-snap-align: none;
    scroll-snap-stop: normal;
}

.page-home-v9 .v9-hero__inner {
    height: 100%;
    min-height: 0;
}

.page-home-v9 main > section.v9-contact {
    height: calc(var(--v9-screen-height) - var(--v9-footer-height));
    min-height: calc(var(--v9-screen-height) - var(--v9-footer-height));
    max-height: calc(var(--v9-screen-height) - var(--v9-footer-height));
}

.page-home-v9 .site-footer {
    height: var(--v9-footer-height);
    min-height: var(--v9-footer-height);
    max-height: var(--v9-footer-height);
    overflow: hidden;
    scroll-snap-align: none;
}

.page-home-v9 .site-footer > .shell {
    height: 100%;
    display: grid;
    grid-template-rows: minmax(0, 1fr) 78px;
}

.page-home-v9 .v9-footer-main {
    height: auto;
    min-height: 0;
}

.page-home-v9 .footer-bottom {
    height: 78px;
    min-height: 0;
}

/* Wide screens preserve the approved 810px composition and let imagery absorb
   any additional or reduced viewport height. */
@media (min-width: 1101px) {
    .page-home-v9 .v9-technology {
        grid-template-rows: 92px 162px minmax(0, 1fr);
    }

    .page-home-v9 .v9-autometro {
        grid-template-rows: 244px minmax(0, 1fr);
    }

    .page-home-v9 .v9-semiconductor {
        grid-template-rows: 156px minmax(0, 1fr);
    }

    .page-home-v9 .v9-technology__visual,
    .page-home-v9 .v9-autometro__visual,
    .page-home-v9 .v9-semiconductor__visual {
        height: 100%;
        min-height: 0;
    }
}

/* Medium layouts return the stacked sections to a bounded grid so each image
   uses the remaining space instead of making the page taller than the viewport. */
@media (min-width: 761px) and (max-width: 1100px) {
    .page-home-v9 .v9-technology,
    .page-home-v9 .v9-autometro,
    .page-home-v9 .v9-semiconductor {
        display: grid;
        padding: 36px 0;
        row-gap: 16px;
    }

    .page-home-v9 .v9-technology__visual,
    .page-home-v9 .v9-autometro__visual,
    .page-home-v9 .v9-semiconductor__visual {
        height: 100%;
        min-height: 0;
        margin-top: 0;
        aspect-ratio: auto;
    }

    .page-home-v9 .v9-autometro__header {
        height: auto;
        margin-bottom: 0;
    }

    .page-home-v9 .v9-semiconductor__intro {
        height: auto;
    }
}

@media (min-width: 981px) and (max-width: 1100px) {
    .page-home-v9 .v9-technology {
        grid-template-rows: 90px 150px minmax(0, 1fr);
    }

    .page-home-v9 .v9-autometro {
        grid-template-rows: 230px minmax(0, 1fr);
    }

    .page-home-v9 .v9-semiconductor {
        grid-template-rows: 150px minmax(0, 1fr);
    }
}

@media (min-width: 761px) and (max-width: 980px) {
    .page-home-v9 .v9-technology {
        grid-template-rows: auto auto minmax(0, 1fr);
        row-gap: 14px;
    }

    .page-home-v9 .v9-technology__grid {
        margin-top: 0;
    }

    .page-home-v9 .v9-technology-card {
        min-height: 0;
        padding: 12px 22px;
    }

    .page-home-v9 .v9-technology-card h3 {
        margin-top: 7px;
        font-size: 21px;
    }

    .page-home-v9 .v9-technology-card p {
        margin-top: 4px;
        font-size: 14px;
        line-height: 1.48;
    }

    .page-home-v9 .v9-autometro {
        grid-template-rows: auto minmax(0, 1fr);
        row-gap: 14px;
    }

    .page-home-v9 .v9-autometro__header {
        gap: 18px;
    }

    .page-home-v9 .v9-result-list li {
        padding: 9px 0;
    }

    .page-home-v9 .v9-semiconductor {
        grid-template-rows: auto minmax(0, 1fr);
        row-gap: 14px;
    }

    .page-home-v9 .v9-semiconductor__intro {
        gap: 14px;
    }

    .page-home-v9 .v9-footer-main {
        gap: 10px;
        padding: 20px 0 16px;
    }

    .page-home-v9 .footer-tagline {
        margin-top: 4px;
    }

    .page-home-v9 .v9-footer-nav {
        gap: 14px;
    }
}

@media (max-width: 760px) {
    body.page-home-v9 {
        --v9-footer-height: 300px;
    }

    .page-home-v9 .v9-technology,
    .page-home-v9 .v9-autometro,
    .page-home-v9 .v9-semiconductor {
        display: grid;
        padding: 28px 0;
        row-gap: 12px;
    }

    .page-home-v9 .v9-technology {
        grid-template-rows: auto auto minmax(110px, 1fr);
    }

    .page-home-v9 .v9-technology__header h2,
    .page-home-v9 .v9-semiconductor__heading h2 {
        margin-top: 7px;
        font-size: clamp(32px, 8.4vw, 40px);
        line-height: 1.14;
    }

    .page-home-v9 .v9-technology__grid {
        margin-top: 0;
    }

    .page-home-v9 .v9-technology-card {
        min-height: 0;
        padding: 10px 18px;
    }

    .page-home-v9 .v9-technology-card h3 {
        margin-top: 5px;
        font-size: 20px;
        line-height: 1.25;
    }

    .page-home-v9 .v9-technology-card p {
        margin-top: 3px;
        font-size: 13px;
        line-height: 1.45;
    }

    .page-home-v9 .v9-autometro {
        grid-template-rows: auto minmax(120px, 1fr);
    }

    .page-home-v9 .v9-autometro__header {
        height: auto;
        gap: 12px;
        margin-bottom: 0;
    }

    .page-home-v9 .v9-autometro__copy h2 {
        font-size: clamp(40px, 11vw, 50px);
    }

    .page-home-v9 .v9-autometro__subtitle {
        font-size: 18px;
    }

    .page-home-v9 .v9-autometro__body {
        margin-top: 7px;
        font-size: 14px;
        line-height: 1.5;
    }

    .page-home-v9 .v9-text-link {
        margin-top: 5px;
        padding-bottom: 2px;
        font-size: 14px;
    }

    .page-home-v9 .v9-result-list li {
        padding: 7px 0;
        font-size: 13px;
    }

    .page-home-v9 .v9-semiconductor {
        grid-template-rows: auto minmax(150px, 1fr);
    }

    .page-home-v9 .v9-semiconductor__intro {
        height: auto;
        gap: 10px;
    }

    .page-home-v9 .v9-semiconductor__intro > p {
        font-size: 14px;
        line-height: 1.5;
    }

    .page-home-v9 .v9-technology__visual,
    .page-home-v9 .v9-autometro__visual,
    .page-home-v9 .v9-semiconductor__visual {
        height: 100%;
        min-height: 0;
        margin-top: 0;
        aspect-ratio: auto;
    }

    .page-home-v9 .v9-low-altitude {
        height: var(--v9-screen-height);
        min-height: var(--v9-screen-height);
        max-height: var(--v9-screen-height);
    }

    .page-home-v9 .v9-contact {
        padding: 24px 0;
    }

    .page-home-v9 .v9-contact__inner {
        width: 100%;
        height: min(360px, calc(100% - 48px));
        min-height: 0;
        gap: 20px;
        padding: 24px;
    }

    .page-home-v9 .v9-contact h2 {
        font-size: clamp(30px, 8vw, 38px);
    }

    .page-home-v9 .v9-contact p {
        margin-top: 10px;
        font-size: 14px;
        line-height: 1.5;
    }

    .page-home-v9 .site-footer > .shell {
        grid-template-rows: minmax(0, 1fr) 110px;
    }

    .page-home-v9 .v9-footer-main {
        gap: 10px;
        padding: 20px 0 14px;
    }

    .page-home-v9 .footer-tagline {
        margin-top: 4px;
    }

    .page-home-v9 .v9-footer-nav {
        gap: 8px 18px;
    }

    .page-home-v9 .v9-footer-email {
        font-size: 13px;
    }

    .page-home-v9 .footer-bottom {
        height: 110px;
        gap: 8px;
        padding: 12px 0 14px;
    }

    .page-home-v9 .filing-links {
        gap: 6px;
    }
}

/* Compact the same content for short browser windows without dropping copy. */
@media (max-height: 720px) {
    .page-home-v9 .v9-hero__inner {
        padding-top: 34px;
        padding-bottom: 24px;
    }

    .page-home-v9 .v9-hero h1 {
        margin-top: 12px;
        font-size: clamp(34px, 6.2vw, 50px);
    }

    .page-home-v9 .v9-hero__subtitle {
        margin-top: 16px;
        font-size: 17px;
    }

    .page-home-v9 .v9-hero__body {
        margin-top: 6px;
        font-size: 14px;
    }

    .page-home-v9 .v9-hero__actions {
        margin-top: 16px;
    }

    .page-home-v9 .v9-technology,
    .page-home-v9 .v9-autometro,
    .page-home-v9 .v9-semiconductor {
        padding-top: 24px;
        padding-bottom: 24px;
        row-gap: 12px;
    }

    .page-home-v9 .v9-contact__inner {
        height: min(260px, calc(100% - 32px));
    }
}

@media (max-width: 760px) and (max-height: 720px) {
    body.page-home-v9 {
        --v9-footer-height: 280px;
    }

    .page-home-v9 .v9-hero__inner {
        padding-top: 20px;
        padding-bottom: 18px;
    }

    .page-home-v9 .v9-hero h1 {
        font-size: clamp(31px, 8.8vw, 38px);
        line-height: 1.08;
    }

    .page-home-v9 .v9-hero__subtitle {
        margin-top: 10px;
        font-size: 15px;
        line-height: 1.4;
    }

    .page-home-v9 .v9-hero__body {
        font-size: 13px;
    }

    .page-home-v9 .v9-hero__actions {
        gap: 8px;
        margin-top: 12px;
    }

    .page-home-v9 .v9-hero__actions .v9-button {
        height: 44px;
        flex-basis: 44px;
        font-size: 14px;
    }

    .page-home-v9 .v9-contact__inner {
        height: min(240px, calc(100% - 24px));
        gap: 12px;
        padding: 16px;
    }

    .page-home-v9 .v9-contact__cta {
        height: 44px;
    }

    .page-home-v9 .site-footer > .shell {
        grid-template-rows: minmax(0, 1fr) 100px;
    }

    .page-home-v9 .footer-bottom {
        height: 100px;
    }
}

/* Landscape phones and very short browser windows keep the same six snap
   points, but use a horizontal, compact composition so no copy is clipped. */
@media (orientation: landscape) and (max-height: 500px) {
    body.page-home-v9 {
        --nav-height: 64px;
        --v9-footer-height: 180px;
    }

    .page-home-v9 .site-header {
        height: 64px;
    }

    .page-home-v9 .mobile-menu {
        top: 64px;
    }

    .page-home-v9 .v9-hero__inner {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .page-home-v9 .v9-hero h1 {
        margin-top: 7px;
        font-size: clamp(32px, 5vw, 40px);
        line-height: 1.06;
    }

    .page-home-v9 .v9-hero__subtitle {
        margin-top: 8px;
        font-size: 14px;
        line-height: 1.35;
    }

    .page-home-v9 .v9-hero__body {
        margin-top: 3px;
        font-size: 12px;
        line-height: 1.4;
    }

    .page-home-v9 .v9-hero__actions {
        gap: 8px;
        margin-top: 9px;
    }

    .page-home-v9 .v9-hero__actions .v9-button {
        height: 42px;
        flex-basis: 42px;
        font-size: 13px;
    }

    .page-home-v9 .v9-technology,
    .page-home-v9 .v9-autometro,
    .page-home-v9 .v9-semiconductor {
        padding-top: 14px;
        padding-bottom: 14px;
        row-gap: 8px;
    }

    .page-home-v9 .v9-technology {
        grid-template-rows: auto auto minmax(60px, 1fr);
    }

    .page-home-v9 .v9-technology__header h2,
    .page-home-v9 .v9-semiconductor__heading h2 {
        margin-top: 4px;
        font-size: 30px;
        line-height: 1.08;
    }

    .page-home-v9 .v9-technology__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-top: 0;
    }

    .page-home-v9 .v9-technology-card {
        min-height: 0;
        padding: 6px 10px;
    }

    .page-home-v9 .v9-technology-card h3 {
        margin-top: 3px;
        font-size: 16px;
        line-height: 1.18;
    }

    .page-home-v9 .v9-technology-card p {
        margin-top: 2px;
        font-size: 11px;
        line-height: 1.3;
    }

    .page-home-v9 .v9-autometro {
        grid-template-rows: auto minmax(60px, 1fr);
    }

    .page-home-v9 .v9-autometro__header {
        grid-template-columns: 1.25fr 0.75fr;
        gap: 24px;
    }

    .page-home-v9 .v9-autometro__copy h2 {
        font-size: 32px;
    }

    .page-home-v9 .v9-autometro__subtitle {
        font-size: 14px;
    }

    .page-home-v9 .v9-autometro__body {
        margin-top: 3px;
        font-size: 12px;
        line-height: 1.35;
    }

    .page-home-v9 .v9-text-link {
        margin-top: 3px;
        font-size: 12px;
    }

    .page-home-v9 .v9-result-list li {
        padding: 5px 0;
        font-size: 11px;
    }

    .page-home-v9 .v9-semiconductor {
        grid-template-rows: auto minmax(70px, 1fr);
    }

    .page-home-v9 .v9-semiconductor__intro {
        grid-template-columns: 1.2fr 0.8fr;
        gap: 24px;
        align-items: center;
    }

    .page-home-v9 .v9-semiconductor__intro > p {
        font-size: 12px;
        line-height: 1.4;
    }

    .page-home-v9 .v9-low-altitude h2 {
        margin-top: 8px;
        font-size: 36px;
    }

    .page-home-v9 .v9-low-altitude__copy > p:not(.v9-kicker) {
        margin-top: 10px;
        font-size: 13px;
        line-height: 1.45;
    }

    .page-home-v9 .v9-contact {
        padding: 8px 0;
    }

    .page-home-v9 .v9-contact__inner {
        width: min(calc(100% - 40px), 1280px);
        height: calc(100% - 16px);
        min-height: 0;
        max-height: calc(100% - 16px);
        align-items: center;
        flex-direction: row;
        gap: 18px;
        padding: 14px 18px;
    }

    .page-home-v9 .v9-contact h2 {
        font-size: 27px;
        line-height: 1.08;
    }

    .page-home-v9 .v9-contact p {
        margin-top: 5px;
        font-size: 11px;
        line-height: 1.35;
    }

    .page-home-v9 .v9-contact__cta {
        width: auto;
        min-width: 120px;
        height: 44px;
    }

    .page-home-v9 .site-footer > .shell {
        grid-template-rows: minmax(0, 1fr) 60px;
    }

    .page-home-v9 .v9-footer-main {
        grid-template-columns: 1fr 1.5fr 1fr;
        align-items: center;
        gap: 14px;
        padding: 10px 0;
    }

    .page-home-v9 .footer-tagline {
        margin-top: 2px;
        font-size: 10px;
    }

    .page-home-v9 .v9-footer-nav {
        display: flex;
        width: auto;
        justify-content: center;
        gap: 8px;
    }

    .page-home-v9 .v9-footer-nav a,
    .page-home-v9 .v9-footer-email {
        font-size: 10px;
    }

    .page-home-v9 .v9-footer-email {
        justify-self: end;
    }

    .page-home-v9 .footer-bottom {
        height: 60px;
        align-items: center;
        flex-direction: row;
        gap: 12px;
        padding: 8px 0;
        font-size: 9px;
    }

    .page-home-v9 .filing-links {
        align-items: center;
        flex-direction: row;
        gap: 8px;
    }
}

/* ========================================================================== */
/* Homepage V15 Final — six viewport scenes                                   */
/* ========================================================================== */

body.page-home-v15 {
    --nav-height: 82px;
    --v15-screen-height: 100vh;
    --v15-footer-height: 240px;
    --v15-ink: #0b254d;
    --v15-muted: #5c6d84;
    --v15-orange: #ed570e;
    --v15-blue: #3f6f8d;
    color: var(--v15-ink);
    background: #ffffff;
    scroll-snap-type: y mandatory;
}

@supports (height: 100svh) {
    body.page-home-v15 {
        --v15-screen-height: 100svh;
    }
}

@supports (height: 100dvh) {
    body.page-home-v15 {
        --v15-screen-height: 100dvh;
    }
}

@supports selector(:has(body.page-home-v15)) {
    html:has(body.page-home-v15) {
        scroll-padding-top: 0;
        scroll-snap-type: y mandatory !important;
    }
}

.page-home-v15 main > section {
    width: 100%;
    height: var(--v15-screen-height);
    min-height: var(--v15-screen-height);
    max-height: var(--v15-screen-height);
    overflow: hidden;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.page-home-v15 main > [id],
.page-home-v15 .v15-product-anchors > span {
    scroll-margin-top: 0;
}

.page-home-v15 .site-header {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    height: var(--nav-height);
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.page-home-v15 .desktop-nav {
    gap: 27px;
}

.page-home-v15 .nav-link {
    font-size: 15px;
}

.page-home-v15 .v15-hero {
    position: relative;
    height: calc(var(--v15-screen-height) - var(--nav-height));
    min-height: calc(var(--v15-screen-height) - var(--nav-height));
    max-height: calc(var(--v15-screen-height) - var(--nav-height));
    isolation: isolate;
    background: #edf3f7;
    scroll-snap-align: none;
    scroll-snap-stop: normal;
}

.page-home-v15 .v15-hero__media,
.page-home-v15 .v15-hero__media img,
.page-home-v15 .v15-world-model__media,
.page-home-v15 .v15-world-model__media img,
.page-home-v15 .v15-engineering__media,
.page-home-v15 .v15-engineering__media img,
.page-home-v15 .v15-contact__media,
.page-home-v15 .v15-contact__media img,
.page-home-v15 .v15-product-panel__media,
.page-home-v15 .v15-product-panel__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
}

.page-home-v15 .v15-hero__media img {
    object-fit: cover;
    object-position: center 50%;
    filter: brightness(1.05) saturate(0.98);
}

.page-home-v15 .v15-hero__wash {
    position: absolute;
    z-index: 1;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.995) 0%, rgba(255, 255, 255, 0.97) 27%, rgba(255, 255, 255, 0.76) 38%, rgba(255, 255, 255, 0.22) 50%, rgba(255, 255, 255, 0.02) 62%, transparent 70%),
        linear-gradient(0deg, rgba(247, 249, 251, 0.94) 0%, rgba(247, 249, 251, 0.34) 6%, rgba(247, 249, 251, 0) 16%);
    pointer-events: none;
}

.page-home-v15 .v15-hero__content {
    position: relative;
    z-index: 2;
    height: 100%;
    padding-top: 86px;
}

.page-home-v15 .v15-hero__label {
    color: var(--v15-orange);
    font-size: 15px;
    font-weight: 680;
    letter-spacing: 0.07em;
    line-height: 1.4;
}

.page-home-v15 .v15-hero h1 {
    width: 720px;
    max-width: 60%;
    margin-top: 22px;
    color: var(--v15-ink);
    font-size: 64px;
    font-weight: 730;
    letter-spacing: -0.05em;
    line-height: 1.14;
    word-break: keep-all;
}

.page-home-v15 .v15-hero h1 span,
.page-home-v15 .v15-world-model h2 span,
.page-home-v15 .v15-engineering h2 span,
.page-home-v15 .v15-product-panel h3 span {
    display: block;
}

.page-home-v15 .v15-hero__subtitle {
    width: 630px;
    max-width: 55%;
    margin-top: 30px;
    color: var(--v15-ink);
    font-size: 20px;
    font-weight: 650;
    line-height: 1.5;
}

.page-home-v15 .v15-hero__body {
    width: 590px;
    max-width: 52%;
    margin-top: 11px;
    color: #465e7a;
    font-size: 17px;
    line-height: 1.78;
}

.page-home-v15 .v15-hero__actions {
    display: flex;
    gap: 14px;
    margin-top: 30px;
}

.page-home-v15 .v15-button {
    min-width: 162px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 28px;
    border: 1px solid transparent;
    border-radius: 0;
    font-size: 16px;
    font-weight: 650;
    line-height: 1.2;
    text-align: center;
}

.page-home-v15 .v15-button--primary {
    color: #ffffff;
    background: var(--v15-orange);
}

.page-home-v15 .v15-button--secondary {
    color: var(--v15-ink);
    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(11, 37, 77, 0.38);
}

.page-home-v15 .v15-kicker {
    color: var(--v15-orange);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.3;
}

.page-home-v15 .v15-kicker--dark {
    color: #ff7740;
}

/* Screen 02 — core technology. */
.page-home-v15 .v15-technology {
    position: relative;
    isolation: isolate;
    color: var(--v15-ink);
    background: #e5eef4;
}

.page-home-v15 .v15-technology__visual,
.page-home-v15 .v15-technology__picture,
.page-home-v15 .v15-technology__picture img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.page-home-v15 .v15-technology__visual {
    margin: 0;
    overflow: hidden;
    background: #dfeaf1;
}

.page-home-v15 .v15-technology__visual::before,
.page-home-v15 .v15-technology__visual::after {
    position: absolute;
    z-index: 2;
    inset: 0;
    content: "";
    pointer-events: none;
}

.page-home-v15 .v15-technology__visual::before {
    background: linear-gradient(90deg, rgba(249, 252, 254, 0.99) 0%, rgba(249, 252, 254, 0.96) 30%, rgba(247, 251, 253, 0.88) 42%, rgba(242, 248, 251, 0.58) 49%, rgba(237, 246, 250, 0.20) 58%, transparent 68%);
}

.page-home-v15 .v15-technology__visual::after {
    background:
        linear-gradient(0deg, rgba(220, 233, 241, 0.98) 0%, rgba(220, 233, 241, 0.68) 10%, transparent 23%),
        linear-gradient(180deg, rgba(239, 246, 250, 0.36) 0%, transparent 16%),
        rgba(235, 244, 250, 0.13);
}

.page-home-v15 .v15-technology__picture img {
    object-fit: cover;
    object-position: center 50%;
    filter: brightness(1.14) saturate(0.94) contrast(0.98);
}

.page-home-v15 .v15-technology__copy {
    position: absolute;
    z-index: 3;
    top: 154px;
    right: 0;
    left: 0;
    width: min(calc(100% - 96px), 1280px);
    margin-inline: auto;
}

.page-home-v15 .v15-technology__copy header,
.page-home-v15 .v15-technology__grid {
    width: 590px;
    max-width: 46%;
}

.page-home-v15 .v15-technology__copy h2 {
    margin-top: 14px;
    font-size: 50px;
    font-weight: 710;
    letter-spacing: -0.045em;
    line-height: 1.18;
}

.page-home-v15 .v15-technology__grid {
    width: 570px;
    margin-top: 47px;
}

.page-home-v15 .v15-technology-card {
    min-height: 0;
    display: grid;
    grid-template-columns: 42px 1fr;
    grid-template-rows: auto auto;
    padding: 16px 0;
    border-top: 1px solid rgba(11, 37, 77, 0.16);
}

.page-home-v15 .v15-technology-card:last-child {
    border-bottom: 1px solid rgba(11, 37, 77, 0.16);
}

.page-home-v15 .v15-technology-card > span {
    grid-column: 1;
    grid-row: 1 / 3;
    margin-top: 6px;
    color: var(--v15-orange);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1;
}

.page-home-v15 .v15-technology-card h3 {
    grid-column: 2;
    margin: 0;
    font-size: 23px;
    font-weight: 680;
    letter-spacing: -0.025em;
    line-height: 1.3;
}

.page-home-v15 .v15-technology-card p {
    grid-column: 2;
    margin-top: 5px;
    color: #405a75;
    font-size: 15.5px;
    line-height: 1.65;
}

/* Screens 03 and 05 — full-width narrative scenes. */
.page-home-v15 .v15-world-model,
.page-home-v15 .v15-engineering {
    position: relative;
    isolation: isolate;
    color: #ffffff;
    background: var(--v15-blue);
}

.page-home-v15 .v15-world-model__media img {
    object-fit: cover;
    object-position: 56% 50%;
    filter: brightness(1.06) saturate(0.98) contrast(1.02);
}

.page-home-v15 .v15-world-model__wash,
.page-home-v15 .v15-engineering__wash {
    position: absolute;
    z-index: 1;
    inset: 0;
    pointer-events: none;
}

.page-home-v15 .v15-world-model__wash {
    background:
        linear-gradient(180deg, #dce9f1 0%, rgba(220, 233, 241, 0.70) 6%, transparent 17%, transparent 76%, rgba(63, 111, 141, 0.72) 91%, #3f6f8d 100%),
        linear-gradient(90deg, rgba(243, 248, 251, 0.99) 0%, rgba(241, 247, 250, 0.94) 28%, rgba(237, 244, 248, 0.64) 43%, rgba(230, 240, 246, 0.20) 57%, transparent 68%);
}

.page-home-v15 .v15-world-model__copy,
.page-home-v15 .v15-engineering__copy {
    position: absolute;
    z-index: 2;
    top: 158px;
    right: 0;
    left: 0;
    width: min(calc(100% - 96px), 1280px);
    margin-inline: auto;
}

.page-home-v15 .v15-world-model__copy > * {
    width: 500px;
    max-width: 42%;
}

.page-home-v15 .v15-world-model h2,
.page-home-v15 .v15-engineering h2 {
    margin-top: 16px;
    color: var(--v15-ink);
    font-size: 54px;
    font-weight: 710;
    letter-spacing: -0.045em;
    line-height: 1.18;
}

.page-home-v15 .v15-world-model__copy > p:not(.v15-kicker) {
    margin-top: 22px;
    color: #465e7a;
    font-size: 18px;
    line-height: 1.72;
}

.page-home-v15 .v15-world-model__copy > p:not(.v15-kicker) span {
    display: block;
}

.page-home-v15 .v15-world-model__stages,
.page-home-v15 .v15-engineering__stages {
    position: absolute;
    z-index: 2;
    inset: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    pointer-events: none;
}

.page-home-v15 .v15-world-model__stages li {
    position: absolute;
    padding-left: 24px;
    color: rgba(255, 255, 255, 0.94);
    font-size: 14px;
    font-weight: 650;
    letter-spacing: 0.04em;
    line-height: 1.4;
    text-shadow: 0 2px 12px rgba(4, 19, 38, 0.68);
    white-space: nowrap;
}

.page-home-v15 .v15-world-model__stages li::before {
    position: absolute;
    top: 6px;
    left: 0;
    width: 8px;
    height: 8px;
    background: var(--v15-orange);
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(237, 87, 14, 0.14), 0 0 18px rgba(237, 87, 14, 0.58);
    content: "";
}

.page-home-v15 .v15-world-model__stages li::after {
    position: absolute;
    top: 10px;
    left: 8px;
    width: 11px;
    height: 1px;
    background: rgba(255, 255, 255, 0.62);
    content: "";
}

.page-home-v15 .v15-world-model__stages li:nth-child(1) { top: 53%; left: 61%; }
.page-home-v15 .v15-world-model__stages li:nth-child(2) { top: 28%; left: 55%; }
.page-home-v15 .v15-world-model__stages li:nth-child(3) { top: 56%; left: 82%; }
.page-home-v15 .v15-world-model__stages li:nth-child(4) { top: 78%; left: 67%; }

/* Screen 04 — 2:1 product matrix. */
.page-home-v15 .v15-products {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 1fr 1fr;
    color: #ffffff;
    background: #3f6f91;
}

.page-home-v15 .v15-product-anchors,
.page-home-v15 .v15-product-anchors > span {
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 1px;
}

.page-home-v15 .v15-products::before,
.page-home-v15 .v15-products::after {
    position: absolute;
    right: 0;
    left: 0;
    z-index: 3;
    content: "";
    pointer-events: none;
}

.page-home-v15 .v15-products::before {
    top: 0;
    height: 74px;
    background: linear-gradient(180deg, rgba(53, 94, 126, 0.72), transparent);
}

.page-home-v15 .v15-products::after {
    bottom: 0;
    height: 94px;
    background: linear-gradient(0deg, #3f6f91 0%, rgba(63, 111, 145, 0.72) 28%, transparent 100%);
    border-bottom: 2px solid #3f6f91;
}

.page-home-v15 .v15-products__heading {
    position: absolute;
    z-index: 5;
    top: 54px;
    left: max(48px, calc((100% - 1280px) / 2));
    width: 560px;
    pointer-events: none;
}

.page-home-v15 .v15-products__heading h2 {
    margin-top: 8px;
    color: #ffffff;
    font-size: 34px;
    font-weight: 710;
    letter-spacing: -0.035em;
    line-height: 1.2;
}

.page-home-v15 .v15-product-panel {
    position: relative;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    color: #ffffff;
    background: #173c5d;
}

.page-home-v15 .v15-product-panel--autometro {
    grid-column: 1;
    grid-row: 1 / 3;
    border-right: 1px solid rgba(222, 238, 249, 0.20);
}

.page-home-v15 .v15-product-panel--low {
    grid-column: 2;
    grid-row: 1;
    border-bottom: 1px solid rgba(222, 238, 249, 0.20);
}

.page-home-v15 .v15-product-panel--fab {
    grid-column: 2;
    grid-row: 2;
}

.page-home-v15 .v15-product-panel__media img {
    object-fit: cover;
}

.page-home-v15 .v15-product-panel--autometro .v15-product-panel__media img {
    object-position: 85% 50%;
    filter: brightness(1.06) saturate(0.98) contrast(1.02);
}

.page-home-v15 .v15-product-panel--low .v15-product-panel__media img {
    object-position: 72% 50%;
    filter: brightness(1.12) saturate(0.96);
}

.page-home-v15 .v15-product-panel--fab .v15-product-panel__media img {
    object-position: 62% 50%;
    filter: brightness(0.98) saturate(0.92) contrast(1.02);
}

.page-home-v15 .v15-product-panel__shade {
    position: absolute;
    z-index: 1;
    inset: 0;
    pointer-events: none;
}

.page-home-v15 .v15-product-panel--autometro .v15-product-panel__shade {
    background:
        linear-gradient(90deg, rgba(5, 24, 47, 0.76) 0%, rgba(5, 24, 47, 0.52) 36%, rgba(5, 24, 47, 0.12) 64%, transparent 78%),
        linear-gradient(0deg, rgba(4, 18, 37, 0.78) 0%, rgba(4, 18, 37, 0.44) 32%, rgba(4, 18, 37, 0.08) 58%, transparent 72%);
}

.page-home-v15 .v15-product-panel--low .v15-product-panel__shade {
    background: linear-gradient(0deg, rgba(4, 20, 41, 0.86) 0%, rgba(4, 20, 41, 0.56) 38%, rgba(4, 20, 41, 0.12) 66%, transparent 78%);
}

.page-home-v15 .v15-product-panel--fab .v15-product-panel__shade {
    background:
        linear-gradient(0deg, rgba(4, 20, 41, 0.88) 0%, rgba(4, 20, 41, 0.60) 38%, rgba(4, 20, 41, 0.14) 68%, transparent 80%),
        rgba(9, 40, 70, 0.09);
}

.page-home-v15 .v15-product-panel__copy {
    position: absolute;
    z-index: 4;
}

.page-home-v15 .v15-product-panel--autometro .v15-product-panel__copy {
    bottom: 60px;
    left: max(48px, calc((100vw - 1280px) / 2));
    width: 540px;
}

.page-home-v15 .v15-product-panel--autometro h2 {
    margin-top: 16px;
    color: #ffffff;
    letter-spacing: -0.04em;
}

.page-home-v15 .v15-product-panel--autometro h2 span {
    display: block;
}

.page-home-v15 .v15-product-panel--autometro h2 span:first-child {
    font-size: 56px;
    font-weight: 720;
    line-height: 1.05;
}

.page-home-v15 .v15-product-panel--autometro h2 span + span {
    margin-top: 8px;
    font-size: 28px;
    font-weight: 650;
    letter-spacing: -0.025em;
    line-height: 1.25;
}

.page-home-v15 .v15-product-panel--autometro .v15-product-panel__copy > p:not(.v15-kicker) {
    max-width: 520px;
    margin-top: 20px;
    color: #dce7f2;
    font-size: 17px;
    line-height: 1.7;
    white-space: pre-line;
}

.page-home-v15 .v15-product-panel--low .v15-product-panel__copy,
.page-home-v15 .v15-product-panel--fab .v15-product-panel__copy {
    right: 56px;
    bottom: 34px;
    left: 40px;
}

.page-home-v15 .v15-product-panel--low h3,
.page-home-v15 .v15-product-panel--fab h3 {
    margin-top: 9px;
    color: #ffffff;
    font-size: 28px;
    font-weight: 680;
    letter-spacing: -0.035em;
    line-height: 1.2;
}

.page-home-v15 .v15-product-panel--low .v15-product-panel__copy > p:not(.v15-kicker),
.page-home-v15 .v15-product-panel--fab .v15-product-panel__copy > p:not(.v15-kicker) {
    margin-top: 10px;
    color: #dce7f2;
    font-size: 15px;
    line-height: 1.58;
    white-space: pre-line;
}

.page-home-v15 .v15-product-panel__entry {
    display: inline-block;
    margin-top: 18px;
    color: #ffffff;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.3;
}

.page-home-v15 .v15-product-panel--low .v15-product-panel__entry,
.page-home-v15 .v15-product-panel--fab .v15-product-panel__entry {
    margin-top: 13px;
    font-size: 14px;
}

/* Engineering scene. */
.page-home-v15 .v15-engineering__media img {
    object-fit: cover;
    object-position: 55% 50%;
    filter: brightness(1.10) saturate(0.90) contrast(0.98);
}

.page-home-v15 .v15-engineering__wash {
    background:
        linear-gradient(180deg, #3f6f8d 0%, rgba(63, 111, 141, 0.72) 7%, transparent 18%, transparent 62%, rgba(232, 239, 244, 0.58) 72%, rgba(232, 239, 244, 0.88) 87%, #e8eff4 100%),
        linear-gradient(90deg, rgba(243, 248, 251, 0.99) 0%, rgba(241, 247, 250, 0.94) 28%, rgba(237, 244, 248, 0.64) 43%, rgba(230, 240, 246, 0.20) 58%, transparent 70%);
}

.page-home-v15 .v15-engineering__copy {
    top: 148px;
}

.page-home-v15 .v15-engineering__copy > * {
    width: 720px;
    max-width: 60%;
}

.page-home-v15 .v15-engineering h2 {
    font-size: 50px;
}

.page-home-v15 .v15-engineering__copy > p:not(.v15-kicker) {
    width: 610px;
    max-width: 52%;
    margin-top: 22px;
    color: #465e7a;
    font-size: 17px;
    line-height: 1.72;
}

.page-home-v15 .v15-engineering__stages::before {
    position: absolute;
    top: 65.43%;
    right: 16%;
    left: 15%;
    height: 1px;
    background: linear-gradient(90deg, rgba(237, 87, 14, 0.24), rgba(237, 87, 14, 0.82) 24%, rgba(237, 87, 14, 0.82) 76%, rgba(237, 87, 14, 0.24));
    box-shadow: 0 0 14px rgba(237, 87, 14, 0.20);
    content: "";
}

.page-home-v15 .v15-engineering__stages li {
    position: absolute;
    top: 68.89%;
    padding-top: 22px;
    color: var(--v15-ink);
    font-size: 14px;
    font-weight: 650;
    letter-spacing: 0.04em;
    line-height: 1.4;
    text-shadow: 0 2px 10px rgba(255, 255, 255, 0.78);
    transform: translateX(-50%);
    white-space: nowrap;
}

.page-home-v15 .v15-engineering__stages li::before {
    position: absolute;
    top: -18px;
    left: 50%;
    width: 1px;
    height: 22px;
    background: rgba(11, 37, 77, 0.48);
    content: "";
}

.page-home-v15 .v15-engineering__stages li::after {
    position: absolute;
    top: -32px;
    left: 50%;
    width: 8px;
    height: 8px;
    background: var(--v15-orange);
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(237, 87, 14, 0.13), 0 0 16px rgba(237, 87, 14, 0.38);
    content: "";
    transform: translateX(-50%);
}

.page-home-v15 .v15-engineering__stages li:nth-child(1) { left: 16%; }
.page-home-v15 .v15-engineering__stages li:nth-child(2) { left: 35%; }
.page-home-v15 .v15-engineering__stages li:nth-child(3) { left: 50%; }
.page-home-v15 .v15-engineering__stages li:nth-child(4) { left: 82%; }

/* Screen 06 — contact scene + legal footer. */
.page-home-v15 main > section.v15-contact {
    position: relative;
    height: calc(var(--v15-screen-height) - var(--v15-footer-height));
    min-height: calc(var(--v15-screen-height) - var(--v15-footer-height));
    max-height: calc(var(--v15-screen-height) - var(--v15-footer-height));
    color: var(--v15-ink);
    background: #edf3f7;
}

.page-home-v15 .v15-contact__media img {
    object-fit: cover;
    object-position: center 53%;
    opacity: 0.46;
    filter: brightness(1.10) saturate(0.72) contrast(0.90);
}

.page-home-v15 .v15-contact__wash {
    position: absolute;
    z-index: 1;
    inset: 0;
    background:
        linear-gradient(180deg, #e8eff4 0%, rgba(237, 243, 247, 0.90) 18%, rgba(237, 243, 247, 0.70) 73%, rgba(10, 37, 67, 0.94) 100%),
        linear-gradient(90deg, rgba(244, 248, 251, 0.99) 0%, rgba(244, 248, 251, 0.96) 36%, rgba(239, 245, 249, 0.72) 53%, rgba(229, 239, 245, 0.18) 74%, transparent 100%);
    pointer-events: none;
}

.page-home-v15 .v15-contact__inner {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    align-items: center;
}

.page-home-v15 .v15-contact__copy {
    position: relative;
    top: -13px;
    width: 760px;
    max-width: 68%;
}

.page-home-v15 .v15-contact h2 {
    margin-top: 12px;
    color: var(--v15-ink);
    font-size: 48px;
    font-weight: 710;
    letter-spacing: -0.045em;
    line-height: 1.18;
}

.page-home-v15 .v15-contact__body {
    margin-top: 17px;
}

.page-home-v15 .v15-contact__body p {
    color: #526981;
    font-size: 16.5px;
    line-height: 1.66;
    white-space: pre-line;
}

.page-home-v15 .v15-contact__body p + p {
    margin-top: 3px;
}

.page-home-v15 .v15-contact__cta {
    min-width: 156px;
    height: 52px;
    margin-top: 21px;
}

.page-home-v15 .site-footer {
    height: var(--v15-footer-height);
    min-height: var(--v15-footer-height);
    max-height: var(--v15-footer-height);
    display: block;
    overflow: hidden;
    background: #0a2543;
}

.page-home-v15 .site-footer > .shell {
    height: 100%;
    display: grid;
    grid-template-rows: minmax(0, 1fr) 78px;
}

.page-home-v15 .v9-footer-main {
    min-height: 0;
    grid-template-columns: 1fr 1.5fr 1fr;
    gap: 24px;
}

.page-home-v15 .v9-footer-nav {
    gap: 22px;
}

.page-home-v15 .v15-footer-cta {
    justify-self: end;
    color: #ffffff;
    font-size: 14px;
}

.page-home-v15 .footer-bottom {
    height: 78px;
    min-height: 0;
}

@media (max-width: 1100px) {
    .page-home-v15 .desktop-nav {
        gap: 14px;
    }

    .page-home-v15 .nav-link {
        font-size: 13px;
    }

    .page-home-v15 .v15-hero h1 {
        font-size: 54px;
    }

    .page-home-v15 .v15-hero__content {
        padding-top: 68px;
    }

    .page-home-v15 .v15-technology__copy,
    .page-home-v15 .v15-world-model__copy,
    .page-home-v15 .v15-engineering__copy {
        top: 12%;
        width: calc(100% - 64px);
    }

    .page-home-v15 .v15-technology__grid {
        margin-top: 30px;
    }

    .page-home-v15 .v15-product-panel--autometro .v15-product-panel__copy {
        bottom: 42px;
        left: 32px;
        width: 52vw;
    }

    .page-home-v15 .v15-product-panel--low .v15-product-panel__copy,
    .page-home-v15 .v15-product-panel--fab .v15-product-panel__copy {
        right: 24px;
        bottom: 24px;
        left: 24px;
    }

    .page-home-v15 .v15-product-panel--autometro h2 span:first-child {
        font-size: 48px;
    }

    .page-home-v15 .v15-product-panel--autometro h2 span + span {
        font-size: 23px;
    }

    .page-home-v15 .v15-product-panel--low h3,
    .page-home-v15 .v15-product-panel--fab h3 {
        font-size: 24px;
    }

    .page-home-v15 .v15-product-panel--low .v15-product-panel__copy > p:not(.v15-kicker),
    .page-home-v15 .v15-product-panel--fab .v15-product-panel__copy > p:not(.v15-kicker) {
        font-size: 13px;
    }

    .page-home-v15 .v15-contact__copy {
        max-width: 72%;
    }
}

@media (max-width: 980px) {
    .page-home-v15 .v15-hero h1 {
        max-width: 72%;
        font-size: 50px;
    }

    .page-home-v15 .v15-hero__subtitle,
    .page-home-v15 .v15-hero__body {
        max-width: 66%;
    }

    .page-home-v15 .v15-technology__copy header,
    .page-home-v15 .v15-technology__grid {
        max-width: 58%;
    }

    .page-home-v15 .v15-technology__copy h2,
    .page-home-v15 .v15-world-model h2,
    .page-home-v15 .v15-engineering h2 {
        font-size: 46px;
    }

    .page-home-v15 .v15-world-model__copy > *,
    .page-home-v15 .v15-engineering__copy > * {
        max-width: 60%;
    }

    .page-home-v15 .v15-products__heading {
        left: 32px;
    }

    .page-home-v15 .v15-product-panel--autometro .v15-product-panel__copy > p:not(.v15-kicker) {
        font-size: 15px;
    }

    .page-home-v15 .v9-footer-main {
        grid-template-columns: 1fr;
        align-content: center;
        gap: 10px;
        padding: 16px 0 12px;
    }

    .page-home-v15 .v9-footer-nav {
        justify-content: flex-start;
        gap: 14px;
    }

    .page-home-v15 .v15-footer-cta {
        justify-self: start;
    }
}

@media (max-width: 760px) {
    body.page-home-v15 {
        --nav-height: 72px;
        --v15-footer-height: 300px;
    }

    .page-home-v15 .site-header {
        height: 72px;
    }

    .page-home-v15 .v15-hero__media img {
        object-position: 62% center;
    }

    .page-home-v15 .v15-hero__wash {
        background: linear-gradient(90deg, rgba(255, 255, 255, 0.99) 0%, rgba(255, 255, 255, 0.97) 55%, rgba(255, 255, 255, 0.90) 80%, rgba(255, 255, 255, 0.82) 100%);
    }

    .page-home-v15 .v15-hero__content {
        padding-top: 44px;
    }

    .page-home-v15 .v15-hero h1 {
        width: 100%;
        max-width: 100%;
        margin-top: 16px;
        font-size: clamp(34px, 9.5vw, 40px);
        line-height: 1.1;
        word-break: normal;
        overflow-wrap: anywhere;
    }

    .page-home-v15 .v15-hero__subtitle,
    .page-home-v15 .v15-hero__body {
        width: 100%;
        max-width: 100%;
    }

    .page-home-v15 .v15-hero__subtitle {
        margin-top: 20px;
        font-size: 17px;
    }

    .page-home-v15 .v15-hero__body {
        margin-top: 8px;
        font-size: 14px;
        line-height: 1.55;
    }

    .page-home-v15 .v15-hero__actions {
        flex-direction: column;
        gap: 8px;
        margin-top: 22px;
    }

    .page-home-v15 .v15-hero__actions .v15-button {
        width: 100%;
        height: 48px;
    }

    .page-home-v15 .v15-technology__visual::before {
        background: linear-gradient(90deg, rgba(249, 252, 254, 0.98) 0%, rgba(249, 252, 254, 0.91) 63%, rgba(237, 246, 250, 0.35) 100%);
    }

    .page-home-v15 .v15-technology__picture img {
        object-position: 65% center;
    }

    .page-home-v15 .v15-technology__copy,
    .page-home-v15 .v15-world-model__copy,
    .page-home-v15 .v15-engineering__copy {
        top: 7%;
        width: calc(100% - 40px);
    }

    .page-home-v15 .v15-technology__copy header,
    .page-home-v15 .v15-technology__grid,
    .page-home-v15 .v15-world-model__copy > *,
    .page-home-v15 .v15-engineering__copy > * {
        width: 100%;
        max-width: 100%;
    }

    .page-home-v15 .v15-technology__copy h2,
    .page-home-v15 .v15-world-model h2,
    .page-home-v15 .v15-engineering h2 {
        margin-top: 8px;
        font-size: clamp(34px, 9.2vw, 40px);
        line-height: 1.1;
    }

    .page-home-v15 .v15-technology__grid {
        margin-top: 20px;
    }

    .page-home-v15 .v15-technology-card {
        grid-template-columns: 34px 1fr;
        padding: 10px 0;
    }

    .page-home-v15 .v15-technology-card h3 {
        font-size: 19px;
    }

    .page-home-v15 .v15-technology-card p {
        font-size: 13px;
        line-height: 1.42;
    }

    .page-home-v15 .v15-world-model__media img {
        object-position: 68% center;
    }

    .page-home-v15 .v15-world-model__wash {
        background:
            linear-gradient(180deg, rgba(220, 233, 241, 0.96) 0%, rgba(220, 233, 241, 0.72) 38%, transparent 63%, rgba(63, 111, 141, 0.75) 100%),
            linear-gradient(90deg, rgba(243, 248, 251, 0.98) 0%, rgba(241, 247, 250, 0.88) 72%, rgba(230, 240, 246, 0.10) 100%);
    }

    .page-home-v15 .v15-world-model__copy > p:not(.v15-kicker),
    .page-home-v15 .v15-engineering__copy > p:not(.v15-kicker) {
        margin-top: 14px;
        font-size: 14px;
        line-height: 1.5;
    }

    .page-home-v15 .v15-world-model__stages li {
        padding-left: 18px;
        font-size: 11px;
    }

    .page-home-v15 .v15-world-model__stages li:nth-child(1) { top: 59%; left: 15%; }
    .page-home-v15 .v15-world-model__stages li:nth-child(2) { top: 50%; left: 52%; }
    .page-home-v15 .v15-world-model__stages li:nth-child(3) { top: 68%; left: 57%; }
    .page-home-v15 .v15-world-model__stages li:nth-child(4) { top: 80%; left: 30%; }

    .page-home-v15 .v15-products {
        grid-template-columns: 1fr;
        grid-template-rows: 1.25fr 1fr 1fr;
    }

    .page-home-v15 .v15-products__heading {
        top: 18px;
        left: 20px;
        width: calc(100% - 40px);
    }

    .page-home-v15 .v15-products__heading h2 {
        margin-top: 4px;
        font-size: 23px;
    }

    .page-home-v15 .v15-product-panel--autometro {
        grid-column: 1;
        grid-row: 1;
        border-right: 0;
        border-bottom: 1px solid rgba(222, 238, 249, 0.20);
    }

    .page-home-v15 .v15-product-panel--low {
        grid-column: 1;
        grid-row: 2;
    }

    .page-home-v15 .v15-product-panel--fab {
        grid-column: 1;
        grid-row: 3;
    }

    .page-home-v15 .v15-product-panel--autometro .v15-product-panel__copy,
    .page-home-v15 .v15-product-panel--low .v15-product-panel__copy,
    .page-home-v15 .v15-product-panel--fab .v15-product-panel__copy {
        right: 20px;
        bottom: 12px;
        left: 20px;
        width: auto;
    }

    .page-home-v15 .v15-product-panel--autometro h2 {
        margin-top: 5px;
    }

    .page-home-v15 .v15-product-panel--autometro h2 span:first-child {
        font-size: 34px;
    }

    .page-home-v15 .v15-product-panel--autometro h2 span + span {
        margin-top: 2px;
        font-size: 17px;
    }

    .page-home-v15 .v15-product-panel--autometro .v15-product-panel__copy > p:not(.v15-kicker),
    .page-home-v15 .v15-product-panel--low .v15-product-panel__copy > p:not(.v15-kicker),
    .page-home-v15 .v15-product-panel--fab .v15-product-panel__copy > p:not(.v15-kicker) {
        margin-top: 5px;
        font-size: 11.5px;
        line-height: 1.38;
    }

    .page-home-v15 .v15-product-panel--low h3,
    .page-home-v15 .v15-product-panel--fab h3 {
        margin-top: 4px;
        font-size: 21px;
        line-height: 1.08;
    }

    .page-home-v15 .v15-product-panel__entry,
    .page-home-v15 .v15-product-panel--low .v15-product-panel__entry,
    .page-home-v15 .v15-product-panel--fab .v15-product-panel__entry {
        margin-top: 6px;
        font-size: 11px;
    }

    .page-home-v15 .v15-engineering__media img {
        object-position: 65% center;
    }

    .page-home-v15 .v15-engineering__stages::before {
        top: 64%;
        right: 8%;
        left: 8%;
    }

    .page-home-v15 .v15-engineering__stages li {
        top: 67%;
        padding-top: 16px;
        font-size: 10px;
    }

    .page-home-v15 .v15-engineering__stages li:nth-child(1) { left: 12%; }
    .page-home-v15 .v15-engineering__stages li:nth-child(2) { left: 36%; }
    .page-home-v15 .v15-engineering__stages li:nth-child(3) { left: 62%; }
    .page-home-v15 .v15-engineering__stages li:nth-child(4) { left: 88%; }

    .page-home-v15 main > section.v15-contact {
        padding: 0;
    }

    .page-home-v15 .v15-contact__copy {
        width: 100%;
        max-width: 100%;
    }

    .page-home-v15 .v15-contact h2 {
        font-size: clamp(32px, 8.8vw, 40px);
    }

    .page-home-v15 .v15-contact__body p {
        font-size: 14px;
        line-height: 1.5;
    }

    .page-home-v15 .v15-contact__cta {
        height: 48px;
        margin-top: 16px;
    }

    .page-home-v15 .site-footer > .shell {
        grid-template-rows: minmax(0, 1fr) 110px;
    }

    .page-home-v15 .v9-footer-main {
        gap: 8px;
        padding: 18px 0 12px;
    }

    .page-home-v15 .v9-footer-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        gap: 6px 18px;
    }

    .page-home-v15 .footer-bottom {
        height: 110px;
        gap: 8px;
        padding: 12px 0 14px;
    }
}

@media (max-height: 720px) {
    .page-home-v15 .v15-hero__content {
        padding-top: 26px;
    }

    .page-home-v15 .v15-hero h1 {
        margin-top: 10px;
        font-size: clamp(34px, 5.4vw, 48px);
    }

    .page-home-v15 .v15-hero__subtitle {
        margin-top: 12px;
        font-size: 16px;
    }

    .page-home-v15 .v15-hero__body {
        margin-top: 5px;
        font-size: 13px;
    }

    .page-home-v15 .v15-hero__actions {
        margin-top: 14px;
    }

    .page-home-v15 .v15-technology__copy,
    .page-home-v15 .v15-world-model__copy,
    .page-home-v15 .v15-engineering__copy {
        top: 7%;
    }

    .page-home-v15 .v15-technology__grid {
        margin-top: 18px;
    }

    .page-home-v15 .v15-technology-card {
        padding-top: 9px;
        padding-bottom: 9px;
    }
}

@media (max-width: 760px) and (max-height: 720px) {
    body.page-home-v15 {
        --v15-footer-height: 280px;
    }

    .page-home-v15 .v15-hero__content {
        padding-top: 18px;
    }

    .page-home-v15 .v15-hero h1 {
        font-size: clamp(31px, 8.6vw, 37px);
    }

    .page-home-v15 .v15-hero__subtitle {
        margin-top: 8px;
        font-size: 14px;
    }

    .page-home-v15 .v15-hero__actions {
        margin-top: 10px;
    }

    .page-home-v15 .v15-hero__actions .v15-button {
        height: 42px;
    }

    .page-home-v15 .v15-technology__copy h2,
    .page-home-v15 .v15-world-model h2,
    .page-home-v15 .v15-engineering h2 {
        font-size: 32px;
    }

    .page-home-v15 .v15-contact h2 {
        font-size: 29px;
    }

    .page-home-v15 .v15-contact__body {
        margin-top: 10px;
    }

    .page-home-v15 .v15-contact__body p {
        font-size: 12.5px;
    }

    .page-home-v15 .v15-contact__cta {
        height: 42px;
        margin-top: 10px;
    }

    .page-home-v15 .site-footer > .shell {
        grid-template-rows: minmax(0, 1fr) 100px;
    }

    .page-home-v15 .footer-bottom {
        height: 100px;
    }
}

@media (orientation: landscape) and (max-height: 500px) {
    body.page-home-v15 {
        --nav-height: 64px;
        --v15-footer-height: 180px;
    }

    .page-home-v15 .site-header {
        height: 64px;
    }

    .page-home-v15 .mobile-menu {
        top: 64px;
    }

    .page-home-v15 .v15-hero__content {
        padding-top: 9px;
    }

    .page-home-v15 .v15-hero h1 {
        margin-top: 6px;
        font-size: clamp(30px, 4.5vw, 38px);
        line-height: 1.04;
    }

    .page-home-v15 .v15-hero__subtitle {
        margin-top: 6px;
        font-size: 13px;
    }

    .page-home-v15 .v15-hero__body {
        font-size: 11px;
    }

    .page-home-v15 .v15-hero__actions {
        margin-top: 7px;
    }

    .page-home-v15 .v15-hero__actions .v15-button {
        width: auto;
        height: 38px;
        min-width: 138px;
        font-size: 12px;
    }

    .page-home-v15 .v15-technology__copy,
    .page-home-v15 .v15-world-model__copy,
    .page-home-v15 .v15-engineering__copy {
        top: 8%;
    }

    .page-home-v15 .v15-technology__copy h2,
    .page-home-v15 .v15-world-model h2,
    .page-home-v15 .v15-engineering h2 {
        font-size: 30px;
    }

    .page-home-v15 .v15-technology__grid {
        margin-top: 10px;
    }

    .page-home-v15 .v15-technology-card {
        grid-template-columns: 30px 1fr;
        padding: 5px 0;
    }

    .page-home-v15 .v15-technology-card h3 {
        font-size: 15px;
    }

    .page-home-v15 .v15-technology-card p {
        font-size: 11px;
    }

    .page-home-v15 .v15-world-model__copy > p:not(.v15-kicker),
    .page-home-v15 .v15-engineering__copy > p:not(.v15-kicker) {
        margin-top: 8px;
        font-size: 12px;
    }

    .page-home-v15 .v15-products {
        grid-template-columns: 2fr 1fr;
        grid-template-rows: 1fr 1fr;
    }

    .page-home-v15 .v15-products__heading {
        top: 14px;
        left: 28px;
    }

    .page-home-v15 .v15-products__heading h2 {
        font-size: 21px;
    }

    .page-home-v15 .v15-product-panel--autometro {
        grid-column: 1;
        grid-row: 1 / 3;
        border-right: 1px solid rgba(222, 238, 249, 0.20);
    }

    .page-home-v15 .v15-product-panel--low {
        grid-column: 2;
        grid-row: 1;
    }

    .page-home-v15 .v15-product-panel--fab {
        grid-column: 2;
        grid-row: 2;
    }

    .page-home-v15 .v15-product-panel--autometro .v15-product-panel__copy {
        right: 20px;
        bottom: 18px;
        left: 28px;
        width: auto;
    }

    .page-home-v15 .v15-product-panel--low .v15-product-panel__copy,
    .page-home-v15 .v15-product-panel--fab .v15-product-panel__copy {
        right: 14px;
        bottom: 10px;
        left: 14px;
    }

    .page-home-v15 .v15-product-panel--autometro h2 span:first-child {
        font-size: 32px;
    }

    .page-home-v15 .v15-product-panel--autometro h2 span + span {
        font-size: 16px;
    }

    .page-home-v15 .v15-product-panel--autometro .v15-product-panel__copy > p:not(.v15-kicker),
    .page-home-v15 .v15-product-panel--low .v15-product-panel__copy > p:not(.v15-kicker),
    .page-home-v15 .v15-product-panel--fab .v15-product-panel__copy > p:not(.v15-kicker) {
        margin-top: 4px;
        font-size: 11px;
        line-height: 1.3;
    }

    .page-home-v15 .v15-product-panel--low h3,
    .page-home-v15 .v15-product-panel--fab h3 {
        font-size: 17px;
    }

    .page-home-v15 .v15-product-panel__entry,
    .page-home-v15 .v15-product-panel--low .v15-product-panel__entry,
    .page-home-v15 .v15-product-panel--fab .v15-product-panel__entry {
        margin-top: 4px;
        font-size: 11px;
    }

    .page-home-v15 .v15-engineering__stages li,
    .page-home-v15 .v15-world-model__stages li {
        font-size: 11px;
    }

    .page-home-v15 .v15-contact__copy {
        max-width: 72%;
    }

    .page-home-v15 .v15-contact h2 {
        font-size: 27px;
    }

    .page-home-v15 .v15-contact__body {
        margin-top: 7px;
    }

    .page-home-v15 .v15-contact__body p {
        font-size: 11px;
        line-height: 1.4;
    }

    .page-home-v15 .v15-contact__cta {
        height: 38px;
        margin-top: 8px;
    }

    .page-home-v15 .site-footer > .shell {
        grid-template-rows: minmax(0, 1fr) 60px;
    }

    .page-home-v15 .v9-footer-main {
        grid-template-columns: 1fr 1.5fr 1fr;
        align-items: center;
        gap: 14px;
        padding: 10px 0;
    }

    .page-home-v15 .v9-footer-nav {
        display: flex;
        width: auto;
        justify-content: center;
        gap: 8px;
    }

    .page-home-v15 .v9-footer-nav a,
    .page-home-v15 .v15-footer-cta {
        font-size: 11px;
    }

    .page-home-v15 .v15-footer-cta {
        justify-self: end;
    }

    .page-home-v15 .footer-bottom {
        height: 60px;
        align-items: center;
        flex-direction: row;
        gap: 12px;
        padding: 8px 0;
        font-size: 9px;
    }

    .page-home-v15 .filing-links {
        align-items: center;
        flex-direction: row;
        gap: 8px;
    }
}

/* -------------------------------------------------------------------------- */
/* V15 proportional desktop canvas                                            */
/*                                                                            */
/* The approved composition is 1440 x 810. On larger and smaller desktop      */
/* viewports, one design pixel scales against the limiting viewport axis so    */
/* imagery, type, spacing and content origins stay in the same proportion.     */
/* Tablet and mobile layouts keep their purpose-built rules above.             */
/* -------------------------------------------------------------------------- */

@media (min-width: 1101px) {
    body.page-home-v15 {
        --v15-u: min(0.069444444vw, 0.12345679dvh);
        --v15-x-offset: calc(50vw - (720 * var(--v15-u)));
        --v15-y-offset: calc(((var(--v15-screen-height) - (810 * var(--v15-u))) * 0.5));
        --nav-height: calc(82 * var(--v15-u));
        --v15-footer-height: calc(240 * var(--v15-u));
    }

    .page-home-v15 .shell,
    .page-home-v15 .site-footer > .shell {
        width: calc(1280 * var(--v15-u));
        max-width: none;
    }

    .page-home-v15 .nav-shell {
        width: calc(1344 * var(--v15-u));
        max-width: none;
        gap: calc(32 * var(--v15-u));
    }

    .page-home-v15 .brand {
        gap: calc(11 * var(--v15-u));
    }

    .page-home-v15 .brand-name {
        font-size: calc(30 * var(--v15-u));
    }

    .page-home-v15 .brand-cn {
        padding-left: calc(11 * var(--v15-u));
        font-size: calc(16 * var(--v15-u));
    }

    .page-home-v15 .desktop-nav {
        gap: calc(27 * var(--v15-u));
    }

    .page-home-v15 .nav-link {
        min-height: calc(42 * var(--v15-u));
        font-size: calc(15 * var(--v15-u));
    }

    .page-home-v15 .nav-contact {
        min-width: calc(118 * var(--v15-u));
        min-height: calc(46 * var(--v15-u));
        padding: calc(13 * var(--v15-u)) calc(21 * var(--v15-u));
        font-size: calc(15 * var(--v15-u));
    }

    .page-home-v15 .v15-hero__content {
        padding-top: calc(var(--v15-y-offset) + (86 * var(--v15-u)));
    }

    .page-home-v15 .v15-hero__label {
        font-size: calc(15 * var(--v15-u));
    }

    .page-home-v15 .v15-hero h1 {
        width: calc(720 * var(--v15-u));
        max-width: none;
        margin-top: calc(22 * var(--v15-u));
        font-size: calc(64 * var(--v15-u));
    }

    .page-home-v15 .v15-hero__subtitle {
        width: calc(630 * var(--v15-u));
        max-width: none;
        margin-top: calc(30 * var(--v15-u));
        font-size: calc(20 * var(--v15-u));
    }

    .page-home-v15 .v15-hero__body {
        width: calc(590 * var(--v15-u));
        max-width: none;
        margin-top: calc(11 * var(--v15-u));
        font-size: calc(17 * var(--v15-u));
    }

    .page-home-v15 .v15-hero__actions {
        gap: calc(14 * var(--v15-u));
        margin-top: calc(30 * var(--v15-u));
    }

    .page-home-v15 .v15-button {
        min-width: calc(162 * var(--v15-u));
        height: calc(54 * var(--v15-u));
        padding-right: calc(28 * var(--v15-u));
        padding-left: calc(28 * var(--v15-u));
        font-size: calc(16 * var(--v15-u));
    }

    .page-home-v15 .v15-kicker {
        font-size: calc(13 * var(--v15-u));
    }

    .page-home-v15 .v15-technology__copy {
        top: calc(var(--v15-y-offset) + (154 * var(--v15-u)));
        width: calc(1280 * var(--v15-u));
    }

    .page-home-v15 .v15-technology__copy header {
        width: calc(590 * var(--v15-u));
        max-width: none;
    }

    .page-home-v15 .v15-technology__copy h2 {
        margin-top: calc(14 * var(--v15-u));
        font-size: calc(50 * var(--v15-u));
    }

    .page-home-v15 .v15-technology__grid {
        width: calc(570 * var(--v15-u));
        max-width: none;
        margin-top: calc(47 * var(--v15-u));
    }

    .page-home-v15 .v15-technology-card {
        grid-template-columns: calc(42 * var(--v15-u)) 1fr;
        padding-top: calc(16 * var(--v15-u));
        padding-bottom: calc(16 * var(--v15-u));
    }

    .page-home-v15 .v15-technology-card > span {
        margin-top: calc(6 * var(--v15-u));
        font-size: calc(12 * var(--v15-u));
    }

    .page-home-v15 .v15-technology-card h3 {
        font-size: calc(23 * var(--v15-u));
    }

    .page-home-v15 .v15-technology-card p {
        margin-top: calc(5 * var(--v15-u));
        font-size: calc(15.5 * var(--v15-u));
    }

    .page-home-v15 .v15-world-model__copy,
    .page-home-v15 .v15-engineering__copy {
        width: calc(1280 * var(--v15-u));
    }

    .page-home-v15 .v15-world-model__copy {
        top: calc(var(--v15-y-offset) + (158 * var(--v15-u)));
    }

    .page-home-v15 .v15-world-model__copy > * {
        width: calc(500 * var(--v15-u));
        max-width: none;
    }

    .page-home-v15 .v15-world-model h2,
    .page-home-v15 .v15-engineering h2 {
        margin-top: calc(16 * var(--v15-u));
    }

    .page-home-v15 .v15-world-model h2 {
        font-size: calc(54 * var(--v15-u));
    }

    .page-home-v15 .v15-world-model__copy > p:not(.v15-kicker) {
        width: calc(470 * var(--v15-u));
        margin-top: calc(22 * var(--v15-u));
        font-size: calc(18 * var(--v15-u));
    }

    .page-home-v15 .v15-world-model__stages li {
        padding-left: calc(24 * var(--v15-u));
        font-size: calc(14 * var(--v15-u));
    }

    .page-home-v15 .v15-world-model__stages li::before {
        top: calc(6 * var(--v15-u));
        width: calc(8 * var(--v15-u));
        height: calc(8 * var(--v15-u));
        box-shadow:
            0 0 0 calc(5 * var(--v15-u)) rgba(237, 87, 14, 0.14),
            0 0 calc(18 * var(--v15-u)) rgba(237, 87, 14, 0.58);
    }

    .page-home-v15 .v15-world-model__stages li::after {
        top: calc(10 * var(--v15-u));
        left: calc(8 * var(--v15-u));
        width: calc(11 * var(--v15-u));
    }

    .page-home-v15 .v15-world-model__stages li:nth-child(1) {
        top: calc(var(--v15-y-offset) + (429.3 * var(--v15-u)));
        left: calc(var(--v15-x-offset) + (878.4 * var(--v15-u)));
    }

    .page-home-v15 .v15-world-model__stages li:nth-child(2) {
        top: calc(var(--v15-y-offset) + (226.8 * var(--v15-u)));
        left: calc(var(--v15-x-offset) + (792 * var(--v15-u)));
    }

    .page-home-v15 .v15-world-model__stages li:nth-child(3) {
        top: calc(var(--v15-y-offset) + (453.6 * var(--v15-u)));
        left: calc(var(--v15-x-offset) + (1180.8 * var(--v15-u)));
    }

    .page-home-v15 .v15-world-model__stages li:nth-child(4) {
        top: calc(var(--v15-y-offset) + (631.8 * var(--v15-u)));
        left: calc(var(--v15-x-offset) + (964.8 * var(--v15-u)));
    }

    .page-home-v15 .v15-products::before {
        height: calc(var(--v15-y-offset) + (74 * var(--v15-u)));
    }

    .page-home-v15 .v15-products::after {
        height: calc(var(--v15-y-offset) + (94 * var(--v15-u)));
    }

    .page-home-v15 .v15-products__heading {
        top: calc(var(--v15-y-offset) + (54 * var(--v15-u)));
        left: calc(var(--v15-x-offset) + (80 * var(--v15-u)));
        width: calc(560 * var(--v15-u));
    }

    .page-home-v15 .v15-products__heading h2 {
        margin-top: calc(8 * var(--v15-u));
        font-size: calc(34 * var(--v15-u));
    }

    .page-home-v15 .v15-product-panel--autometro .v15-product-panel__copy {
        bottom: calc(var(--v15-y-offset) + (60 * var(--v15-u)));
        left: calc(var(--v15-x-offset) + (80 * var(--v15-u)));
        width: calc(540 * var(--v15-u));
    }

    .page-home-v15 .v15-product-panel--autometro h2 {
        margin-top: calc(16 * var(--v15-u));
    }

    .page-home-v15 .v15-product-panel--autometro h2 span:first-child {
        font-size: calc(56 * var(--v15-u));
    }

    .page-home-v15 .v15-product-panel--autometro h2 span + span {
        margin-top: calc(8 * var(--v15-u));
        font-size: calc(28 * var(--v15-u));
    }

    .page-home-v15 .v15-product-panel--autometro .v15-product-panel__copy > p:not(.v15-kicker) {
        max-width: calc(520 * var(--v15-u));
        margin-top: calc(20 * var(--v15-u));
        font-size: calc(17 * var(--v15-u));
    }

    .page-home-v15 .v15-product-panel--low .v15-product-panel__copy,
    .page-home-v15 .v15-product-panel--fab .v15-product-panel__copy {
        right: calc(56 * var(--v15-u));
        bottom: calc((var(--v15-y-offset) * 0.5) + (34 * var(--v15-u)));
        left: calc(40 * var(--v15-u));
    }

    .page-home-v15 .v15-product-panel--low h3,
    .page-home-v15 .v15-product-panel--fab h3 {
        margin-top: calc(9 * var(--v15-u));
        font-size: calc(28 * var(--v15-u));
    }

    .page-home-v15 .v15-product-panel--low .v15-product-panel__copy > p:not(.v15-kicker),
    .page-home-v15 .v15-product-panel--fab .v15-product-panel__copy > p:not(.v15-kicker) {
        margin-top: calc(10 * var(--v15-u));
        font-size: calc(15 * var(--v15-u));
    }

    .page-home-v15 .v15-product-panel__entry {
        margin-top: calc(18 * var(--v15-u));
        font-size: calc(15 * var(--v15-u));
    }

    .page-home-v15 .v15-product-panel--low .v15-product-panel__entry,
    .page-home-v15 .v15-product-panel--fab .v15-product-panel__entry {
        margin-top: calc(13 * var(--v15-u));
        font-size: calc(14 * var(--v15-u));
    }

    .page-home-v15 .v15-engineering__copy {
        top: calc(var(--v15-y-offset) + (148 * var(--v15-u)));
    }

    .page-home-v15 .v15-engineering__copy > * {
        width: calc(720 * var(--v15-u));
        max-width: none;
    }

    .page-home-v15 .v15-engineering h2 {
        font-size: calc(50 * var(--v15-u));
    }

    .page-home-v15 .v15-engineering__copy > p:not(.v15-kicker) {
        width: calc(610 * var(--v15-u));
        max-width: none;
        margin-top: calc(22 * var(--v15-u));
        font-size: calc(17 * var(--v15-u));
    }

    .page-home-v15 .v15-engineering__stages::before {
        top: calc(var(--v15-y-offset) + (530 * var(--v15-u)));
        right: calc(var(--v15-x-offset) + (230.4 * var(--v15-u)));
        left: calc(var(--v15-x-offset) + (216 * var(--v15-u)));
    }

    .page-home-v15 .v15-engineering__stages li {
        top: calc(var(--v15-y-offset) + (558 * var(--v15-u)));
        padding-top: calc(22 * var(--v15-u));
        font-size: calc(14 * var(--v15-u));
    }

    .page-home-v15 .v15-engineering__stages li::before {
        top: calc(-18 * var(--v15-u));
        height: calc(22 * var(--v15-u));
    }

    .page-home-v15 .v15-engineering__stages li::after {
        top: calc(-32 * var(--v15-u));
        width: calc(8 * var(--v15-u));
        height: calc(8 * var(--v15-u));
        box-shadow:
            0 0 0 calc(5 * var(--v15-u)) rgba(237, 87, 14, 0.13),
            0 0 calc(16 * var(--v15-u)) rgba(237, 87, 14, 0.38);
    }

    .page-home-v15 .v15-engineering__stages li:nth-child(1) {
        left: calc(var(--v15-x-offset) + (230.4 * var(--v15-u)));
    }

    .page-home-v15 .v15-engineering__stages li:nth-child(2) {
        left: calc(var(--v15-x-offset) + (504 * var(--v15-u)));
    }

    .page-home-v15 .v15-engineering__stages li:nth-child(3) {
        left: calc(var(--v15-x-offset) + (720 * var(--v15-u)));
    }

    .page-home-v15 .v15-engineering__stages li:nth-child(4) {
        left: calc(var(--v15-x-offset) + (1180.8 * var(--v15-u)));
    }

    .page-home-v15 .v15-contact__copy {
        top: calc(-13 * var(--v15-u));
        width: calc(760 * var(--v15-u));
        max-width: none;
    }

    .page-home-v15 .v15-contact h2 {
        margin-top: calc(12 * var(--v15-u));
        font-size: calc(48 * var(--v15-u));
    }

    .page-home-v15 .v15-contact__body {
        margin-top: calc(17 * var(--v15-u));
    }

    .page-home-v15 .v15-contact__body p {
        font-size: calc(16.5 * var(--v15-u));
    }

    .page-home-v15 .v15-contact__body p + p {
        margin-top: calc(3 * var(--v15-u));
    }

    .page-home-v15 .v15-contact__cta {
        min-width: calc(156 * var(--v15-u));
        height: calc(52 * var(--v15-u));
        margin-top: calc(21 * var(--v15-u));
    }

    .page-home-v15 .site-footer > .shell {
        position: relative;
        display: block;
    }

    .page-home-v15 .v9-footer-main {
        height: 100%;
        display: grid;
        grid-template-columns: 1fr 1.5fr 1fr;
        align-items: center;
        gap: calc(24 * var(--v15-u));
        padding: 0;
    }

    .page-home-v15 .brand-footer .brand-name {
        font-size: calc(28 * var(--v15-u));
    }

    .page-home-v15 .brand-footer .brand-cn {
        font-size: calc(14 * var(--v15-u));
    }

    .page-home-v15 .footer-tagline {
        margin-top: calc(12 * var(--v15-u));
        font-size: calc(13 * var(--v15-u));
    }

    .page-home-v15 .v9-footer-nav {
        gap: calc(22 * var(--v15-u));
    }

    .page-home-v15 .v9-footer-nav a {
        font-size: calc(13 * var(--v15-u));
    }

    .page-home-v15 .v15-footer-cta {
        font-size: calc(14 * var(--v15-u));
    }

    .page-home-v15 .footer-bottom {
        position: absolute;
        right: 0;
        bottom: calc(10 * var(--v15-u));
        left: 0;
        height: auto;
        min-height: 0;
        padding: 0;
        border-top: 0;
        font-size: calc(9 * var(--v15-u));
        line-height: 1.35;
        pointer-events: none;
    }

    .page-home-v15 .footer-bottom a {
        pointer-events: auto;
    }

    .page-home-v15 .beian-link img {
        width: calc(16 * var(--v15-u));
        height: calc(16 * var(--v15-u));
    }
}
