@font-face {font-family: Inter; src: url('vendor/inter-variable.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap;}
:root {--ink: #080f15; --navy: #071d32; --blue: #0b4e91; --cyan: #1598d4; --orange: #f28c00; --muted: #46545f; --line: #ccd6dd; --paper: #f2f4f5; --gutter: 64px; --page-width: 1536px; --header: 112px; --edge: max(var(--gutter),calc((100vw - var(--page-width))/2 + var(--gutter))); --ease: cubic-bezier(.22,1,.36,1); --body: Inter,Arial,sans-serif; --amerig-font-display: Inter,Arial,sans-serif;}
* {box-sizing: border-box; letter-spacing: 0;}
html {scroll-behavior: smooth; scroll-padding-top: calc(var(--header) + 24px);}
body {margin: 0; background: white; color: var(--ink); font: 400 16px/1.7 var(--body); font-optical-sizing: auto; font-kerning: normal; -webkit-font-smoothing: antialiased;}
body.dialog-open {overflow: hidden;}
button,input,textarea,select {font: inherit; color: inherit;}
a {color: inherit; text-decoration: none;}
button {cursor: pointer; border: 0; background: none; padding: 0; touch-action: manipulation;}
button:disabled {cursor: default;}
img,video {display: block; width: 100%; max-width: 100%;}
h1,h2,h3,p,figure {margin: 0;}
h1,h2,h3 {font-family: var(--amerig-font-display); font-weight: 600; line-height: 1.06;}
h1,h2 {font-weight: 700;}
h2 {font-size: 64px; line-height: 1.12; text-wrap: balance;}
p {text-wrap: pretty;}
svg {width: 22px; height: 22px; stroke-width: 1.5; flex-shrink: 0;}
[hidden] {display: none !important;}
:focus-visible {outline: 2px solid var(--cyan); outline-offset: 5px;}
.wrap {width: 100%; max-width: var(--page-width); padding-inline: var(--gutter); margin-inline: auto;}
.section-space {padding-block: 112px;}
.section-label {font-size: 14px; margin-bottom: 36px; display: flex; gap: 10px; align-items: center;}
.section-label span {color: #8b969f;}
.small-label {font-size: 14px; color: var(--muted);}
.sr-only {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;}
.skip-link {position: fixed; top: -80px; left: 16px; background: white; color: var(--ink); z-index: 100; padding: 12px 18px;}
.skip-link:focus {top: 12px;}
.reverse-logo {filter: brightness(0) invert(1); width: 160px; height: auto; min-width: 160px; background: transparent;}
.site-header {position: fixed; top: 0; left: 0; right: 0; height: var(--header); z-index: 30; color: white; background: #080f15c9; backdrop-filter: blur(12px); transition: background .35s,box-shadow .35s;}
.site-header.scrolled,.site-header.menu-open {background: #080f15f5; box-shadow: 0 1px 0 #ffffff12; backdrop-filter: blur(12px);}
.page-progress {position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--cyan); transform: scaleX(var(--page-progress,0)); transform-origin: left; pointer-events: none;}
.header-inner {height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 40px;}
.brand {display: flex; align-items: center; gap: 18px; flex-shrink: 0;}
.brand-endorsement {display: flex; flex-direction: column; width: 128px; flex-shrink: 0; border-left: 1px solid #ffffff38; padding-left: 18px; color: #adc1cd; font-size: 14px; line-height: 1.65; font-weight: 600; text-transform: uppercase;}
.desktop-nav {display: none; align-items: center; gap: 42px; font-size: 14px;}
.desktop-nav a {display: flex; align-items: center; gap: 14px; padding-block: 14px; position: relative;}
.desktop-nav a:after {content: ''; height: 1px; position: absolute; left: 0; right: 100%; bottom: 8px; background: var(--cyan); transition: right .35s var(--ease);}
.desktop-nav a:hover:after,.desktop-nav a[aria-current=location]:after {right: 0;}
.desktop-nav svg {width: 19px; height: 19px;}
.icon-button {display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; flex-shrink: 0; transition: color .25s,background .25s;}
.icon-button:hover {color: var(--blue);}
.menu-toggle {display: none; gap: 14px; border: 1px solid #ffffff45; border-radius: 4px; width: 104px; height: 46px; font-size: 14px;}
.menu-toggle svg {width: 22px; height: 22px; stroke-width: 1.6;}
.menu-toggle:hover {color: white; background: #ffffff12; border-color: #ffffff8c;}
.mobile-nav {position: absolute; top: 100%; left: 0; right: 0; background: var(--ink); padding: 15px var(--gutter) 32px; box-shadow: 0 18px 28px #080f1525;}
.mobile-nav a {display: flex; justify-content: space-between; align-items: center; padding-block: 19px; border-bottom: 1px solid #ffffff22; font-size: 23px;}
.hero {position: relative; isolation: isolate; background: var(--ink); color: white; height: calc(100svh - 36px); min-height: 640px; max-height: 1050px; display: flex; align-items: flex-end; overflow: hidden;}
.hero-poster,.hero-video,.hero-shade {position: absolute; inset: 0; height: 100%; width: 100%; pointer-events: none;}
.hero-poster {z-index: 0; object-fit: cover; object-position: 50% 46%;}
.hero-video {z-index: 1; opacity: 0; object-fit: cover; object-position: 50% 46%; transform: translate3d(0,var(--hero-shift,0px),0) scale(var(--hero-scale,1)); will-change: transform; transition: opacity .3s;}
.hero.video-ready .hero-video {opacity: 1;}
.hero-shade {z-index: 2; background: linear-gradient(0deg,#020c14c9 0%,#020c1448 27%,#020c1400 58%,#020c1480 100%);}
.hero-content {position: relative; z-index: 3;}
.hero-overline,.hero-film {z-index: 3;}
.hero-overline {position: absolute; top: 153px; left: 0; right: 0; font-size: 14px; text-transform: uppercase; display: flex; gap: 12px; align-items: center;}
.hero-overline span {opacity: .6;}
.hero-content {padding-bottom: 92px; padding-top: 250px;}
.hero h1 {font-size: 144px; line-height: 1; font-weight: 700; display: flex; gap: .16em; white-space: nowrap; text-transform: uppercase; color: #f1f5f7;}
.hero h1>span {display: inline-block;}
.hero h1>span+span {color: #a8d5e8;}
.hero-bottom {display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 15px;}
.hero-bottom>p {font-size: 18px; line-height: 1.5; color: #d5e2e8;}
.hero .hero-cta {position: relative; min-width: 226px; min-height: 56px; padding: 16px 22px; gap: 24px; border: 1px solid #ffb03c; border-radius: 4px; background: var(--orange); color: var(--ink); font-size: 14px; font-weight: 600; box-shadow: inset 0 1px 0 #ffffff35; transition: background .25s,box-shadow .3s,transform .4s var(--ease);}
.hero .hero-cta svg {width: 22px; height: 22px; stroke-width: 1.7;}
.hero .hero-cta:hover {background: #ffa31a; box-shadow: 0 8px 28px #0003; transform: translateY(-2px);}
.hero .hero-cta:active {transform: translateY(0); box-shadow: none;}
.hero .hero-cta:hover svg {transform: translate(3px,-3px);}
.action-link {display: inline-flex; align-items: center; gap: 20px; font-size: 14px; line-height: 1.4; flex-shrink: 0;}
.round-arrow {width: 52px; height: 52px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #304556; border-radius: 50%; flex-shrink: 0; transition: background .3s,color .3s,border-color .3s,transform .45s var(--ease);}
.round-arrow svg {width: 24px; height: 24px; transition: transform .45s var(--ease);}
.round-arrow:hover {background: var(--ink); border-color: var(--ink); color: white;}
.round-arrow.accent {background: var(--orange); color: var(--ink); border-color: var(--orange); width: 48px; height: 48px;}
.action-link:hover .round-arrow {background: white; border-color: white; color: var(--ink);}
.action-link:hover .round-arrow svg {transform: translate(2px,-2px);}
.hero-film {position: absolute; bottom: 21px; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; gap: 24px;}
.film-link {display: inline-flex; align-items: center; gap: 9px; font-size: 14px; min-height: 44px; color: #d9e7ef;}
.film-link svg {width: 12px; height: 12px;}
.film-link:hover {color: white;}
.film-controls {display: flex; align-items: center; gap: 10px;}
.video-toggle {min-width: 44px; height: 44px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; color: white; border: 1px solid #ffffff45; border-radius: 4px;}
.video-toggle>span {font-size: 14px; font-weight: 500; line-height: 1.5;}
.video-toggle:hover {background: #ffffff12; border-color: #ffffff90;}
.hero.video-paused .film-progress {display: none;}
.video-toggle svg {width: 14px; height: 14px;}
.film-duration {font-family: var(--body); font-size: 14px; font-weight: 500; font-variant-numeric: tabular-nums;}
.film-progress {width: 64px; height: 1px; overflow: hidden; background: #ffffff44; margin-left: 5px;}
.film-progress>span {height: 100%; width: 0; display: block; background: var(--orange);}
.statement {font-size: 86px; line-height: 1.1; font-weight: 700; text-wrap: initial;}
.statement>span {color: var(--blue);}
.intro-bottom {display: grid; grid-template-columns: 1.35fr 1fr; gap: 76px; align-items: end; margin-top: 28px;}
.agent-note {font-size: 14px; color: var(--muted);}
.intro-copy {max-width: 390px; justify-self: end;}
.intro-copy>p {font-size: 17px; line-height: 1.65;}
.text-link {display: inline-flex; align-items: center; justify-content: space-between; gap: 23px; min-height: 44px; font-size: 14px; color: var(--blue); width: fit-content; position: relative;}
.text-link:after {content: ''; position: absolute; height: 1px; left: 0; right: 100%; bottom: 4px; background: currentColor; transition: right .35s var(--ease);}
.text-link:hover:after {right: 0;}
.text-link svg {width: 20px; height: 20px; transition: transform .35s var(--ease);}
.text-link:hover svg {transform: translate(3px,-3px);}
.intro-copy .text-link {margin-top: 12px;}
.equipment {background: var(--paper); overflow: hidden;}
.section-heading {display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-bottom: 38px;}
.section-heading h2 {font-size: 66px; line-height: 1.1;}
.gallery-controls {display: flex; align-items: center; gap: 13px; flex-shrink: 0;}
.gallery-count {display: flex; gap: 9px; font-size: 14px; font-variant-numeric: tabular-nums; min-width: 87px; margin-right: 8px;}
.count-total {color: #64727c;}
.gallery-controls .icon-button svg {width: 29px; height: 29px; stroke-width: 1.3;}
.gallery-controls button:disabled {opacity: .25;}
.gallery-controls button:not(:disabled):hover {background: #071d3208; border-radius: 50%;}
.gallery-stage {position: relative;}
.gallery-image-controls {position: absolute; z-index: 2; top: 0; left: var(--edge); width: var(--gallery-image-width,70%); height: var(--gallery-image-height,300px); display: flex; align-items: center; justify-content: space-between; padding: 14px; pointer-events: none;}
.gallery-image-arrow {width: 48px; height: 48px; border: 1px solid #ffffff80; border-radius: 4px; background: #080f15e8; color: white; box-shadow: 0 2px 12px #0003; pointer-events: auto;}
.gallery-image-arrow svg {width: 24px; height: 24px; stroke-width: 1.8;}
.gallery-image-arrow:not(:disabled):hover {background: var(--blue); color: white; border-color: white;}
.gallery-image-arrow:disabled {background: #080f1599; color: #ffffff80; border-color: #ffffff40; box-shadow: none;}
.gallery-image-arrow:focus-visible {outline-color: white; outline-offset: 3px;}
.equipment-gallery {position: relative; display: flex; gap: 32px; padding: 0 var(--edge) 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--edge); scrollbar-width: none; overscroll-behavior-x: contain;}
.equipment-gallery.is-dragging {scroll-snap-type: none; user-select: none;}
.equipment-gallery.is-dragging,.equipment-gallery.is-dragging .equipment-image {cursor: grabbing;}
.equipment-gallery.is-dragging .equipment-image img {transform: none;}
@media (hover: hover) and (pointer: fine) {.equipment-image {cursor: grab;}}
.equipment-gallery::-webkit-scrollbar {display: none;}
.equipment-gallery:after {content: ''; flex: 0 0 calc(17% - 32px);}
.equipment-slide {flex: 0 0 83%; min-width: 0; scroll-snap-align: start;}
.equipment-image {display: block; width: 100%; aspect-ratio: 1.8; overflow: hidden; border-radius: 3px; background: #dfe5e8; text-align: left;}
.equipment-image img {height: 100%; object-fit: cover; object-position: 50% 53%; transition: transform 1s var(--ease);}
.equipment-image:hover img {transform: scale(1.035);}
.equipment-slide[data-product=phoenix] .equipment-image img {object-position: 50% 55%;}
.equipment-slide[data-product=taurus] .equipment-image img {object-position: 50% 50%;}
.equipment-caption {display: grid; grid-template-columns: 1fr auto auto; align-items: end; gap: 32px; padding-top: 25px;}
.equipment-type {display: block; font-size: 14px; margin-bottom: 6px; color: #465660;}
.equipment-caption h3 {font-size: 45px; line-height: 1.1;}
.equipment-specs {display: flex; align-items: center; gap: 9px; font-size: 14px; line-height: 1.6; padding-bottom: 7px; flex-wrap: wrap;}
.equipment-specs>span+span:before {content: '/'; margin-right: 9px; color: #8d9ca7;}
.gallery-footer {display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 52px;}
.gallery-footer>p {font-size: 14px; color: var(--muted);}
.gallery-footer .text-link {font-size: 14px;}
.parts {display: grid; grid-template-columns: 1fr 1fr; max-width: 1920px; margin: auto; background: var(--blue); color: white;}
.parts-photo {position: relative; min-height: 710px; overflow: hidden;}
.parts-photo img {position: absolute; inset: 0; height: 100%; object-fit: cover; object-position: 62% 50%;}
.motion .parts-photo img {transform: translate3d(0,var(--photo-shift,0px),0) scale(1.08); will-change: transform;}
.parts-copy {padding: 90px max(64px,calc((100vw - 1408px)/2)); padding-right: var(--edge);}
.section-label.light {color: #d8e7f1;}
.section-label.light span {color: #88b9d8;}
.parts h2 {font-size: 62px; line-height: 1.12; font-weight: 700;}
.parts-copy>p:not(.section-label) {font-size: 16px; line-height: 1.8; color: #e0ecf5; max-width: 440px; margin-top: 32px;}
.text-link.light {color: white;}
.parts .text-link {margin-top: 30px; border-bottom: 1px solid #ffffff66; padding-bottom: 7px; min-height: 45px; font-size: 14px;}
.parts .text-link svg {color: var(--orange);}
.parts .text-link:after {display: none;}
.company .statement {font-size: 72px;}
.company-bottom {display: grid; grid-template-columns: 1.1fr 1fr; gap: 130px; margin-top: 58px;}
.company-copy {max-width: 480px; color: var(--muted); font-size: 16px; line-height: 1.8;}
.company-copy p+p {margin-top: 20px;}
.regional-focus {max-width: 420px; width: 100%; justify-self: end;}
.regional-focus>.small-label {margin-bottom: 13px;}
.region {display: flex; gap: 19px; align-items: flex-start; padding: 23px 0;}
.region+.region {border-top: 1px solid var(--line);}
.region-dot {width: 6px; height: 6px; border-radius: 50%; background: var(--cyan); margin-top: 10px; flex-shrink: 0;}
.region h3 {font-size: 22px; line-height: 1.3;}
.region p {font-size: 14px; color: var(--muted); margin-top: 6px;}
.regional-contact {border-top: 1px solid var(--line); padding-top: 19px; margin-top: 3px;}
.regional-contact a {display: flex; align-items: center; gap: 13px; width: fit-content; max-width: 100%; min-height: 44px; font-size: 14px; color: var(--blue);}
.regional-contact a span {min-width: 0; overflow-wrap: anywhere; text-underline-offset: 5px; text-decoration-thickness: 1px;}
.regional-contact a:hover span {text-decoration-line: underline;}
.regional-contact svg {width: 17px; height: 17px; flex-shrink: 0;}
.contact {background: #f4f6f7;}
.contact-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 100px;}
.contact h2 {font-size: 100px; line-height: 1.02;}
.contact h2 span {color: var(--blue);}
.contact-copy>p:not(.section-label) {color: var(--muted); font-size: 15px; margin-top: 31px;}
.contact-email {font-size: 14px; gap: 18px; margin-top: 26px; overflow-wrap: anywhere;}
.contact-phone {display: block; width: fit-content; font-size: 14px; color: var(--muted); margin-top: 10px;}
.registered-office {margin-top: 36px;}
.registered-office>.small-label {font-size: 14px; margin-bottom: 8px;}
.registered-office>p:last-child {font-size: 14px; color: var(--muted); line-height: 1.85;}
.form-area {padding-top: 52px;}
.form-row {display: grid; grid-template-columns: 1fr 1fr; gap: 22px;}
form label {display: block; font-size: 14px; font-weight: 600; min-width: 0; margin-bottom: 24px;}
form label>span {color: var(--blue);}
input:not([type="checkbox"]),select,textarea {display: block; width: 100%; max-width: 100%; min-width: 0; margin-top: 9px; padding: 14px 15px; border: 1px solid transparent; border-radius: 4px; background: #e8edf0; font-size: 14px; font-weight: 400; line-height: 1.5; min-height: 51px; transition: background .2s,box-shadow .2s;}
input::placeholder,textarea::placeholder {color: #8898a5;}
input:not([type="checkbox"]):hover,select:hover,textarea:hover {background: #e2e9ed;}
input:not([type="checkbox"]):focus,select:focus,textarea:focus {outline: 0; background: white; box-shadow: 0 0 0 2px var(--blue);}
textarea {min-height: 140px; resize: vertical;}
.button {display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; padding: 16px 24px; min-height: 53px; border-radius: 4px; font-size: 14px; line-height: 1.4; transition: background .25s,color .25s;}
.button svg {width: 19px; height: 19px; transition: transform .35s var(--ease);}
.button:hover svg {transform: translate(2px,-2px);}
.button-dark {background: var(--ink); color: white;}
.button-dark:hover {background: var(--blue);}
.button-dark svg {color: var(--orange);}
.enquiry-ready {padding-top: 28px; border-top: 1px solid var(--line);}
.enquiry-ready>svg {width: 36px; height: 36px; color: var(--blue); margin-bottom: 28px;}
.enquiry-ready h3 {font-size: 34px; line-height: 1.2;}
.enquiry-ready p {font-size: 15px; color: var(--muted); margin-top: 20px;}
.enquiry-ready .button {margin-top: 28px;}
.enquiry-ready .text-link {display: flex; margin-top: 18px;}
.footer {background: var(--ink); color: white; padding-top: 56px;}
.footer-top {display: grid; grid-template-columns: 1fr auto auto; gap: 64px; align-items: center; padding-bottom: 45px;}
.footer-brand {width: fit-content;}
.footer-brand>span {display: block; font-size: 14px; color: #b3c2cc; margin-top: 14px;}
.footer nav {display: flex; align-items: center; gap: 32px; font-size: 14px; color: #dce7ed;}
.footer nav a {transition: color .2s;}
.footer nav a:hover {color: var(--cyan);}
.back-top {color: white; border-color: #ffffff55; width: 44px; height: 44px;}
.back-top:hover {background: white; border-color: white; color: var(--ink);}
.footer-bottom {display: flex; justify-content: space-between; align-items: center; gap: 32px; border-top: 1px solid #ffffff24; padding-block: 24px; font-size: 14px; color: #9caeb9;}
dialog {border: 0; padding: 0; max-height: calc(100svh - 40px); overscroll-behavior: contain; color: var(--ink); border-radius: 4px; box-shadow: 0 30px 100px #0005;}
dialog::backdrop {background: #040b13cc; backdrop-filter: blur(7px);}
.dialog-close {position: absolute; top: 16px; right: 16px; z-index: 3; width: 44px; height: 44px; background: white; color: var(--ink); border: 1px solid #d8e1e7; border-radius: 50%;}
.dialog-close:hover {color: white; background: var(--ink); border-color: var(--ink);}
.equipment-dialog {width: min(1040px,calc(100% - 48px)); overflow: auto;}
.equipment-dialog[open] {display: grid; grid-template-columns: 1.05fr 1fr;}
.dialog-image {min-height: 570px; background: var(--paper);}
.dialog-image img {width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%;}
.dialog-copy {padding: 64px 38px 38px;}
.dialog-copy h2 {font-size: 42px; margin-top: 13px;}
.dialog-copy>p:not(.small-label) {font-size: 14px; line-height: 1.8; color: var(--muted); margin-top: 24px;}
.dialog-copy dl {margin: 25px 0 0; font-size: 14px;}
.dialog-copy dl>div {display: flex; align-items: baseline; justify-content: space-between; gap: 28px; border-top: 1px solid var(--line); padding-block: 12px;}
.dialog-copy dt {color: var(--muted);}
.dialog-copy dd {margin: 0; font-weight: 600; text-align: right;}
.dialog-copy .spec-note {font-size: 14px !important; margin-top: 13px !important;}
.dialog-copy .button {margin-top: 27px; font-size: 14px; padding: 15px 18px; gap: 22px;}
.film-dialog {width: min(1200px,calc(100% - 36px)); background: var(--ink); color: white;}
.film-dialog video {width: 100%; max-height: calc(100svh - 120px);}
.film-dialog>p {display: flex; justify-content: space-between; gap: 24px; padding: 19px 24px; font-size: 14px;}
.film-dialog>p>span {color: #b4c5d1;}
.motion .reveal {opacity: 0; transform: translateY(28px); transition: opacity .9s var(--ease),transform 1.1s var(--ease); transition-delay: var(--reveal-delay,0ms);}
.motion .reveal.visible,.motion .reveal:focus-within {opacity: 1; transform: none;}
[data-reveal-delay="1"] {--reveal-delay: 100ms;}
[data-reveal-delay="2"] {--reveal-delay: 200ms;}
@keyframes nav-arrive { 
  from {opacity: 0; transform: translateY(-8px);} 
  to {opacity: 1; transform: none;} 
}
@media (prefers-reduced-motion:no-preference) {.mobile-nav:not([hidden]) a {animation: nav-arrive .4s var(--ease) both;}.mobile-nav a:nth-child(2) {animation-delay: 45ms;}.mobile-nav a:nth-child(3) {animation-delay: 90ms;}.mobile-nav a:nth-child(4) {animation-delay: 135ms;}}
@keyframes arrive { 
  from {opacity: 0; transform: translateY(35px);} 
  to {opacity: 1; transform: none;} 
}
@media (prefers-reduced-motion:no-preference) {.hero h1>span {animation: arrive 1.1s .12s var(--ease) both;}.hero h1>span+span {animation-delay: .24s;}.hero-bottom {animation: arrive 1.1s .35s var(--ease) both;}}
@media (min-width:1700px) {.hero h1 {font-size: 154px;}.hero-content {padding-bottom: 104px;}.parts-copy {padding-left: 90px; padding-right: 90px;}}
@media (max-width:1399px) {.hero h1 {font-size: 126px;}.statement {font-size: 78px;}.section-heading h2 {font-size: 60px;}.equipment-caption {gap: 24px;}.equipment-caption h3 {font-size: 40px;}.equipment-specs {font-size: 14px;}.company .statement {font-size: 66px;}.parts h2 {font-size: 56px;}.parts-copy {padding: 82px 64px;}.contact-grid {gap: 72px;}.contact h2 {font-size: 88px;}}
@media (max-width:1199px) {:root {--gutter: 44px;}.hero h1 {font-size: 108px;}.hero-bottom>p {font-size: 16px;}.statement {font-size: 67px;}.intro-bottom {gap: 70px;}.section-heading h2 {font-size: 53px;}.equipment-caption {grid-template-columns: 1fr auto; gap: 12px 24px;}.equipment-specs {grid-column: 1; grid-row: 2; padding-bottom: 0;}.equipment-caption>.round-arrow {grid-column: 2; grid-row: 1/3; align-self: center;}.parts-copy {padding: 75px 44px;}.parts h2 {font-size: 50px;}.parts-photo {min-height: 660px;}.company .statement {font-size: 58px;}.company-bottom {gap: 90px;}.contact-grid {gap: 55px;}.contact h2 {font-size: 80px;}.contact-email {font-size: 14px;}.footer-top {gap: 35px;}.footer nav {gap: 24px;}}
@media (max-width:999px) {:root {--gutter: 36px;}.hero h1 {font-size: 92px;}.hero {min-height: 660px;}.desktop-nav {gap: 32px;}.hero-bottom>p {font-size: 15px;}.action-link {font-size: 14px;}.statement {font-size: 60px;}.section-space {padding-block: 90px;}.section-heading h2 {font-size: 47px;}.gallery-controls {gap: 4px;}.gallery-count {font-size: 14px; min-width: 77px;}.equipment-image {aspect-ratio: 1.6;}.parts-copy {padding: 64px 36px;}.parts h2 {font-size: 45px;}.parts-copy>p:not(.section-label) {font-size: 14px;}.parts .text-link {font-size: 14px; gap: 14px;}.parts-photo {min-height: 610px;}.company .statement {font-size: 51px;}.company-bottom {gap: 60px;}.company-copy {font-size: 14px;}.contact h2 {font-size: 72px;}.contact-grid {gap: 40px;}.contact-email {font-size: 14px;}.form-row {grid-template-columns: 1fr; gap: 0;}.footer nav {gap: 20px; font-size: 14px;}.dialog-copy {padding: 64px 30px 30px;}.dialog-copy h2 {font-size: 36px;}}
@media (max-width:799px) {:root {--gutter: 28px; --header: 108px;}.desktop-nav {display: none;}.menu-toggle {display: flex;}.hero h1 {font-size: 76px;}.hero-overline {top: 138px; font-size: 14px;}.hero {min-height: 690px;}.hero-bottom>p {font-size: 14px;}.hero-bottom {gap: 25px;}.hero h1 {gap: .12em;}.action-link {gap: 12px; font-size: 14px;}.round-arrow.accent {width: 43px; height: 43px;}.hero-content {padding-bottom: 96px;}.statement {font-size: 51px;}.intro-bottom {grid-template-columns: 1fr 1.2fr; gap: 45px; margin-top: 34px;}.intro-copy>p {font-size: 15px;}.section-heading h2 {font-size: 41px;}.section-heading {gap: 18px;}.gallery-count {min-width: 67px; font-size: 14px; margin-right: 3px;}.gallery-controls .icon-button {width: 40px; height: 44px;}.gallery-controls .icon-button svg {width: 24px; height: 24px;}.equipment-gallery {gap: 24px;}.equipment-gallery:after {flex-basis: calc(17% - 24px);}.equipment-caption h3 {font-size: 36px;}.equipment-type {font-size: 14px;}.equipment-specs {font-size: 14px;}.gallery-footer {align-items: flex-start; flex-direction: column; gap: 10px; margin-top: 34px;}.parts {grid-template-columns: 1fr;}.parts-photo {min-height: 0; aspect-ratio: 1.7;}.parts-photo img {object-position: 55% 42%;}.parts-copy {padding: 70px var(--gutter);}.parts h2 {font-size: 55px;}.parts h2 br:last-child {display: none;}.parts-copy>p:not(.section-label) {max-width: 520px; font-size: 15px;}.company .statement {font-size: 45px;}.company-bottom {gap: 40px;}.contact-grid {grid-template-columns: 1fr; gap: 42px;}.contact h2 {font-size: 88px;}.contact-email {font-size: 14px;}.contact-copy>p:not(.section-label) {font-size: 16px;}.form-area {padding-top: 0;}.form-row {grid-template-columns: 1fr 1fr; gap: 22px;}.contact .registered-office {margin-top: 25px;}.footer-top {grid-template-columns: 1fr auto; gap: 35px;}.footer nav {grid-column: 1/-1; grid-row: 2; flex-wrap: wrap; gap: 25px; font-size: 14px;}.back-top {grid-column: 2; grid-row: 1;}.footer-bottom {font-size: 14px;}.equipment-dialog[open] {grid-template-columns: 1fr;}.dialog-image {min-height: 0; aspect-ratio: 1.9;}.dialog-copy {padding: 30px;}.dialog-copy h2 {font-size: 40px;}.dialog-copy>p:not(.small-label) {max-width: 600px;}.dialog-copy .button {font-size: 14px;}}
@media (max-width:620px) {:root {--gutter: 22px;}.section-space {padding-block: 72px;}.hero {height: calc(100svh - 30px); min-height: 620px; max-height: 940px;}.hero-video {object-position: 49% 45%;}.hero-shade {background: linear-gradient(0deg,#020c14e0 0%,#020c1460 33%,#020c1400 65%,#020c1480 100%);}.hero-overline {font-size: 14px; gap: 8px;}.hero-content {padding-top: 245px; padding-bottom: 92px;}.hero h1 {display: block; font-size: 66px; line-height: 1; white-space: normal;}.hero h1>span {display: block;}.hero-bottom {display: block; margin-top: 22px;}.hero-bottom>p {font-size: 14px; line-height: 1.6;}.hero-bottom .action-link {margin-top: 19px; font-size: 14px; gap: 17px;}.hero-film {bottom: 15px;}.film-progress {width: 45px;}.film-link {font-size: 14px;}.hero h1>span+span {margin-top: 0;}.section-label {font-size: 14px; gap: 8px; margin-bottom: 27px;}.statement {font-size: 39px; line-height: 1.12;}.intro-bottom {display: flex; flex-direction: column-reverse; align-items: stretch; gap: 29px; margin-top: 29px;}.intro-copy {max-width: none; justify-self: initial;}.intro-copy>p {font-size: 15px; max-width: 410px;}.agent-note {font-size: 14px;}.text-link {font-size: 14px;}.section-heading {display: block; margin-bottom: 28px;}.section-heading h2 {font-size: 37px;}.gallery-controls {justify-content: flex-end; margin-top: 20px; gap: 6px;}.gallery-count {margin-right: auto; font-size: 14px;}.gallery-controls .icon-button {width: 44px; height: 44px;}.equipment-gallery {gap: 18px;}.equipment-slide {flex-basis: 92%;}.equipment-gallery:after {flex-basis: max(0px,calc(8% - 18px));}.equipment-image {aspect-ratio: 1.22;}.equipment-caption {padding-top: 21px; gap: 12px;}.equipment-caption h3 {font-size: 33px;}.equipment-type {font-size: 14px;}.equipment-caption>.round-arrow {width: 43px; height: 43px; grid-row: 1; align-self: end;}.equipment-caption>.round-arrow svg {width: 21px; height: 21px;}.equipment-specs {grid-column: 1/-1; gap: 7px; font-size: 14px; margin-top: 5px;}.equipment-specs>span+span:before {margin-right: 7px;}.gallery-footer {margin-top: 27px;}.gallery-footer>p {font-size: 14px;}.gallery-footer .text-link {font-size: 14px;}.parts-photo {aspect-ratio: 1.14;}.parts-photo img {object-position: 63% 45%;}.parts-copy {padding: 64px var(--gutter);}.parts h2 {font-size: 45px; line-height: 1.08;}.parts-copy>p:not(.section-label) {font-size: 14px; margin-top: 25px;}.parts .text-link {font-size: 14px; margin-top: 25px; gap: 18px;}.company .statement {font-size: 37px; line-height: 1.13;}.company-bottom {grid-template-columns: 1fr; gap: 36px; margin-top: 32px;}.company-copy {font-size: 14px;}.regional-focus {justify-self: start; max-width: none;}.region {padding-block: 20px;}.region h3 {font-size: 21px;}.region p {font-size: 14px;}.contact h2 {font-size: 75px;}.contact-copy>p:not(.section-label) {font-size: 14px; margin-top: 24px;}.contact-email {font-size: 14px; gap: 13px; margin-top: 22px;}.contact-phone {font-size: 14px;}.registered-office>p:last-child {font-size: 14px;}.contact-grid {gap: 38px;}.form-row {gap: 17px;}form label {font-size: 14px; margin-bottom: 22px;}input,select,textarea {font-size: 16px; padding: 13px 12px;}textarea {min-height: 145px;}.button {font-size: 14px; padding: 16px 20px; gap: 25px;}.footer {padding-top: 44px;}.footer-top {padding-bottom: 29px; gap: 30px;}.footer-brand>span {font-size: 14px;}.footer nav {font-size: 14px; gap: 20px;}.footer-bottom {flex-direction: column; align-items: flex-start; gap: 7px; font-size: 14px; padding-block: 22px;}.equipment-dialog {width: calc(100% - 22px); max-height: calc(100svh - 22px);}.dialog-image {aspect-ratio: 1.45;}.dialog-copy {padding: 27px 23px 30px;}.dialog-copy h2 {font-size: 34px;}.dialog-copy>p:not(.small-label) {font-size: 14px; margin-top: 20px;}.dialog-copy .button {font-size: 14px; width: 100%; gap: 15px;}.dialog-close {width: 40px; height: 40px; top: 12px; right: 12px;}.film-dialog {width: calc(100% - 16px);}.film-dialog>p {font-size: 14px; padding: 15px; gap: 10px;}.film-dialog>p>span {max-width: 160px; text-align: right;}.enquiry-ready h3 {font-size: 28px;}}
@media (max-width:359px) {:root {--gutter: 18px;}.hero h1 {font-size: 57px;}.hero-overline {font-size: 14px;}.hero-bottom>p {font-size: 14px;}.statement {font-size: 33px;}.section-heading h2 {font-size: 32px;}.company .statement {font-size: 32px;}.parts h2 {font-size: 39px;}.contact h2 {font-size: 66px;}.contact-email {font-size: 14px; gap: 9px;}.form-row {grid-template-columns: 1fr; gap: 0;}.equipment-caption h3 {font-size: 29px;}.equipment-specs {font-size: 14px; gap: 5px;}.equipment-specs>span+span:before {margin-right: 5px;}}
@media (max-height:720px) and (min-width:800px) {.hero {min-height: 520px; height: calc(100svh - 30px);}.hero h1 {font-size: 100px;}.hero-content {padding-bottom: 86px;}.hero-overline {top: 132px;}.hero-bottom>p {font-size: 14px;}.hero-bottom {margin-top: 12px;}.hero .round-arrow.accent {width: 43px; height: 43px;}}
@media (max-height:700px) and (max-width:620px) {.hero {min-height: 560px;}.hero h1 {font-size: 58px;}.hero-content {padding-top: 210px; padding-bottom: 82px;}.hero-bottom {margin-top: 16px;}.hero-overline {top: 129px;}.hero-bottom .action-link {margin-top: 14px;}}
@media (min-width:621px) and (max-width:720px) {.hero h1 {font-size: 68px;}}
@media (max-width:620px) {.statement {font-size: 37px;}.company .statement {font-size: 34px;}}
@media (max-width:389px) {.statement {font-size: 34px;}.company .statement {font-size: 31px;}}
@media (max-width:359px) {.statement {font-size: 31px;}.company .statement {font-size: 28px;}}
@media (max-height:720px) and (min-width:800px) and (max-width:999px) {.hero h1 {font-size: 84px;}}
@media (max-width:799px) {.hero .hero-cta {min-width: 210px; font-size: 14px; min-height: 52px; padding: 15px 19px; gap: 18px;}}
@media (max-width:620px) {.header-inner {gap: 20px;}.hero .hero-cta {margin-top: 20px;}.regional-contact a {font-size: 14px;}}
@media (max-height:700px) and (max-width:620px) {.hero .hero-cta {margin-top: 14px;}}
:root {--nav-height: 100px; --principal-height: 64px; --header: var(--nav-height);}
.hero {min-height: calc(var(--header) + 340px);}
.principal-strip {height: var(--principal-height); background: #050505; border-top: 3px solid var(--orange); color: #93d9ff;}
.principal-inner {height: 100%; display: flex; align-items: center; justify-content: center; gap: 16px;}
.agency-label {font-size: 14px; line-height: 1.3; text-transform: uppercase; white-space: nowrap;}
.principal-name {display: flex; align-items: center; gap: 12px; white-space: nowrap;}
.principal-name strong {color: white; font-size: 19px; line-height: 1.2; font-weight: 700; text-transform: uppercase;}
.principal-name [lang] {font-size: 14px; font-family: 'Microsoft YaHei','Noto Sans SC',sans-serif;}
.header-inner {height: var(--nav-height);}
.mobile-nav {max-height: calc(100svh - var(--header)); overflow-y: auto;}
.hero-overline {top: calc(var(--header) + 28px);}
.agent-note strong {display: block; font-size: 14px; line-height: 1.6; font-weight: 600; color: var(--blue); margin-top: 8px;}
.agent-note [lang] {display: block; font-size: 14px; margin-top: 4px;}
.capability-grid {margin: 72px 0 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 36px;}
.capability-grid>div {display: flex; flex-direction: column-reverse; align-items: flex-start; justify-content: flex-end; border-top: 1px solid var(--line); padding-top: 24px; gap: 12px;}
.capability-grid>div:first-child {border-top-color: var(--orange);}
.capability-grid dt {font-size: 14px; line-height: 1.6; color: var(--muted);}
.capability-grid dd {margin: 0; font-size: 43px; line-height: 1.15; font-weight: 600; font-family: var(--amerig-font-display); font-variant-numeric: tabular-nums; min-height: 50px;}
.register-intro {margin-top: -12px; margin-bottom: 44px;}
.register-intro p {max-width: 630px; font-size: 16px; color: var(--muted); line-height: 1.8;}
.equipment-detail {max-width: 760px; color: var(--muted); font-size: 14px; line-height: 1.8; margin-top: 13px;}
.field h2 {font-size: 62px;}
.field-grid {display: grid; grid-template-columns: 1.45fr 1fr; gap: 32px; margin-top: 42px;}
.field-grid figure {min-width: 0;}
.field-feature {grid-row: 1 / 3; display: flex; flex-direction: column;}
.field-image {position: relative; aspect-ratio: 2.2; overflow: hidden; border-radius: 3px; background: var(--paper);}
.field-feature .field-image {aspect-ratio: auto; flex: 1;}
.field-image img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease);}
.field-grid figure:hover img {transform: scale(1.035);}
.field-grid figure:not(.field-feature) img {object-position: 50% 62%;}
.field-grid figcaption {font-size: 14px; line-height: 1.5; color: var(--muted); margin-top: 15px; flex-shrink: 0;}
.parts h2 {font-size: 57px;}
.parts h2 br:last-child {display: revert;}
.parts-copy>p:not(.section-label)+p {margin-top: 18px;}
.method-layout {display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: start;}
.method-heading {position: sticky; top: calc(var(--header) + 45px);}
.method h2 {font-size: 68px;}
.method-steps {list-style: none; margin: 0; padding: 0;}
.method-steps li {display: grid; grid-template-columns: 30px minmax(0,1fr) 22px; gap: 26px; padding: 34px 0; border-top: 1px solid var(--line);}
.method-steps li:last-child {border-bottom: 1px solid var(--line);}
.step-number {color: var(--blue); font-size: 14px; line-height: 1.6; padding-top: 6px;}
.method-steps h3 {font-size: 30px; line-height: 1.2; transition: color .3s;}
.method-steps p {font-size: 15px; line-height: 1.8; color: var(--muted); margin-top: 15px;}
.method-steps li>svg {color: var(--blue); margin-top: 6px; transition: transform .4s var(--ease);}
.method-steps li:hover h3 {color: var(--blue);}
.method-steps li:hover>svg {transform: translate(2px,2px);}
.company {background: var(--paper);}
.company-bottom {align-items: start; gap: 80px;}
.company-slider {min-width: 0; width: 100%;}
.company-visual {position: relative; display: flex; width: 100%; aspect-ratio: 4/3; overflow-x: auto; overflow-y: hidden; border-radius: 3px; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain;}
.company-visual::-webkit-scrollbar {display: none;}
.company-slide {position: relative; flex: 0 0 100%; min-width: 0; aspect-ratio: 4/3; align-self: stretch; overflow: hidden; scroll-snap-align: start; scroll-snap-stop: always; background: var(--paper);}
.company-visual img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain;}
.company-slider-footer {display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 16px; padding-top: 8px;}
.company-slider-caption {min-width: 0; font-size: 14px; font-weight: 500; line-height: 1.5; color: var(--muted);}
.company-dots {display: flex; align-items: center; justify-content: center; gap: 0; flex-shrink: 0;}
.company-dot {display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; border-radius: 50%;}
.company-dot:before {content: ''; display: block; width: 8px; height: 8px; border-radius: 50%; background: #9aaab7; transition: background .2s,transform .2s;}
.company-dot:hover:before {background: var(--cyan);}
.company-dot[aria-current=true]:before {background: var(--blue); transform: scale(1.25);}
.company-facts {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; margin: 58px 0 0; padding-top: 28px; border-top: 1px solid var(--line);}
.company-facts dt {font-size: 18px; line-height: 1.4; font-weight: 600;}
.company-facts dd {margin: 7px 0 0; color: var(--muted); font-size: 14px; line-height: 1.7;}
.locations h2 {font-size: 52px;}
.locations-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 90px; margin-top: 44px;}
.locations .regional-focus {max-width: none; border-top: 1px solid var(--orange);}
.locations .region {padding-block: 28px;}
.locations .region h3 {font-size: 28px;}
.contact h2 {font-size: 80px;}
.form-consent {display: flex; align-items: flex-start; gap: 12px; font-size: 14px; font-weight: 400; line-height: 1.65; color: var(--muted); cursor: pointer;}
.form-consent input {display: block; flex: 0 0 18px; width: 18px; height: 18px; min-height: 18px; padding: 0; margin: 2px 0 0; accent-color: var(--blue);}
.form-consent>span {color: inherit;}
.form-actions {display: flex; align-items: center; flex-wrap: wrap; gap: 18px;}
.form-actions p {font-size: 14px; line-height: 1.6; color: var(--muted);}
.footer {border-top: 3px solid var(--orange);}
.footer-top {grid-template-columns: 1.4fr .6fr 1.1fr 1.1fr; align-items: start; gap: 40px;}
.footer-top>div,.footer-top>nav {min-width: 0;}
.footer-top nav {display: flex; flex-direction: column; align-items: flex-start; gap: 10px; grid-column: auto; grid-row: auto;}
.footer-label {font-size: 14px; line-height: 1.5; color: #a7c8dc; margin-bottom: 18px; text-transform: uppercase;}
.footer nav .footer-label {margin-bottom: 8px;}
.footer-address {font-size: 14px; line-height: 1.9; color: #b3c2cc; margin-top: 20px;}
.footer-contact {font-size: 14px; line-height: 1.9; color: #dce7ed;}
.footer-contact a {display: block; width: fit-content; max-width: 100%; overflow-wrap: anywhere;}
.footer-contact a:hover {color: var(--cyan);}
.footer-principal strong {display: block; font-size: 18px; line-height: 1.4; text-transform: uppercase;}
.footer-principal>[lang] {display: block; color: #93d9ff; font-size: 14px; margin-top: 8px;}
.footer-principal>p:last-child {font-size: 14px; line-height: 1.9; color: #b3c2cc; margin-top: 18px;}
.footer-bottom {flex-direction: row; align-items: center;}
@media (max-width:1199px) {.capability-grid dd {font-size: 36px;}.parts h2 {font-size: 48px;}.method-layout {gap: 56px;}.method h2 {font-size: 57px;}.company-bottom {gap: 55px;}.contact h2 {font-size: 72px;}.footer-top {grid-template-columns: 1fr 1fr; gap: 44px 70px;}}
@media (max-width:999px) {.parts h2 {font-size: 42px;}.method h2 {font-size: 49px;}.method-layout {gap: 40px;}.method-steps li {gap: 18px;}.method-steps h3 {font-size: 26px;}.method-steps p {font-size: 14px;}.company-bottom {gap: 40px;}.locations-grid {gap: 50px;}.contact h2 {font-size: 64px;}.field h2 {font-size: 50px;}}
@media (max-width:799px) {.capability-grid {gap: 22px;}.capability-grid dd {font-size: 30px; min-height: 36px;}.capability-grid dt {font-size: 14px;}.parts h2 {font-size: 55px;}.field-grid {grid-template-columns: 1fr 1fr; gap: 30px 22px;}.field-feature {grid-column: 1/-1; grid-row: auto;}.field-feature .field-image {flex: auto; aspect-ratio: 1.65;}.field-image {aspect-ratio: 1.5;}.method-layout {grid-template-columns: 1fr; gap: 45px;}.method-heading {position: static;}.method h2 {font-size: 53px;}.method h2 br {display: none;}.company-facts {gap: 24px;}.company-facts dt {font-size: 15px;}.contact h2 {font-size: 88px;}.locations h2 {font-size: 45px;}.locations .region h3 {font-size: 25px;}}
@media (max-width:620px) {:root {--principal-height: 60px;}.principal-inner {flex-direction: column; gap: 3px;}.agency-label {font-size: 14px;}.principal-name strong {font-size: 17px;}.hero-content {padding-top: calc(var(--header) + 95px);}.hero-overline {font-size: 14px; gap: 7px;}.capability-grid {grid-template-columns: 1fr 1fr; gap: 30px 24px; margin-top: 45px;}.capability-grid dd {font-size: 34px; min-height: 40px;}.register-intro {margin-top: 0; margin-bottom: 32px;}.register-intro p {font-size: 14px;}.equipment-detail {font-size: 14px;}.field h2 {font-size: 39px;}.field-grid {margin-top: 30px;}.field-grid figcaption {font-size: 14px;}.field-feature .field-image {aspect-ratio: 1.3;}.parts h2 {font-size: 43px;}.method h2 {font-size: 39px;}.method-steps li {gap: 14px; padding-block: 29px; grid-template-columns: 24px minmax(0,1fr) 18px;}.method-steps h3 {font-size: 25px;}.method-steps p {font-size: 14px;}.method-steps li>svg {width: 18px; height: 18px;}.company .statement {font-size: 30px;}.company-bottom {gap: 32px;}.company-facts {grid-template-columns: 1fr; margin-top: 34px; padding-top: 24px; gap: 22px;}.company-facts dt {font-size: 17px;}.locations h2 {font-size: 39px;}.locations-grid {grid-template-columns: 1fr; gap: 32px; margin-top: 32px;}.contact h2 {font-size: 59px;}.form-row {grid-template-columns: 1fr; gap: 0;}.footer-top {grid-template-columns: 1fr; gap: 32px;}.footer-top nav {flex-direction: row; flex-wrap: wrap; gap: 14px 24px;}.footer nav .footer-label {width: 100%; margin-bottom: 0;}.footer-principal strong {font-size: 20px;}.footer-bottom {font-size: 14px; gap: 18px;}}
@media (max-width:389px) {.company .statement {font-size: 28px;}}
@media (max-width:359px) {.company .statement {font-size: 24px;}.contact h2 {font-size: 53px;}.capability-grid dd {font-size: 30px;}}
@media (min-width:621px) and (max-width:799px) {.field-feature .field-image {aspect-ratio: 4/3;}}
@media (max-width:999px) {.desktop-nav {display: none;}.menu-toggle {display: flex;}}
@media (max-width:480px) {.header-inner {gap: 12px;}.brand {gap: 12px;}.brand-endorsement {width: 84px; padding-left: 12px; font-size: 14px; line-height: 1.5;}.menu-toggle {width: 44px;}.menu-toggle>span {display: none;}}
@media (max-width:359px) {.brand {gap: 8px;}.brand-endorsement {width: 60px; padding-left: 8px; font-size: 14px; line-height: 1.6;}}
body {font-size: 17px;}
.section-label,.small-label,.agent-note,.equipment-type,.capability-grid dt,.company-facts dd,.footer-label {line-height: 1.65;}
.section-label,.small-label,.equipment-type,.footer-label {font-weight: 600;}
.section-label span {font-weight: 400;}
.gallery-count,.equipment-specs,.step-number {font-weight: 500; font-variant-numeric: tabular-nums;}
.mobile-nav,.menu-toggle,.film-link {font-weight: 500;}
.section-label span,.count-total {color: #5c6b76;}
.header-inner .brand-endorsement {width: 156px; font-size: 14px; line-height: 1.5; color: #c0d0db;}
.desktop-nav {font-size: 16px; font-weight: 500; gap: 28px;}
.menu-toggle {font-size: 15px;}
.hero-overline {line-height: 1.5; flex-wrap: wrap; row-gap: 4px; color: #c2d4de;}
.hero .hero-cta {min-width: 242px; font-size: 16px; min-height: 56px;}
.hero-bottom>p {font-size: 18px;}
.hero-bottom {flex-wrap: wrap; gap: 20px 28px;}
.film-link,.film-duration {font-size: 14px;}
.film-link svg,.video-toggle svg {width: 18px; height: 18px;}
.agent-note {font-size: 16px; line-height: 1.65; color: #465864;}
.agent-note strong {font-size: 18px; line-height: 1.5;}
.agent-note [lang] {font-size: 16px;}
.intro-copy {max-width: 450px;}
.intro-copy>p {font-size: 18px; line-height: 1.7;}
.register-intro p,.parts-copy>p:not(.section-label),.company-copy,.method-steps p,.contact-copy>p:not(.section-label),.dialog-copy>p:not(.small-label),.enquiry-ready p {font-size: 17px; line-height: 1.7;}
.text-link,.gallery-footer .text-link,.parts .text-link,.button,.dialog-copy .button {font-size: 16px; font-weight: 600; line-height: 1.5;}
.equipment-caption {grid-template-columns: minmax(0,1fr) auto; gap: 16px 24px;}
.equipment-specs {grid-column: 1; grid-row: 2; font-size: 15px; line-height: 1.65; padding-bottom: 0; gap: 8px;}
.equipment-specs>span {white-space: nowrap;}
.equipment-caption>.round-arrow {grid-column: 2; grid-row: 1/3; align-self: center;}
.equipment-detail,.gallery-footer>p,.field-grid figcaption,.company-facts dd,.form-actions p,.footer-address,.footer-contact,.footer-principal>p:last-child {font-size: 14px; line-height: 1.75;}
.gallery-count {font-size: 15px; min-width: 87px;}
.capability-grid {gap: 36px;}
.regional-contact a,.contact-email,.contact-phone {font-size: 16px; line-height: 1.65;}
.contact-email {max-width: 100%;}
.region p {font-size: 16px;}
.registered-office>p:last-child {font-size: 16px; line-height: 1.8;}
form label {font-size: 15px; line-height: 1.6;}
input,select,textarea {font-size: 16px;}
input::placeholder,textarea::placeholder {color: #657784; opacity: 1;}
.form-consent {font-size: 14px; line-height: 1.7;}
.dialog-copy dl {font-size: 15px; line-height: 1.65;}
.dialog-copy dl>div {gap: 18px; align-items: flex-start;}
.footer nav,.footer-bottom,.footer-brand>span,.film-dialog>p {font-size: 14px; line-height: 1.7;}
.footer nav a {min-height: 32px; display: inline-flex; align-items: center;}
.gallery-footer {align-items: flex-start;}
@media (min-width:800px) and (max-width:850px) and (min-height:721px) {.hero h1 {font-size: 90px;}}
@media (max-width:1199px) and (min-width:800px) {.form-row {grid-template-columns: 1fr; gap: 0;}}
@media (max-width:999px) {.capability-grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px;}.company-facts {grid-template-columns: 1fr; gap: 24px;}.company-facts dt {font-size: 20px;}}
@media (max-width:799px) {.intro-copy>p,.register-intro p,.parts-copy>p:not(.section-label),.company-copy,.method-steps p,.contact-copy>p:not(.section-label),.dialog-copy>p:not(.small-label) {font-size: 16px;}.hero-bottom>p {font-size: 16px;}.locations-grid {grid-template-columns: 1fr; gap: 36px;}.field-grid {grid-template-columns: 1fr; gap: 32px;}.field-image,.field-feature .field-image {aspect-ratio: 4/3;}.gallery-footer {gap: 18px;}}
@media (max-width:620px) {:root {--nav-height: 138px; --principal-height: 64px;}.header-inner {display: grid; grid-template-areas: 'logo menu' 'endorsement endorsement'; grid-template-columns: 1fr auto; grid-template-rows: 88px 28px; gap: 6px 20px; padding-block: 8px;}.header-inner .brand {display: contents;}.brand>.reverse-logo {grid-area: logo;}.header-inner .brand-endorsement {grid-area: endorsement; flex-direction: row; gap: 4px; align-items: center; width: auto; justify-self: start; padding-left: 12px;}.header-inner .menu-toggle {grid-area: menu; justify-self: end; width: 104px;}.header-inner .menu-toggle>span {display: inline;}.hero-overline {display: none;}.hero {min-height: calc(var(--header) + 326px);}.hero .hero-cta {margin-top: 18px;}.capability-grid {gap: 28px 20px;}.equipment-caption {gap: 14px;}.equipment-specs {grid-column: 1/-1; grid-row: 2; font-size: 14px;}.equipment-caption>.round-arrow {grid-row: 1; align-self: end;}.gallery-count {min-width: 87px;}.film-progress {width: 36px;}.film-controls {gap: 8px;}.parts .text-link {gap: 14px; max-width: 100%;}.intro-bottom {gap: 32px;}.footer-bottom {gap: 16px;}.company .statement {font-size: 36px; line-height: 1.15;}.company-facts dt {font-size: 20px;}}
/* Customer-preview type scale and 8px spacing rhythm. Hero sizing stays independent. */
body {font-size: 18px;}
.section-space {padding-block: 112px;}
.section-label {margin-bottom: 24px; font-size: 14px; line-height: 1.5;}
.small-label,.equipment-type,.footer-label {font-size: 14px; line-height: 1.5;}
.section-heading h2,.field h2,.parts h2,.method h2,.locations h2,.contact h2 {font-size: 64px; line-height: 1.12;}
.statement,.company .statement {font-size: 80px; line-height: 1.12;}
.equipment-caption h3,.dialog-copy h2 {font-size: 36px; line-height: 1.2;}
.method-steps h3,.locations .region h3,.enquiry-ready h3 {font-size: 28px; line-height: 1.25;}
.company-facts dt {font-size: 20px; line-height: 1.4;}
.intro-copy>p,.register-intro p,.parts-copy>p:not(.section-label),.company-copy,.method-steps p,.contact-copy>p:not(.section-label),.dialog-copy>p:not(.small-label),.enquiry-ready p {font-size: 18px; line-height: 1.7;}
.intro-copy,.company-copy {max-width: 58ch;}
.register-intro p {max-width: 64ch;}
.equipment-detail,.gallery-footer>p,.field-grid figcaption,.company-facts dd,.form-actions p,.footer-address,.footer-contact,.footer-principal>p:last-child {font-size: 14px; line-height: 1.7;}
.agent-note,.region p,.regional-contact a,.contact-email,.contact-phone,.registered-office>p:last-child {font-size: 16px; line-height: 1.7;}
.intro-bottom,.company-bottom,.contact-grid,.method-layout,.locations-grid {column-gap: 64px;}
.intro-bottom>*,.company-bottom>*,.contact-grid>*,.method-layout>* {min-width: 0;}
.intro-bottom,.company-bottom,.field-grid,.locations-grid {margin-top: 40px;}
.intro-copy .text-link {margin-top: 24px;}
.capability-grid {margin-top: 64px; gap: 32px;}
.capability-grid>div {padding-top: 24px; gap: 16px;}
.capability-grid dd {font-size: 40px; min-height: 48px;}
.section-heading {align-items: flex-end; margin-bottom: 24px; gap: 32px;}
.register-intro {margin-top: 0; margin-bottom: 40px;}
.equipment-caption {padding-top: 24px; gap: 16px 24px;}
.equipment-type {margin-bottom: 8px;}
.equipment-detail {margin-top: 16px;}
.gallery-footer {margin-top: 40px; gap: 24px;}
.field-grid {gap: 32px;}
.field-grid figcaption {margin-top: 16px;}
.parts-copy {padding-block: 88px;}
.parts-copy>p:not(.section-label) {margin-top: 32px;}
.parts-copy>p:not(.section-label)+p,.company-copy p+p {margin-top: 24px;}
.parts .text-link {margin-top: 32px;}
.method-steps li {padding-block: 32px; gap: 24px;}
.method-steps p {margin-top: 16px;}
.company-facts {margin-top: 48px; padding-top: 32px; gap: 32px;}
.company-facts dd {margin-top: 8px;}
.locations .region {padding-block: 24px; gap: 16px;}
.regional-contact {padding-top: 16px; margin-top: 0;}
.contact-copy>p:not(.section-label) {margin-top: 32px; max-width: 56ch;}
.contact-email {margin-top: 24px;}
.contact-phone {margin-top: 8px;}
.contact .registered-office {margin-top: 32px;}
.form-area {padding-top: 0;}
.form-row {column-gap: 24px;}
form label {margin-bottom: 24px; font-size: 14px; line-height: 1.5;}
input:not([type="checkbox"]),select,textarea {margin-top: 8px; min-height: 56px; padding: 16px; font-size: 16px; line-height: 1.5;}
textarea {min-height: 160px;}
.form-consent {line-height: 1.7; gap: 12px;}
.form-actions {gap: 16px 24px;}
.button,.dialog-copy .button {min-height: 56px; padding: 16px 24px; gap: 24px; font-size: 16px; line-height: 1.5;}
.footer {padding-top: 64px;}
.footer-top {padding-bottom: 48px; gap: 40px;}
.footer-label {margin-bottom: 16px;}
.footer-address {margin-top: 24px;}
.footer-bottom {padding-block: 24px;}
@media (max-width:1199px) {
  .section-heading h2,.field h2,.parts h2,.method h2,.locations h2,.contact h2 {font-size: 56px;}
  .statement,.company .statement {font-size: 68px;}
  .equipment-caption h3,.dialog-copy h2 {font-size: 32px;}
  .intro-bottom,.company-bottom,.contact-grid,.method-layout,.locations-grid {column-gap: 48px;}
  .capability-grid dd {font-size: 36px;}
  .parts-copy {padding-block: 72px;}
}
@media (max-width:999px) {
  .section-space {padding-block: 96px;}
  .section-heading h2,.field h2,.parts h2,.method h2,.locations h2,.contact h2 {font-size: 48px;}
  .statement,.company .statement {font-size: 60px;}
  .intro-bottom,.company-bottom,.contact-grid,.method-layout,.locations-grid {column-gap: 40px;}
}
@media (max-width:799px) {
  body {font-size: 16px;}
  .section-space {padding-block: 88px;}
  .section-heading h2,.field h2,.parts h2,.method h2,.locations h2,.contact h2 {font-size: 44px;}
  .statement,.company .statement {font-size: 52px;}
  .equipment-caption h3,.dialog-copy h2 {font-size: 30px;}
  .intro-copy>p,.register-intro p,.parts-copy>p:not(.section-label),.company-copy,.method-steps p,.contact-copy>p:not(.section-label),.dialog-copy>p:not(.small-label),.enquiry-ready p {font-size: 16px;}
  .intro-bottom,.company-bottom,.field-grid,.locations-grid {margin-top: 32px;}
  .contact-grid,.method-layout {row-gap: 40px;}
  .capability-grid {margin-top: 48px;}
  .parts-copy {padding-block: 72px;}
  .method-heading {position: static;}
}
@media (max-width:620px) {
  .section-space {padding-block: 72px;}
  .section-heading h2,.field h2,.parts h2,.method h2,.locations h2,.contact h2 {font-size: 36px;}
  .statement,.company .statement {font-size: 40px;}
  .equipment-caption h3,.dialog-copy h2 {font-size: 28px;}
  .method-steps h3,.locations .region h3,.enquiry-ready h3 {font-size: 24px;}
  .intro-bottom,.company-bottom,.contact-grid,.method-layout,.locations-grid {gap: 32px;}
  .capability-grid {gap: 32px 20px;}
  .capability-grid dd {font-size: 32px; min-height: 40px;}
  .register-intro {margin-bottom: 32px;}
  .gallery-footer {margin-top: 32px; gap: 16px;}
  .field-grid {gap: 32px;}
  .parts-copy {padding-block: 64px;}
  .method-steps li {gap: 16px; padding-block: 24px;}
  .company-facts {margin-top: 32px; padding-top: 24px; gap: 24px;}
  .contact-copy>p:not(.section-label) {margin-top: 24px;}
  .footer {padding-top: 48px;}
  .footer-top {padding-bottom: 32px; gap: 32px;}
}
@media (max-width:359px) {.statement,.company .statement {font-size: 36px;}.capability-grid dd {font-size: 30px;}}
.company .statement {font-size: 56px; line-height: 1.12; max-width: 24ch;}
.company>.principal-strip {height: auto; margin-top: 40px; background: transparent; border: 0; color: var(--blue);}
.company .principal-inner {height: auto; display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 64px; justify-content: start; padding-block: 24px; border-block: 1px solid var(--line);}
.company .agency-label {font-size: 16px; line-height: 1.6; text-transform: none; white-space: normal; color: var(--muted);}
.company .principal-name {gap: 16px; flex-wrap: wrap; white-space: normal;}
.company .principal-name strong {font-size: 24px; line-height: 1.35; font-weight: 600; text-transform: none; color: var(--blue);}
.company .principal-name [lang] {font-size: 18px; color: var(--muted);}
@media (max-width:1199px) {.company .principal-inner {gap: 48px;}}
@media (max-width:899px) {.company .principal-inner {grid-template-columns: minmax(0,1fr); gap: 10px; align-items: start;}.company>.principal-strip {margin-top: 32px;}}
@media (max-width:620px) {.company .principal-inner {padding-block: 20px;}.company .principal-name {gap: 12px;}.company .principal-name strong {font-size: 22px;}.company .principal-name [lang] {font-size: 16px;}}
.company .company-bottom {grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); align-items: start; gap: 64px; margin-top: 40px;}
.company-copy {max-width: 44ch;}
.company-copy p:first-child {color: var(--ink);}
.company-copy p+p {font-size: 16px; line-height: 1.75; margin-top: 24px;}
.company .company-facts {grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; margin-top: 40px; padding-top: 24px;}
.company-facts dt {font-size: 18px;}
@media (max-width:1199px) {.company .company-bottom {column-gap: 48px; margin-top: 32px;}}
@media (max-width:899px) {
  .company .statement {font-size: 44px;}
  .company .company-bottom {grid-template-columns: minmax(0,1fr); gap: 32px;}
  .company-slider {grid-row: 1;}
  .company-copy {max-width: none; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px;}
  .company-copy p+p {margin-top: 0;}
  .company .company-facts {gap: 24px;}
}
@media (max-width:620px) {
  .company .statement {font-size: 36px;}
  .company-copy {display: block;}
  .company-copy p+p {margin-top: 24px;}
  .company-slider-footer {flex-direction: column; gap: 0;}
  .company .company-facts {grid-template-columns: minmax(0,1fr); gap: 20px; margin-top: 32px;}
}
@media (max-width:359px) {.company .statement {font-size: 32px;}}
.brand:focus-visible>.reverse-logo {outline: 2px solid var(--cyan); outline-offset: 5px;}
.site-header .menu-toggle {display: flex; width: 48px; height: 48px; border: 0;}
.site-header .menu-toggle>span {display: none;}
.site-header .menu-toggle svg {width: 26px; height: 26px;}
.mobile-nav a:hover,.mobile-nav a[aria-current=location] {color: var(--cyan);}
@media (min-width:621px) {.mobile-nav {left: auto; right: var(--gutter); width: min(420px,calc(100% - 2 * var(--gutter))); padding: 12px 32px 28px;}}
@media (max-width:620px) {.regional-contact a {gap: 10px;}.contact-email {display: block;}.contact-email svg {display: none;}}
@media (max-height:700px) and (max-width:620px) {.hero-content {padding-bottom: 74px;}}
.hero h1 {font-size: 104px; flex-direction: column; align-items: flex-start; gap: 0;}
@media (max-width:1399px) {.hero h1 {font-size: 90px;}}
@media (max-width:1199px) {.hero h1 {font-size: 82px;}}
@media (max-width:999px) {.hero h1 {font-size: 66px;}}
@media (max-width:799px) {.hero h1 {font-size: 56px;}}
@media (max-width:620px) {.hero h1 {font-size: 42px;}}
@media (max-width:359px) {.hero h1 {font-size: 39px;}}
@media screen {.hero.hero-full-height {height: 100vh; height: 100dvh; min-height: calc(var(--header) + 326px); max-height: none;}}
@media screen and (min-width:1000px) and (max-height:580px) {.hero.hero-full-height {min-height: calc(var(--header) + 380px);}.hero-overline {display: none;}}
@media (prefers-reduced-motion:reduce) {html {scroll-behavior: auto;}*,*:before,*:after {animation: none !important; transition: none !important;}.motion .reveal {opacity: 1; transform: none;}.hero-video,.motion .parts-photo img {transform: none; will-change: auto;}}
@media print {.site-header,.hero-film,.gallery-controls,.menu-toggle,dialog,.form-area {display: none !important;}.hero {height: 550px; min-height: 0;}.hero-video {display: none;}.hero {background: var(--ink) url('assets/hero-underwater.jpg') center/cover;}.motion .reveal {opacity: 1; transform: none;}.equipment-gallery {display: block; overflow: visible;}.equipment-slide {break-inside: avoid; margin-block: 30px;}.equipment-gallery:after {display: none;}.hero h1 {font-size: 70px;}.section-space {padding-block: 45px;}.footer {break-inside: avoid;}}

/* Product-page components reuse the approved homepage tokens, header and footer. */
.catalog-page {--catalog-space: 88px;}
.catalog-page main {padding-top: var(--header);}
.catalog-page .site-header {background: #080f15f5;}
.catalog-page .catalog-breadcrumb {display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-block: 28px; font-size: 14px; color: var(--muted); line-height: 1.5;}
.catalog-breadcrumb a:hover {color: var(--blue);}
.catalog-breadcrumb svg {width: 14px; height: 14px;}
.catalog-page .catalog-kicker {font-size: 14px; font-weight: 600; color: var(--blue); margin-bottom: 16px;}
.product-heading {padding-top: 24px; padding-bottom: 40px;}
.product-heading h1 {font-size: 64px; line-height: 1.08; max-width: 24ch; overflow-wrap: anywhere;}
.product-heading-row {display: flex; justify-content: space-between; gap: 40px; align-items: flex-end; margin-top: 24px;}
.product-heading-row p {font-size: 18px; line-height: 1.65; max-width: 64ch; color: var(--muted);}
.catalog-page .catalog-button {display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 56px; padding: 16px 24px; background: var(--orange); color: var(--ink); border-radius: 4px; font-size: 16px; font-weight: 600; flex-shrink: 0; transition: background .2s,transform .2s;}
.catalog-button svg {width: 20px; height: 20px; flex-shrink: 0;}
.catalog-button:hover {background: #ffa31a; transform: translateY(-2px);}
.product-stage {position: relative; background: var(--paper);}
.product-stage-image {display: block; width: 100%; height: 510px; object-fit: contain;}
.product-stage.photo-stage {background: #e9edef;}
.product-stage.component-stage {background: white;}
.product-stage .zoom-image {position: absolute; right: var(--gutter); bottom: 20px; width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid #c5cfd6; border-radius: 4px; background: #fff; color: var(--ink);}
.zoom-image:hover {background: #e5f1f8;}
.zoom-image svg {width: 22px; height: 22px;}
.product-metrics {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; padding-block: 32px; border-bottom: 1px solid var(--line);}
.product-metrics dt {font-size: 14px; color: var(--muted); margin-bottom: 8px;}
.product-metrics dd {font-size: 28px; line-height: 1.25; font-weight: 600; overflow-wrap: anywhere;}
.product-links {display: flex; flex-wrap: wrap; gap: 24px; padding-block: 20px; font-size: 14px; font-weight: 500;}
.product-links a {min-height: 44px; display: inline-flex; align-items: center; gap: 10px; border-bottom: 1px solid transparent;}
.product-links a:hover {border-bottom-color: var(--cyan); color: var(--blue);}
.product-links svg {width: 16px; height: 16px;}
.catalog-section {padding-block: var(--catalog-space);}
.catalog-section h2 {font-size: 44px; line-height: 1.16; max-width: 24ch;}
.product-overview {display: grid; grid-template-columns: minmax(0, .85fr) minmax(0,1.15fr); gap: 72px;}
.product-overview p {font-size: 18px; line-height: 1.8; color: var(--muted);}
.product-overview .agency-caption {font-size: 14px; padding-left: 20px; border-left: 2px solid var(--cyan); margin-top: 28px;}
.feature-list {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; margin-top: 64px;}
.feature-list.two-features {grid-template-columns: repeat(2,minmax(0,1fr));}
.feature-item {padding-top: 24px; border-top: 1px solid var(--line);}
.feature-item h3 {font-size: 22px; line-height: 1.35; margin-bottom: 12px;}
.feature-item p {font-size: 16px; line-height: 1.75; color: var(--muted);}
.specification-band {background: var(--paper);}
.specification-layout {display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 72px;}
.specification-layout .spec-intro {font-size: 16px; color: var(--muted); line-height: 1.75; margin-top: 24px; max-width: 42ch;}
.specification-layout .text-link {margin-top: 24px;}
.spec-table {width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.6; table-layout: fixed;}
.spec-table th,.spec-table td {padding: 18px 0; border-bottom: 1px solid #cbd4da; vertical-align: top; text-align: left; overflow-wrap: anywhere;}
.spec-table tr:first-child th,.spec-table tr:first-child td {padding-top: 0;}
.spec-table th {width: 46%; font-weight: 400; color: var(--muted); padding-right: 24px;}
.spec-table td {font-weight: 500;}
.spec-footnote {margin-top: 20px; font-size: 14px; line-height: 1.7; color: var(--muted);}
.catalog-page .contact {background: #fff;}
.catalog-page .contact-grid {grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 72px;}
.catalog-page .contact h2 {font-size: 44px; line-height: 1.16; overflow-wrap: anywhere;}
.catalog-page .contact-copy>p:not(.section-label) {font-size: 16px;}
.catalog-page .contact .section-label {color: var(--blue);}
.catalog-page .form-actions p {font-size: 14px; max-width: 28ch;}
.catalog-page .form-area {min-width: 0;}
.catalog-page .enquiry-ready {padding: 32px 0; background: transparent;}
.catalog-page .form-actions {align-items: center;}
.related-section {border-top: 1px solid var(--line);}
.related-section .catalog-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
.catalog-section-heading {display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 40px;}
.catalog-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px 32px;}
.catalog-card {min-width: 0;}
.catalog-card-link {display: block;}
.catalog-card-media {aspect-ratio: 4/3; overflow: hidden; background: #eef1f3;}
.catalog-card-media img {width: 100%; height: 100%; object-fit: contain; transition: transform .6s var(--ease);}
.catalog-card-link:hover img {transform: scale(1.025);}
.catalog-card-label {display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; padding-top: 20px;}
.catalog-card-label h3 {font-size: 24px; line-height: 1.25; overflow-wrap: anywhere;}
.catalog-card-label svg {width: 22px; height: 22px; flex-shrink: 0; color: var(--blue);}
.catalog-card .catalog-kicker {margin-top: 20px; margin-bottom: 0; font-size: 14px;}
.catalog-card p:not(.catalog-kicker) {font-size: 16px; line-height: 1.7; color: var(--muted); margin-top: 12px;}
.catalog-card .page-status {font-size: 14px; color: var(--blue); margin-top: 16px;}
.catalog-card a:hover h3 {color: var(--blue);}
.catalog-hero {position: relative; min-height: 410px; display: flex; align-items: flex-end; isolation: isolate; overflow: hidden; background: var(--ink); color: #fff;}
.catalog-hero>img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2;}
.catalog-hero::after {content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,#030b12df,transparent 90%); z-index: -1;}
.catalog-hero-content {padding-block: 56px;}
.catalog-hero h1 {font-size: 64px; line-height: 1.08;}
.catalog-hero p {font-size: 18px; max-width: 58ch; margin-top: 20px; line-height: 1.65; color: #dae6ed;}
.catalog-toolbar {display: grid; grid-template-columns: minmax(0,1fr) 240px auto; gap: 24px; align-items: end; margin-bottom: 40px;}
.catalog-toolbar label {font-size: 14px; font-weight: 500; color: var(--muted);}
.catalog-toolbar input,.catalog-toolbar select {margin-top: 8px; min-height: 52px; background: #eef1f3; border: 1px solid transparent; font-size: 16px; padding: 12px 16px;}
.catalog-toolbar output {font-size: 14px; min-height: 52px; display: flex; align-items: center; color: var(--muted);}
.catalog-empty {padding: 48px 0; border-block: 1px solid var(--line);}
.catalog-empty h2 {font-size: 28px; margin-bottom: 16px;}
.catalog-empty button {margin-top: 16px;}
.catalog-agency {background: var(--blue); color: white;}
.catalog-agency .wrap {display: flex; align-items: center; justify-content: space-between; gap: 40px; padding-block: 48px;}
.catalog-agency h2 {font-size: 32px; line-height: 1.2;}
.catalog-agency p {font-size: 16px; color: #d1e4f0; margin-top: 12px; max-width: 62ch;}
.catalog-placeholder {min-height: 55vh; padding-top: 32px; padding-bottom: 96px;}
.catalog-placeholder h1 {font-size: 56px; max-width: 24ch; line-height: 1.1; overflow-wrap: anywhere;}
.catalog-placeholder>p:not(.catalog-kicker) {font-size: 18px; color: var(--muted); margin-block: 28px; max-width: 56ch;}
.catalog-placeholder .text-link {margin-top: 20px;}
.product-lightbox {max-width: min(1200px,94vw); width: 100%; border: 0; border-radius: 4px; padding: 56px 20px 20px; background: #f5f6f7;}
.product-lightbox::backdrop {background: #050b12d9;}
.product-lightbox img {width: 100%; height: min(75vh,800px); object-fit: contain;}
.product-lightbox .dialog-close {color: var(--ink); background: #fff; right: 12px; top: 8px;}
.product-lightbox p {font-size: 14px; color: var(--muted); padding: 16px; text-align: center;}
.catalog-page [hidden] {display: none !important;}
.catalog-page :is(a,button,input,select,textarea):focus-visible {outline: 2px solid var(--cyan); outline-offset: 4px;}
.catalog-page .catalog-reveal {opacity: 1; transform: none;}
@media (prefers-reduced-motion:no-preference) {
  .catalog-page.has-motion .catalog-reveal {opacity: 0; transform: translateY(18px); transition: opacity .7s,transform .7s var(--ease);}
  .catalog-page.has-motion .catalog-reveal.is-visible {opacity: 1; transform: none;}
}
@media (max-width:1199px) {
  .catalog-page {--catalog-space: 72px;}
  .product-heading h1,.catalog-hero h1 {font-size: 56px;}
  .product-overview,.specification-layout,.catalog-page .contact-grid {gap: 48px;}
  .product-heading-row {gap: 32px;}
  .product-heading-row p {max-width: 54ch;}
  .product-stage-image {height: 430px;}
  .catalog-grid {gap: 40px 24px;}
  .catalog-card-label h3 {font-size: 22px;}
}
@media (max-width:899px) {
  .product-heading h1,.catalog-hero h1 {font-size: 48px;}
  .product-heading-row {align-items: flex-start; flex-direction: column; gap: 24px;}
  .product-heading-row p {max-width: 64ch;}
  .product-overview,.specification-layout,.catalog-page .contact-grid {grid-template-columns: minmax(0,1fr); gap: 32px;}
  .product-overview p {font-size: 16px;}
  .feature-list {gap: 24px; margin-top: 40px;}
  .feature-item h3 {font-size: 20px;}
  .product-metrics {gap: 24px;}
  .product-metrics dd {font-size: 24px;}
  .catalog-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
  .catalog-section h2,.catalog-page .contact h2 {font-size: 36px;}
  .catalog-toolbar {grid-template-columns: minmax(0,1fr) 200px;}
  .catalog-toolbar output {grid-column: 1/-1; min-height: 24px;}
  .catalog-agency .wrap {align-items: flex-start; flex-direction: column; gap: 24px;}
  .catalog-section-heading {align-items: flex-start; flex-direction: column;}
  .catalog-placeholder h1 {font-size: 44px;}
}
@media (max-width:620px) {
  .catalog-page {--catalog-space: 56px;}
  .catalog-page .catalog-breadcrumb {padding-block: 20px; font-size: 14px;}
  .product-heading {padding-top: 16px; padding-bottom: 28px;}
  .product-heading h1,.catalog-hero h1 {font-size: 40px;}
  .product-heading-row p,.catalog-hero p {font-size: 16px;}
  .product-stage-image {height: 290px;}
  .product-stage .zoom-image {bottom: 12px;}
  .product-metrics {grid-template-columns: minmax(0,1fr); gap: 20px; padding-block: 24px;}
  .product-metrics>div {display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 20px; align-items: baseline;}
  .product-metrics dt {margin: 0;}
  .product-metrics dd {font-size: 20px; text-align: right;}
  .product-links {gap: 8px 20px; padding-block: 12px;}
  .feature-list,.feature-list.two-features {grid-template-columns: minmax(0,1fr); gap: 28px;}
  .spec-table th {width: 44%; padding-right: 16px;}
  .spec-table th,.spec-table td {font-size: 16px;}
  .catalog-grid,.related-section .catalog-grid {grid-template-columns: minmax(0,1fr); gap: 40px;}
  .catalog-card-label h3 {font-size: 24px;}
  .catalog-hero {min-height: 340px;}
  .catalog-hero-content {padding-block: 36px;}
  .catalog-toolbar {grid-template-columns: minmax(0,1fr); gap: 16px;}
  .catalog-agency h2 {font-size: 28px;}
  .catalog-placeholder h1 {font-size: 36px;}
  .catalog-placeholder>p:not(.catalog-kicker) {font-size: 16px;}
  .catalog-page .form-row {grid-template-columns: minmax(0,1fr);}
  .product-lightbox {padding-inline: 8px;}
}
@media (prefers-reduced-motion:reduce) {.catalog-card-media img,.catalog-button {transition:none;}.catalog-card-link:hover img,.catalog-button:hover {transform:none;}}
@media print {.catalog-page main {padding-top:0;}.catalog-toolbar,.catalog-page .form-area,.zoom-image {display:none;}.catalog-section {padding-block:32px;}.catalog-page .catalog-reveal {opacity:1 !important;transform:none !important;}.product-stage-image {height:300px;}}

.mobile-nav a[aria-current=page] {color: #99d8ef;}
.company-page-hero {min-height: 440px;}
.company-page-hero h1 {max-width: 18ch;}
.company-page-hero .editorial-eyebrow,.support-visual .editorial-eyebrow {font-size: 14px; font-weight: 500; margin: 0 0 20px; color: #b5dcea;}
.company-page-hero>img {object-position: center 42%;}
.editorial-columns {display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 80px;}
.blue-text {color: var(--blue);}
.editorial-copy {font-size: 18px; line-height: 1.8; color: var(--muted);}
.editorial-copy p+p {margin-top: 24px;}
.editorial-copy .text-link {margin-top: 28px;}
.relationship-band {background: var(--paper);}
.relationship-grid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 80px; margin-top: 40px;}
.relationship-item {position: relative; border-top: 1px solid var(--line); padding-top: 32px;}
.relationship-item .catalog-kicker {padding-right: 40px;}
.relationship-item h2 {font-size: 36px; margin-bottom: 16px;}
.relationship-item>p:last-child {font-size: 18px; line-height: 1.75; max-width: 44ch; color: var(--muted);}
.editorial-index {position: absolute; right: 0; top: 32px; font-size: 14px; color: var(--blue);}
.principal-chinese {color: var(--blue); margin-bottom: 16px; font-size: 18px;}
.editorial-panorama {margin-top: 56px;}
.editorial-panorama img {width: 100%; height: 440px; object-fit: cover; object-position: center 48%;}
.editorial-panorama figcaption {font-size: 14px; color: var(--muted); margin-top: 16px;}
.service-intro {margin-bottom: 56px;}
.service-row {display: grid; grid-template-columns: 64px minmax(0,1.05fr) minmax(0,1fr); gap: 48px; padding-block: 40px; border-top: 1px solid var(--line);}
.service-row:last-child {border-bottom: 1px solid var(--line);}
.service-marker {color: var(--blue); display: flex; align-items: flex-start; flex-direction: column; gap: 24px; font-size: 14px;}
.service-marker svg {width: 28px; height: 28px;}
.service-row h3 {font-size: 28px; line-height: 1.25; margin-bottom: 16px;}
.service-row p,.service-detail li {font-size: 16px; line-height: 1.75; color: var(--muted);}
.service-detail ul {list-style: none; padding: 0;}
.service-detail li {padding: 0 0 12px 20px; position: relative;}
.service-detail li:before {content: ''; position: absolute; left: 0; top: 12px; width: 5px; height: 5px; background: var(--cyan);}
.service-detail .text-link {margin-top: 16px;}
.support-visual {position: relative; isolation: isolate; min-height: 450px; display: flex; align-items: flex-end; color: white; background: var(--ink);}
.support-visual>img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 44%; z-index: -2;}
.support-visual:after {content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#061016e8,#06101655 70%,#06101620); z-index: -1;}
.support-visual>.wrap {padding-block: 56px;}
.support-visual h2 {font-size: 48px; line-height: 1.15; margin-bottom: 28px;}
.support-faq details {border-top: 1px solid var(--line);}
.support-faq details:last-child {border-bottom: 1px solid var(--line);}
.support-faq summary {list-style: none; display: flex; justify-content: space-between; gap: 24px; align-items: center; padding-block: 24px; font-size: 18px; font-weight: 600; line-height: 1.5; cursor: pointer;}
.support-faq summary::-webkit-details-marker {display: none;}
.support-faq summary svg {width: 20px; height: 20px; flex-shrink: 0; color: var(--blue); transition: transform .2s;}
.support-faq details[open] summary svg {transform: rotate(45deg);}
.support-faq summary:focus-visible {outline: 2px solid var(--cyan); outline-offset: 4px;}
.support-faq details>p {font-size: 16px; line-height: 1.8; color: var(--muted); padding-bottom: 24px;}
.contact-page-hero {min-height: 310px;}
.contact-page-hero>img {object-position: center 50%;}
.catalog-page .contact-page-hero::after {background: linear-gradient(90deg,#06121bf0 0%,#06121bd6 72%,#06121bbd 100%);}
.contact-page-hero[data-parallax] {--parallax-y: 0px;}
.contact-page-hero[data-parallax]>img {height: calc(100% + 48px); top: -24px; transform: translate3d(0,var(--parallax-y),0) scale(1.02); will-change: transform;}
.contact-page-content .contact-direct {margin-top: 32px;}
.contact-page-content .contact-email {margin-top: 8px;}
.contact-page-content .contact-phone {display: block; margin-top: 8px;}
.contact-page-content {overflow: hidden; padding-bottom: 0; background: #f8fafb;}
.contact-page-content .contact-intro {display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 0 64px; align-items: start;}
.contact-page-content .contact-intro .catalog-kicker {grid-row: 1 / 3; padding-top: 12px;}
.catalog-page .contact-page-content .contact-intro h2 {max-width: none; font-size: clamp(44px,5.5vw,76px); line-height: 1.06;}
.contact-page-content .contact-intro h2 span {color: var(--blue);}
.contact-page-content .contact-intro>p:last-child {grid-column: 2; max-width: 48ch; margin-top: 22px; color: var(--muted); font-size: 18px; line-height: 1.65;}
.contact-workspace {display: grid; grid-template-columns: minmax(0,1.18fr) minmax(0,.82fr); align-items: stretch; margin-top: 72px;}
.contact-form-column {min-width: 0; padding: 50px clamp(40px,5vw,92px) 96px 0;}
.contact-form-heading {display: flex; justify-content: space-between; gap: 32px; align-items: start; padding-bottom: 28px; margin-bottom: 36px; border-bottom: 1px solid var(--line);}
.contact-form-heading .small-label {margin: 0; color: var(--blue); font-size: 14px; font-weight: 600; text-transform: uppercase;}
.contact-form-heading p:last-child {max-width: 30ch; color: var(--muted); font-size: 16px; line-height: 1.6;}
.contact-form-column .enquiry-preparation {margin: 0 0 36px; padding: 0; border: 0;}
.contact-form-column .enquiry-preparation>p:not(.catalog-kicker) {max-width: 57ch; font-size: 15px; line-height: 1.6; margin-top: 8px;}
.catalog-page .contact-form-column .form-area {padding-top: 0;}
.contact-form-column form label {font-size: 14px;}
.contact-form-column input:not([type="checkbox"]),.contact-form-column select,.contact-form-column textarea {background: transparent; border: 0; border-bottom: 1px solid #aebec7; border-radius: 0; padding-inline: 0;}
.contact-form-column input:not([type="checkbox"]):hover,.contact-form-column select:hover,.contact-form-column textarea:hover {background: #eaf0f2;}
.contact-form-column input:not([type="checkbox"]):focus,.contact-form-column select:focus,.contact-form-column textarea:focus {background: #fff; box-shadow: inset 0 -2px var(--blue);}
.contact-form-column .form-actions {margin-top: 28px;}
.contact-channels {position: relative; min-width: 0; padding: 50px 0 88px clamp(40px,5vw,84px); background: #14242d; color: #f4f8fa;}
.contact-channels::after {content: ''; position: absolute; top: 0; bottom: 0; left: 100%; width: 100vw; background: #14242d;}
.contact-channels>.small-label {color: #9ac6d8; text-transform: uppercase; font-weight: 600;}
.contact-channels h3 {font-size: clamp(30px,3vw,42px); line-height: 1.15; margin: 28px 0 56px;}
.contact-channels .contact-direct {border-top: 1px solid #56717f; padding-top: 26px; margin-top: 0;}
.contact-channels .contact-country {font-size: 28px; font-weight: 600; line-height: 1.2; color: #f4f8fa;}
.contact-channels .contact-office-type {margin-top: 7px; font-size: 14px; line-height: 1.6; color: #aac4d0;}
.contact-channels .small-label {font-size: 14px; color: #aac4d0;}
.contact-channels a {display: flex; width: fit-content; max-width: 100%; gap: 12px; align-items: center; color: #f4f8fa; overflow-wrap: anywhere; text-underline-offset: 5px;}
.contact-channels a:hover {text-decoration: underline;}
.contact-channels .contact-primary-email {font-size: clamp(18px,1.7vw,23px); line-height: 1.35; font-weight: 600; margin-top: 20px;}
.contact-primary-email svg {width: 18px; height: 18px; flex: none; color: #f6a425;}
.contact-channels .contact-phone {font-size: 18px; margin-top: 12px;}
.contact-channels address {font-style: normal; font-size: 15px; line-height: 1.7; color: #c4d1d7; margin-top: 26px;}
.contact-channels .contact-mx {margin-top: 56px; transition: border-color .3s;}
.contact-channels .contact-mx:hover {border-color: #9ad6eb;}
.contact-mx>p:not(.contact-country):not(.contact-office-type) {max-width: 34ch; margin-top: 23px; color: #c4d1d7; font-size: 15px; line-height: 1.7;}
.contact-channels .contact-region-link {margin-top: 22px; padding-bottom: 8px; border-bottom: 1px solid #9ad6eb; font-size: 16px; font-weight: 600; color: #d6eef7;}
.contact-region-link svg {width: 18px; height: 18px; flex: none; color: #f6a425; transition: transform .25s;}
.contact-region-link:hover svg {transform: translate(3px,-3px);}
.contact-role {border-top: 1px solid #56717f; margin-top: 54px; padding-top: 24px; max-width: 38ch; font-size: 14px; line-height: 1.6; color: #aac4d0;}
.corporate-contact {background: #eaf0f3; border-top: 1px solid #d3dfe5;}
.corporate-layout {display: grid; grid-template-columns: minmax(0,1.18fr) minmax(0,.82fr); gap: 0; align-items: start;}
.corporate-contact h2 {font-size: clamp(44px,5.4vw,72px); line-height: 1.1;}
.corporate-layout>div:first-child>p:last-child {margin-top: 18px; font-size: 18px; color: var(--muted);}
.corporate-details {margin-left: clamp(40px,5vw,84px); min-width: 0; padding-top: 16px; border-top: 1px solid #9fb2bd;}
.corporate-details .small-label {color: var(--blue); font-size: 14px;}
.corporate-details a {display: block; width: fit-content; max-width: 100%; margin-top: 16px; font-size: 18px; color: var(--ink); overflow-wrap: anywhere; text-underline-offset: 5px;}
.corporate-details a:hover {text-decoration: underline;}
.corporate-details address {margin-top: 25px; font-size: 16px; font-style: normal; line-height: 1.75; color: var(--muted);}
@media(max-width:1199px) {
  .editorial-columns,.relationship-grid {gap: 48px;}
  .service-row {grid-template-columns: 40px minmax(0,1fr) minmax(0,1fr); gap: 32px;}
  .contact-page-content .contact-intro {grid-template-columns: 145px minmax(0,1fr); gap: 0 36px;}
  .contact-form-column {padding-right: 44px;}
  .contact-channels {padding-left: 44px;}
  .corporate-details {margin-left: 44px;}
}
@media(max-width:899px) {
  .editorial-columns {grid-template-columns: minmax(0,1fr); gap: 32px;}
  .editorial-copy {font-size: 16px;}
  .service-row {grid-template-columns: 32px minmax(0,1fr); gap: 24px;}
  .service-detail {grid-column: 2;}
  .relationship-item h2 {font-size: 28px;}
  .relationship-item>p:last-child {font-size: 16px;}
  .contact-page-content .contact-intro {display: block;}
  .contact-page-content .contact-intro .catalog-kicker {padding-top: 0;}
  .contact-workspace {grid-template-columns: minmax(0,1fr); margin-top: 48px;}
  .contact-form-column {padding: 0 0 72px;}
  .contact-channels {padding: 60px 0 72px;}
  .contact-channels::before {content: ''; position: absolute; top: 0; bottom: 0; right: 100%; width: 100vw; background: #14242d;}
  .contact-channels h3 {margin-bottom: 40px;}
  .corporate-layout {grid-template-columns: minmax(0,1fr); gap: 38px;}
  .corporate-details {margin-left: 0;}
}
@media(max-width:620px) {
  .company-page-hero {min-height: 350px;}
  .company-page-hero h1 {font-size: 36px; overflow-wrap: anywhere;}
  .contact-page-hero {min-height: 290px;}
  .catalog-page .contact-page-content .contact-intro h2 {font-size: 42px;}
  .contact-page-content .contact-intro>p:last-child {font-size: 16px; margin-top: 18px;}
  .contact-workspace {margin-top: 38px;}
  .contact-form-heading {display: block; margin-bottom: 26px;}
  .contact-form-heading p:last-child {margin-top: 14px;}
  .contact-form-column {padding-bottom: 60px;}
  .contact-channels {padding-block: 50px 64px;}
  .contact-channels .contact-primary-email {font-size: 18px;}
  .contact-channels .contact-mx {margin-top: 42px;}
  .contact-role {margin-top: 42px;}
  .corporate-contact h2 {font-size: 42px;}
  .corporate-layout>div:first-child>p:last-child {font-size: 16px;}
  .corporate-details a {font-size: 16px;}
  .relationship-grid {grid-template-columns: minmax(0,1fr); gap: 40px; margin-top: 32px;}
  .editorial-panorama {margin-top: 32px;}
  .editorial-panorama img {height: 280px;}
  .service-intro {margin-bottom: 40px;}
  .service-row {padding-block: 32px; gap: 20px;}
  .service-row h3 {font-size: 24px;}
  .support-visual {min-height: 380px;}
  .support-visual>.wrap {padding-block: 40px;}
  .support-visual h2 {font-size: 36px;}
  .support-faq summary {font-size: 16px; gap: 16px;}
}
@media(prefers-reduced-motion:reduce) {.support-faq summary svg {transition: none;}}

/* Editorial inner-page system: wide imagery, deliberate whitespace, restrained motion. */
.catalog-page {--catalog-space: 112px;}
.catalog-page main {overflow: clip;}
.catalog-page .catalog-kicker {font-size: 14px; font-weight: 500;}
.catalog-page .catalog-section h2 {font-size: 52px; line-height: 1.12;}
.catalog-page .catalog-button {border-radius: 2px; min-height: 60px; padding: 18px 26px; transition: background .25s,transform .25s;}
.catalog-button svg,.text-link svg {transition: transform .3s var(--ease);}
.catalog-button:hover svg,.text-link:hover svg {transform: translate(3px,-3px);}
.editorial-hero {height: min(740px,calc(100svh - var(--header) - 48px)); min-height: 530px; align-items: stretch;}
.editorial-hero::after {background: linear-gradient(90deg,#040c13b8 0%,#040c1359 85%),linear-gradient(0deg,#040c13ed 0%,#040c1370 48%,#040c1326 100%);}
.editorial-hero>img {object-position: center 48%;}
.editorial-hero-inner {display: flex; flex-direction: column; justify-content: flex-end; padding-top: 36px; padding-bottom: 24px;}
.editorial-hero .editorial-eyebrow {margin: 0 0 auto; padding-bottom: 48px; font-size: 14px; color: #e1ebef;}
.editorial-hero h1 {font-size: 88px; line-height: 1.02; font-weight: 600; max-width: 22ch;}
.title-line {display: block; overflow: hidden; padding-bottom: .08em;}
.title-line>span {display: block;}
.title-accent {color: #aed9e7;}
.editorial-hero-bottom {display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 64px; margin-top: 28px;}
.editorial-hero-bottom.hero-bottom-simple {grid-template-columns: minmax(0,1fr);}
.editorial-hero-bottom>p {font-size: 18px; line-height: 1.6; max-width: 55ch; margin: 0; color: #e5ebee;}
.hero-section-link {display: inline-flex; align-items: center; gap: 28px; min-height: 52px; font-size: 16px; border-bottom: 1px solid #ffffff70; padding: 12px 0;}
.hero-section-link svg {width: 24px; height: 24px; transition: transform .3s;}
.hero-section-link:hover svg {transform: translate(3px,3px);}
.editorial-hero-meta {display: flex; justify-content: space-between; gap: 24px; margin-top: 40px; padding-top: 18px; border-top: 1px solid #ffffff38; font-size: 14px; color: #c1d5df; line-height: 1.5;}
.editorial-hero-meta>span:last-child {text-align: right;}
.register-heading {display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 48px; align-items: end; margin-bottom: 56px;}
.register-count {display: flex; align-items: baseline; gap: 16px; padding-bottom: 4px; color: var(--muted); font-size: 14px;}
.register-count strong {font-size: 64px; line-height: 1; color: var(--blue); font-weight: 500; font-variant-numeric: tabular-nums; min-width: 2ch;}
.catalog-toolbar {border-block: 1px solid var(--line); padding-block: 24px; margin-bottom: 56px; grid-template-columns: minmax(0,1fr) 260px auto; gap: 40px;}
.catalog-toolbar input,.catalog-toolbar select {background: transparent; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding-left: 0;}
.catalog-card-media {position: relative; background: #f0f2f3;}
.catalog-card-media img {padding: 12px; transition: transform .8s var(--ease);}
.catalog-card-link:hover img {transform: scale(1.045);}
.image-link-indicator {position: absolute; right: 16px; bottom: 16px; width: 48px; height: 48px; display: grid; place-items: center; background: white; color: var(--ink); border-radius: 2px; transition: background .25s,color .25s;}
.image-link-indicator svg {width: 22px; height: 22px; transition: transform .3s;}
.catalog-card-link:hover .image-link-indicator {background: var(--orange);}
.catalog-card-link:hover .image-link-indicator svg {transform: translate(2px,-2px);}
.catalog-card-label {border-bottom: 1px solid var(--line); padding: 16px 0 20px;}
.catalog-card-label h3 {font-size: 32px; font-weight: 500;}
.catalog-card-label>svg {display: none;}
.catalog-card p:not(.catalog-kicker) {max-width: 54ch;}
.catalog-card .page-status {display: inline-flex; border-bottom: 1px solid #b9c6cf; padding-bottom: 4px;}
.parts-register {background: #f5f6f6;}
.parts-register .catalog-card-media {background: white; aspect-ratio: 1.12;}
.parts-register .catalog-card-media img {padding: 24px;}
.parts-register .catalog-card-label h3 {font-size: 26px;}
.catalog-agency {background: #0b4e91; position: relative; overflow: hidden;}
.catalog-agency .wrap {padding-block: 88px; gap: 64px;}
.catalog-agency h2 {font-size: 48px; line-height: 1.14; max-width: 23ch;}
.catalog-agency p {margin-top: 24px; max-width: 54ch; line-height: 1.75;}
.product-showcase {background: #f1f3f4; padding-bottom: 24px;}
.product-showcase .catalog-breadcrumb {padding-block: 20px; font-size: 14px;}
.product-showcase .product-heading {padding-top: 32px; padding-bottom: 16px;}
.product-heading h1 {font-size: 72px; font-weight: 600; max-width: 24ch;}
.product-heading-row {margin-top: 24px;}
.product-heading-row p {font-size: 18px; max-width: 58ch;}
.product-showcase .product-stage {margin-top: 40px; background: transparent;}
.product-detail-page .product-stage {overflow: hidden; --parallax-y: 0px;}
.product-stage-media {transform: translate3d(0,var(--parallax-y),0); will-change: transform;}
.product-showcase .product-stage-image {height: 520px; width: 100%; padding-inline: var(--gutter); object-fit: contain; mix-blend-mode: multiply;}
.product-showcase:has(.component-stage) {background: #f8f9f9;}
.product-photo-caption {display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 20px; font-size: 14px; color: var(--muted);}
.product-photo-caption a {display: inline-flex; gap: 12px; align-items: center; min-height: 44px;}
.product-photo-caption svg {width: 18px; height: 18px;}
.product-data-rail {padding-top: 24px;}
.product-metrics {gap: 48px; padding-block: 40px;}
.product-metrics dd {font-size: 32px; font-weight: 500;}
.product-detail-page .product-metrics dd[data-count-format="metric"] {font-variant-numeric: tabular-nums;}
.product-detail-page .product-metrics>div {position: relative;}
.product-detail-page .product-metrics>div::before {content: ''; display: block; width: 32px; height: 2px; margin-bottom: 20px; background: var(--blue); transition: width .7s var(--ease);}
.product-detail-page.has-motion .product-metrics>div.is-visible::before {width: min(100%,72px);}
.product-links {justify-content: flex-end; gap: 40px;}
.feature-item {padding-top: 32px; position: relative;}
.feature-item:before {content: ''; position: absolute; top: -1px; left: 0; width: 32px; height: 2px; background: var(--cyan); transition: width .6s var(--ease);}
.feature-item:hover:before {width: 100%;}
.feature-item h3 {font-size: 24px; font-weight: 500;}
.specification-band {background: #0d151b; color: white;}
.specification-band .catalog-kicker {color: #9ad6eb;}
.specification-band .spec-intro,.specification-band .spec-footnote,.specification-band .spec-table th {color: #b7c7d0;}
.specification-band .spec-table td {color: #f1f4f6;}
.specification-band .spec-table th,.specification-band .spec-table td {border-color: #ffffff24; padding-block: 20px;}
.specification-band .text-link {color: #9ad6eb;}
.spec-table tr {transition: background .25s;}
.spec-table tr:hover {background: #ffffff06;}
.catalog-page .contact h2 {font-size: 52px;}
.catalog-page .form-area {padding-top: 0;}
.catalog-page .contact {background: #f5f6f6;}
.related-section .catalog-grid {gap: 48px;}
.related-section .catalog-card-media {aspect-ratio: 1.5;}
.relationship-band {background: #0d151b; color: white;}
.relationship-band .catalog-kicker,.relationship-band .editorial-index,.relationship-band .principal-chinese,.relationship-band .text-link {color: #9ad6eb;}
.relationship-band .relationship-item>p:last-child,.relationship-band .editorial-copy {color: #c2cfd6;}
.relationship-grid {gap: 96px;}
.relationship-item {border-color: #ffffff35; padding-block: 40px 16px;}
.relationship-item h2 {font-size: 40px !important;}
.editorial-panorama {overflow: hidden;}
.editorial-panorama img {height: 550px;}
.editorial-panorama figcaption {position: relative; padding-block: 18px; margin: 0; background: white;}
.service-row {grid-template-columns: 90px minmax(0,1.15fr) minmax(0,1fr); gap: 64px; padding-block: 56px; transition: border-color .3s;}
.service-row:hover {border-color: var(--blue);}
.service-marker {gap: 36px;}
.service-marker>span {font-size: 48px; line-height: 1; color: #7d9aac; font-weight: 400;}
.service-row h3 {font-size: 32px; font-weight: 500;}
.service-detail {padding-top: 8px;}
.support-visual {min-height: 580px; overflow: hidden;}
.support-visual h2 {font-size: 64px;}
.contact-page-content .contact-grid {gap: 96px;}
.contact-page-content .form-area {padding-top: 8px;}
.contact-page-content .contact-direct {padding-top: 28px; border-top: 1px solid var(--line);}
.future-page .catalog-placeholder {padding-block: 72px 112px;}
.future-mark {display: inline-flex; font-size: 14px; align-items: center; gap: 10px; color: var(--blue); margin-bottom: 48px;}
.future-mark:before {content: ''; width: 8px; height: 8px; background: var(--orange);}
.catalog-page.has-motion .catalog-reveal {transition-delay: var(--reveal-delay,0ms);}
@media(min-width:1000px) {.specification-layout>div:first-child {position: sticky; top: calc(var(--header) + 40px); align-self: start;}}
@media(prefers-reduced-motion:no-preference) {
  .editorial-hero .title-line>span {animation: editorial-title 1s var(--ease) both;}
  .editorial-hero .title-line:nth-child(2)>span {animation-delay: .12s;}
  .editorial-hero-bottom {animation: editorial-copy .9s .2s both;}
  [data-drift] {transform: translateY(var(--media-shift,0px)) scale(1.07);}
  .product-stage-image {animation: editorial-copy 1s .1s both;}
  @keyframes editorial-title {from {transform: translateY(105%);} to {transform: translateY(0);}}
  @keyframes editorial-copy {from {opacity: 0; transform: translateY(16px);} to {opacity: 1; transform: translateY(0);}}
}
@media(max-width:1199px) {
  .catalog-page {--catalog-space: 96px;}
  .editorial-hero h1 {font-size: 72px;}
  .catalog-page .catalog-section h2,.catalog-page .contact h2 {font-size: 44px;}
  .product-heading h1 {font-size: 60px;}
  .product-showcase .product-stage-image {height: 440px;}
  .catalog-card-label h3 {font-size: 28px;}
  .catalog-agency h2 {font-size: 40px;}
  .service-row {grid-template-columns: 56px minmax(0,1fr) minmax(0,1fr); gap: 32px;}
  .service-row h3 {font-size: 28px;}
  .contact-page-content .contact-grid {gap: 48px;}
}
@media(max-width:899px) {
  .catalog-page {--catalog-space: 80px;}
  .editorial-hero {height: auto; min-height: 580px;}
  .editorial-hero h1 {font-size: 64px;}
  .editorial-hero-bottom {gap: 32px; grid-template-columns: minmax(0,1fr);}
  .hero-section-link {justify-self: start;}
  .editorial-hero .editorial-eyebrow {padding-bottom: 48px;}
  .editorial-hero-meta {margin-top: 28px;}
  .product-heading h1 {font-size: 48px;}
  .catalog-toolbar {grid-template-columns: minmax(0,1fr) 200px; gap: 24px;}
  .catalog-card-label h3,.parts-register .catalog-card-label h3 {font-size: 24px;}
  .service-row {grid-template-columns: 48px minmax(0,1fr); gap: 24px; padding-block: 40px;}
  .service-detail {grid-column: 2;}
  .relationship-grid {gap: 40px;}
  .relationship-item h2 {font-size: 32px !important;}
  .editorial-panorama img {height: 400px;}
  .support-visual {min-height: 450px;}
  .support-visual h2 {font-size: 48px;}
}
@media(max-width:620px) {
  .catalog-page {--catalog-space: 64px;}
  .editorial-hero {min-height: 540px;}
  .editorial-hero h1 {font-size: 48px;}
  .editorial-hero-inner {padding-top: 28px; padding-bottom: 24px;}
  .editorial-hero-bottom {margin-top: 20px; gap: 20px;}
  .editorial-hero-bottom>p {font-size: 16px;}
  .editorial-hero-meta {font-size: 14px; gap: 12px; flex-direction: column;}
  .editorial-hero-meta>span:last-child {text-align: left;}
  .catalog-page .catalog-section h2,.catalog-page .contact h2 {font-size: 36px;}
  .register-heading {gap: 24px; margin-bottom: 32px; grid-template-columns: minmax(0,1fr);}
  .register-count strong {font-size: 44px;}
  .catalog-toolbar {grid-template-columns: minmax(0,1fr); gap: 20px; margin-bottom: 40px;}
  .catalog-card-label h3 {font-size: 28px;}
  .catalog-agency .wrap {padding-block: 56px; gap: 28px;}
  .catalog-agency h2 {font-size: 32px;}
  .product-heading h1 {font-size: 40px;}
  .product-heading-row p {font-size: 16px;}
  .product-showcase .product-stage-image {height: 300px; padding-inline: 12px;}
  .product-showcase .product-stage {margin-top: 24px;}
  .product-photo-caption {flex-direction: column; align-items: flex-start; gap: 4px;}
  .product-metrics {gap: 24px; padding-block: 24px;}
  .product-metrics dd {font-size: 22px;}
  .product-links {justify-content: flex-start; gap: 12px 24px;}
  .feature-item h3 {font-size: 22px;}
  .related-section .catalog-grid {gap: 40px;}
  .relationship-grid {gap: 32px;}
  .relationship-item h2 {font-size: 28px !important;}
  .editorial-panorama img {height: 300px;}
  .service-row {grid-template-columns: 32px minmax(0,1fr); gap: 20px;}
  .service-marker>span {font-size: 28px;}
  .service-marker svg {width: 22px; height: 22px;}
  .service-row h3 {font-size: 26px;}
  .support-visual h2 {font-size: 40px;}
  .contact-page-content .contact-grid {gap: 40px;}
  .catalog-page .product-metrics>div {grid-template-columns: minmax(0,1fr); gap: 4px; padding-bottom: 18px; border-bottom: 1px solid var(--line);}
  .catalog-page .product-metrics>div:last-child {border-bottom: 0; padding-bottom: 0;}
  .catalog-page .product-metrics dd {text-align: left; overflow-wrap: normal;}
}
@media(max-width:359px) {.editorial-hero h1 {font-size: 42px;}.editorial-hero {min-height: 520px;}}
@media(max-height:700px) {
  .editorial-hero {height: auto; min-height: calc(100svh - var(--header) - 40px);}
  .editorial-hero-inner {padding-block: 24px;}
  .editorial-hero h1 {font-size: 56px;}
  .editorial-hero .editorial-eyebrow {padding-bottom: 20px;}
  .editorial-hero-bottom {grid-template-columns: minmax(0,1fr) auto; gap: 32px; margin-top: 20px;}
  .editorial-hero-bottom>p {font-size: 16px; line-height: 1.5;}
  .editorial-hero-meta {display: none;}
}
@media(max-height:700px) and (max-width:620px) {
  .editorial-hero h1 {font-size: 40px;}
  .editorial-hero-bottom {grid-template-columns: minmax(0,1fr); gap: 12px;}
  .hero-section-link {min-height: 44px; padding-block: 8px;}
}
@media(prefers-reduced-motion:reduce) {
  [data-drift],.catalog-card-link:hover img {transform: none;}
  .catalog-card-media img,.catalog-button svg,.text-link svg,.image-link-indicator,.image-link-indicator svg,.hero-section-link svg,.feature-item:before,.service-row,.spec-table tr {transition: none;}
}
@media print {.editorial-hero {height: auto;min-height: 400px;}.catalog-page .catalog-reveal {opacity: 1 !important;transform: none !important;}}

/* Shared inner-page controls and content chapters. The homepage does not load this file. */
.catalog-page {--control-size: 48px; --control-radius: 4px; --motion-fast: 220ms; --motion-slow: 800ms;}
.catalog-page :is(h1,h2,h3) {font-weight: 600;}
.catalog-page :is(.catalog-button,.button) {border-radius: var(--control-radius); min-height: 56px; font-size: 16px; line-height: 1.5; padding: 16px 24px; gap: 24px;}
.catalog-page .text-link {font-size: 16px; line-height: 1.5; gap: 16px; min-height: 44px; align-items: center;}
.catalog-page :is(.icon-button,.zoom-image,.image-link-indicator) {width: var(--control-size); height: var(--control-size); border-radius: var(--control-radius); flex-shrink: 0;}
.catalog-page .catalog-kicker,.catalog-page .small-label {font-size: 14px; font-weight: 500; line-height: 1.6;}
.catalog-page .ui-action {position: relative; overflow: hidden;}
.catalog-page .ui-action>svg {flex-shrink: 0;}
.catalog-page .header-actions {display: flex; align-items: center; gap: 8px;}
html:has(body.catalog-page) {--nav-height: 80px; --header: 80px;}
.catalog-page .header-inner {gap: 24px;}
.catalog-page .reverse-logo {width: 124px; min-width: 124px;}
.catalog-page .header-inner .brand-endorsement {font-size: 14px; line-height: 1.45;}
.catalog-page .mobile-nav {width: min(340px,calc(100% - 2 * var(--gutter))); padding: 12px 24px 20px;}
.catalog-page .mobile-nav a {font-size: 18px; line-height: 1.45; min-height: 52px; padding-block: 14px; gap: 20px;}
.catalog-page .mobile-nav a svg {width: 20px; height: 20px; flex-shrink: 0;}
.catalog-page .footer-bottom .motion-toggle {margin-left: auto;}
.motion-toggle {color: #c2d2da; border: 0; background: transparent;}
.motion-toggle:hover {color: white; background: #ffffff0c;}
.motion-toggle:disabled {opacity: .55; cursor: default;}
.motion-toggle svg {width: 22px; height: 22px;}
.motion-toggle .lucide-circle-play {display: none;}
.motion-toggle[aria-pressed=true] .lucide-circle-pause {display: none;}
.motion-toggle[aria-pressed=true] .lucide-circle-play {display: block;}
.material-section {background: #fff;}
.material-heading {max-width: 900px; margin-bottom: 48px;}
.material-heading h2 {max-width: 22ch;}
.chapter-tabs {display: flex; gap: 36px; margin-bottom: 40px; border-bottom: 1px solid var(--line); overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scrollbar-width: thin;}
.chapter-tabs button {flex-shrink: 0;}
#part-categories .chapter-tabs {gap: 24px;}
#part-categories .chapter-tabs button {gap: 10px; font-size: 16px;}
.chapter-tabs button {position: relative; display: inline-flex; align-items: center; gap: 14px; padding: 20px 0; background: transparent; border: 0; color: var(--muted); font-size: 18px; line-height: 1.5; min-height: 64px; border-radius: 0;}
.chapter-tabs button:after {content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--blue); transform: scaleX(0); transform-origin: left; transition: transform .4s var(--ease);}
.chapter-tabs button[aria-selected=true] {color: var(--ink);}
.chapter-tabs button[aria-selected=true]:after {transform: scaleX(1);}
.chapter-tabs button:hover {color: var(--blue);}
.chapter-tabs svg {width: 18px; height: 18px;}
.chapter-number {font-size: 14px; color: var(--blue);}
.chapter-panel {display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 72px; align-items: center; margin-bottom: 48px;}
.chapter-panel:last-child {margin-bottom: 0;}
.chapter-image {aspect-ratio: 1.15; margin: 0; overflow: hidden; background: #f0f2f3;}
.chapter-image img {width: 100%; height: 100%; object-fit: contain; padding: 16px;}
.chapter-image.has-caption {display: flex; flex-direction: column;}
.chapter-image.has-caption img {min-height: 0; height: calc(100% - 40px);}
.chapter-image figcaption {min-height: 40px; padding: 10px 16px; background: #fff; color: var(--muted); font-size: 14px; line-height: 20px;}
.chapter-copy {max-width: 56ch; min-width: 0;}
.chapter-copy h3 {font-size: 36px; line-height: 1.15; margin-bottom: 24px;}
.chapter-copy>p:not(.catalog-kicker) {font-size: 18px; line-height: 1.75; color: var(--muted);}
.detail-list {list-style: none; margin: 24px 0; padding: 0;}
.detail-list li {position: relative; padding: 0 0 12px 20px; font-size: 16px; line-height: 1.65; color: var(--muted);}
.detail-list li:before {content: ''; position: absolute; width: 5px; height: 5px; background: var(--cyan); top: 11px; left: 0;}
.configuration-section {background: #f6f7f7;}
.configuration-heading>p:last-child {margin-top: 24px; max-width: 34ch; font-size: 18px; color: var(--muted); line-height: 1.7;}
.disclosure {border-top: 1px solid var(--line);}
.disclosure:last-of-type {border-bottom: 1px solid var(--line);}
.disclosure summary {display: flex; align-items: center; gap: 20px; padding-block: 24px; list-style: none; cursor: pointer; font-size: 18px; line-height: 1.5; font-weight: 500;}
.disclosure summary::-webkit-details-marker {display: none;}
.disclosure summary>span {font-size: 14px; color: var(--blue);}
.disclosure summary svg {width: 20px; height: 20px; flex-shrink: 0; margin-left: auto; color: var(--blue); transition: transform .3s var(--ease);}
.disclosure[open] summary svg {transform: rotate(45deg);}
.disclosure>div,.disclosure>p {padding-bottom: 24px; font-size: 16px; line-height: 1.8; color: var(--muted);}
.disclosure summary:focus-visible {outline: 2px solid var(--cyan); outline-offset: 4px;}
.product-jumpbar {background: #ffffffed; backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); z-index: 20;}
.product-jumpbar .product-links {justify-content: flex-start; padding-block: 8px; gap: 32px;}
.product-jumpbar a[aria-current=location] {color: var(--blue); border-bottom-color: var(--cyan);}
.service-journey {display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); gap: 72px; align-items: start;}
.journey-visual {position: sticky; top: calc(var(--header) + 28px); min-width: 0;}
.journey-photos {aspect-ratio: 1; overflow: hidden; position: relative; background: #edf1f3;}
.journey-photos img {width: 100%; height: 100%; object-fit: cover;}
.journey-caption {display: flex; justify-content: space-between; gap: 20px; padding-block: 20px; font-size: 14px; line-height: 1.5; color: var(--muted);}
.journey-controls {display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px;}
.journey-controls button {border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; min-height: 48px; font-size: 16px; color: var(--muted); transition: border-color .3s,color .3s;}
.journey-controls button[aria-current=step] {color: var(--blue); border-top: 2px solid var(--blue);}
.service-journey .service-row {grid-template-columns: 40px minmax(0,1fr); gap: 24px; padding-block: 40px;}
.service-journey .service-detail {grid-column: 2; padding-top: 0;}
.service-journey .service-marker>span {font-size: 30px;}
.service-journey .service-row:first-child {padding-top: 0; border-top: 0;}
.service-journey .service-row h3 {font-size: 30px;}
.training-section {background: #f3f5f5;}
.training-section .editorial-columns {align-items: center;}
.training-image {min-width: 0; margin: 0;}
.training-image img {width: 100%; height: auto; aspect-ratio: 1.2; object-fit: contain; mix-blend-mode: multiply;}
.training-image figcaption {font-size: 14px; line-height: 1.6; color: var(--muted); margin-top: 16px;}
.training-section .editorial-copy h2 {margin-bottom: 28px; color: var(--ink);}
.enquiry-preparation {margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line);}
.enquiry-preparation>p:not(.catalog-kicker) {font-size: 16px; line-height: 1.75; color: var(--muted); margin-top: 12px;}
.film-hero .inner-film {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; opacity: 0; transition: opacity .6s;}
.film-hero.film-ready .inner-film {opacity: 1;}
.film-hero>img {transition: opacity .6s;}
.film-hero.film-ready>img {opacity: 0;}
.inner-film-control {position: absolute; right: var(--gutter); top: 22px;}
.inner-film-control button {display: inline-flex; align-items: center; gap: 12px; padding: 12px 16px; border: 1px solid #ffffff50; border-radius: 4px; color: white; background: #09121a55; backdrop-filter: blur(8px); font-size: 14px; min-height: 48px;}
.inner-film-control svg {width: 18px; height: 18px;}
.inner-film-control .lucide-pause,.inner-film-control .is-playing .lucide-play {display: none;}
.inner-film-control .is-playing .lucide-pause {display: block;}
.film-hero .editorial-eyebrow {padding-right: 160px;}
@media(min-width:1000px) {
  .product-jumpbar {position: sticky; top: var(--header);}
  html:has(.product-jumpbar) {scroll-padding-top: calc(var(--header) + 100px);}
  .catalog-page:has(.product-jumpbar) .specification-layout>div:first-child {top: calc(var(--header) + 116px);}
}
@media(prefers-reduced-motion:no-preference) {
  .catalog-page.has-motion .catalog-reveal {transform: translateY(28px); transition-duration: .9s;}
  .catalog-page.has-motion .catalog-reveal.is-visible {transform: none;}
  .chapter-switcher.is-enhanced .chapter-panel:not([hidden]) .chapter-image img {animation: chapter-image .8s var(--ease) both;}
  .chapter-switcher.is-enhanced .chapter-panel:not([hidden]) .chapter-copy {animation: chapter-copy .65s .08s var(--ease) both;}
  .journey-photos img:not([hidden]) {animation: chapter-image .7s var(--ease) both;}
  .disclosure[open]>div,.disclosure[open]>p {animation: chapter-copy .4s var(--ease) both;}
  .catalog-card-media img {transition: transform 1s var(--ease),filter .7s;}
  .catalog-card-link:hover img {transform: scale(1.06);}
  .equipment-parallax-page .equipment-register .catalog-card-link:hover [data-parallax=media] img {transform: translate3d(0,var(--parallax-y),0) scale(1.055);}
  .catalog-card-label>h3 {transition: transform .4s var(--ease),color .3s;}
  .catalog-card-link:hover .catalog-card-label>h3 {transform: translateX(6px);}
  .ui-action:hover>svg {animation: action-arrow .45s var(--ease);}
  .catalog-page .mobile-nav:not([hidden]) a {animation-duration: .5s;}
  .catalog-page .mobile-nav:not([hidden]) a:nth-child(5) {animation-delay: .18s;}
  @keyframes chapter-image {from {opacity: .3;transform: scale(1.055);clip-path: inset(0 0 5% 0);}to {opacity: 1;transform: scale(1);clip-path: inset(0);}}
  @keyframes chapter-copy {from {opacity: 0;transform: translateY(14px);}to {opacity: 1;transform: none;}}
  @keyframes action-arrow {0% {transform: translate(0,0);}45% {transform: translate(5px,-5px);opacity:0;}46% {transform: translate(-5px,5px);opacity:0;}100% {transform:translate(0,0);opacity:1;}}
}
@media(max-width:1199px) {
  .chapter-panel,.service-journey {gap: 48px;}
  .chapter-copy h3 {font-size: 32px;}
  .chapter-copy>p:not(.catalog-kicker) {font-size: 16px;}
}
@media(max-width:999px) {
  .service-journey {grid-template-columns: minmax(0,1fr); gap: 40px;}
  .journey-visual {position: static;}
  .journey-photos {aspect-ratio: 1.6;}
}
@media(max-width:899px) {
  .chapter-panel {grid-template-columns: minmax(0,1fr); gap: 32px;}
  .chapter-image {aspect-ratio: 1.5;}
  .chapter-copy {max-width: 65ch;}
  .material-heading {margin-bottom: 32px;}
  .chapter-tabs {gap: 24px;}
  .chapter-tabs button {font-size: 16px;}
}
@media(max-width:620px) {
  .catalog-page .header-actions {grid-area: menu; gap: 4px; justify-self: end;}
  .catalog-page .header-inner {column-gap: 12px;}
  .catalog-page .header-actions .menu-toggle {grid-area: auto;}
  .chapter-tabs {gap: 16px; overflow-x: auto; overscroll-behavior-x: contain; margin-bottom: 24px;}
  .chapter-tabs button {flex-shrink: 0; gap: 10px; padding-block: 16px; min-height: 56px;}
  .chapter-tabs svg {display: none;}
  .chapter-copy h3 {font-size: 28px;}
  .chapter-image {aspect-ratio: 1.2;}
  .service-journey .service-row {grid-template-columns: 28px minmax(0,1fr); gap: 18px;}
  .service-journey .service-row h3 {font-size: 26px;}
  .service-journey .service-marker>span {font-size: 24px;}
  .journey-caption {gap: 16px;}
  .disclosure summary {font-size: 16px; gap: 16px;}
  .configuration-heading>p:last-child {font-size: 16px;}
  .product-jumpbar .product-links {gap: 8px 20px;}
  .inner-film-control {top: 16px;}
  .inner-film-control button {padding: 10px;}
  .inner-film-control span {display: none;}
  .film-hero .editorial-eyebrow {padding-right: 54px;}
}
.catalog-page.motion-paused *,.catalog-page.motion-paused *:before,.catalog-page.motion-paused *:after {animation: none !important; transition: none !important; scroll-behavior: auto !important;}
.catalog-page.motion-paused [data-drift],.catalog-page.motion-paused .catalog-reveal {transform: none !important;}
.catalog-page.motion-paused [data-parallax] {--parallax-y: 0px !important;}
.catalog-page.elementor-editor-active [data-parallax],.elementor-html .catalog-page [data-parallax] {--parallax-y: 0px !important;}
.motion-paused .film-hero:not(.film-user-play) .inner-film {opacity: 0;}
.motion-paused .film-hero:not(.film-user-play)>img {opacity: 1;}
@media(prefers-reduced-motion:reduce) {.catalog-page *,.catalog-page *:before,.catalog-page *:after {animation: none !important;transition: none !important;}.catalog-page [data-parallax] {--parallax-y: 0px !important;}}
@media print {.header-actions,.chapter-tabs,.journey-controls,.inner-film-control {display:none !important;}.chapter-panel[hidden] {display:grid !important;}.journey-visual,.product-jumpbar {position:static;}}

/* Shared 12-track system: 4/8 for heading/content, 7/5 for image/copy. */
.catalog-page {--layout-gap: 32px; --section-gap: 112px; --catalog-space: var(--section-gap); --block-gap: 48px;}
.catalog-page .layout-grid {display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: var(--layout-gap); align-items: start;}
.layout-grid> * {min-width: 0;}
.layout-content> :first-child {grid-column: 1 / span 4;}
.layout-content> :nth-child(2) {grid-column: 5 / span 8;}
.layout-media> :first-child {grid-column: 1 / span 7;}
.layout-media> :nth-child(2) {grid-column: 8 / span 5;}
.material-heading {max-width: none; margin-bottom: var(--block-gap);}
.material-heading .catalog-kicker {margin-top: 8px;}
.chapter-image,.journey-photos {aspect-ratio: 4 / 3;}
.chapter-copy,.equipment-entry-copy {padding: 0;}
.training-section .layout-grid {align-items: center;}
.relationship-item {margin: 0; padding-top: 32px;}
.editorial-panorama {width: 100%; margin-top: var(--block-gap);}
.product-showcase .product-stage {width: 100%;}
.systems-layout {align-items: start; margin-top: var(--block-gap);}
.systems-sticky {display: block; margin: 0;}
.systems-sticky .register-count {margin-top: 32px;}
.systems-intro {max-width: 35ch; margin-top: 32px; font-size: 17px; line-height: 1.75; color: var(--muted);}
.equipment-register .catalog-grid {grid-template-columns: minmax(0,1fr); gap: 64px; align-items: start;}
.equipment-register .featured-system-list {gap: 0; counter-reset: featured-system;}
.equipment-register .featured-system-card {counter-increment: featured-system;}
.featured-system-card {padding-bottom: 88px; margin-bottom: 88px; border-bottom: 1px solid var(--line);}
.featured-system-card:last-child {padding-bottom: 0; margin-bottom: 0; border-bottom: 0;}
.featured-system-card .equipment-entry-copy {display: grid; grid-template-columns: minmax(120px,2fr) minmax(0,6fr); gap: 0 var(--layout-gap); padding-top: 28px;}
.featured-system-card .equipment-entry-copy>.catalog-kicker {grid-column: 1; grid-row: 1 / span 4; padding-top: 7px;}
.featured-system-card .equipment-entry-copy> :not(.catalog-kicker) {grid-column: 2;}
.featured-system-card .catalog-card-media:before {content: counter(featured-system,decimal-leading-zero); position: absolute; left: 18px; top: 18px; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; background: var(--ink); color: white; font-size: 14px; font-variant-numeric: tabular-nums;}
.featured-system-card .catalog-card-label {border: 0; padding: 0 0 16px;}
.featured-system-card .catalog-card-label h3 {font-size: 36px; line-height: 1.2;}
.featured-system-card p:not(.catalog-kicker) {max-width: 58ch;}
.equipment-register .catalog-card-media {aspect-ratio: 4 / 3;}
.equipment-register .catalog-card-media {position: relative;}
.equipment-register .catalog-card .page-status {margin-top: 20px;}
.additional-systems {display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: var(--layout-gap); align-items: start; margin-top: var(--section-gap); padding-top: var(--block-gap); border-top: 1px solid var(--line);}
.additional-systems-heading {grid-column: 1 / span 4;}
.additional-systems-heading h2 {margin-block: 16px 24px;}
.additional-systems-heading>p:last-child {font-size: 17px; line-height: 1.75; color: var(--muted); max-width: 35ch;}
.additional-system-grid {grid-column: 5 / span 8;}
.secondary-system-card .equipment-entry-copy {padding-top: 20px;}
.secondary-system-card .catalog-kicker {margin-top: 0;}
.secondary-system-card .catalog-card-label {border: 0; padding: 0 0 12px;}
.secondary-system-card .catalog-card-label h3 {font-size: 25px;}
.secondary-system-card p:not(.catalog-kicker) {margin-top: 0;}
.training-system {display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: var(--layout-gap); align-items: start; margin-top: var(--block-gap); padding: 40px 0; border-top: 1px solid var(--line);}
.training-system-heading {grid-column: 1 / span 4;}
.training-system-heading h2 {max-width: 12ch; margin-top: 12px; font-size: 32px; line-height: 1.18;}
.training-system-list {grid-column: 5 / span 8; grid-template-columns: minmax(0,1fr);}
.training-system-card .catalog-card-link {display: block;}
.training-system-card .equipment-entry-copy {padding-top: 20px;}
.training-system-card .catalog-card-label {border: 0; padding: 0 0 8px;}
.training-system-card .catalog-card-label h3 {font-size: 23px;}
.training-system-card p:not(.catalog-kicker) {margin-top: 0; font-size: 15px;}
.equipment-parallax-page [data-parallax] {--parallax-y: 0px;}
.equipment-parallax-page .editorial-hero[data-parallax]>img,
.equipment-parallax-page .editorial-hero[data-parallax]>.inner-film {height: calc(100% + 56px); top: -28px; transform: translate3d(0,var(--parallax-y),0) scale(1.025); will-change: transform;}
.equipment-parallax-page .equipment-register [data-parallax=media] img {transform: translate3d(0,var(--parallax-y),0) scale(1.025); will-change: transform;}
.parts-register .catalog-grid {grid-template-columns: repeat(3,minmax(0,1fr)); gap: 56px var(--layout-gap); align-items: start; counter-reset: part;}
.parts-register .catalog-card {grid-column: auto; padding-top: 0; counter-increment: part;}
.parts-register .catalog-card-media {aspect-ratio: 4 / 3;}
.parts-register .catalog-card-media::before {content: counter(part,decimal-leading-zero); position: absolute; z-index: 1; top: 18px; left: 20px; color: var(--blue); font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums;}
.parts-register .catalog-card-link {padding-bottom: 28px; border-bottom: 1px solid var(--line);}
.parts-register .catalog-card-label {border-bottom: 0; padding: 10px 0 14px;}
.parts-register .catalog-card-label h3 {font-size: 26px; max-width: 24ch;}
.catalog-page .contact-page-content .form-area {padding-top: 0;}
.service-journey .service-list {padding-top: 0;}
.service-journey .service-row:first-child {margin-top: 0;}
@media(max-width:1199px) {
  .catalog-page {--layout-gap: 24px; --section-gap: 96px;}
  .featured-system-card .catalog-card-label h3 {font-size: 30px;}
  .featured-system-card {padding-bottom: 64px; margin-bottom: 64px;}
}
@media(min-width:1000px) {
  .systems-sticky,.additional-systems-heading,.training-system-heading {position: sticky; top: calc(var(--header) + 48px); align-self: start;}
}
@media(max-width:899px) {
  .catalog-page {--section-gap: 80px; --block-gap: 40px;}
  .catalog-page .layout-grid {grid-template-columns: minmax(0,1fr); gap: 32px;}
  .layout-grid> :first-child,.layout-grid> :nth-child(2) {grid-column: 1;}
  .parts-register .catalog-grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 48px 24px;}
  .featured-system-card .catalog-card-label h3 {font-size: 28px;}
  .additional-systems {grid-template-columns: minmax(0,1fr); gap: 32px;}
  .additional-systems-heading,.additional-system-grid {grid-column: 1;}
  .training-system {grid-template-columns: minmax(0,1fr); gap: 28px;}
  .training-system-heading,.training-system-list {grid-column: 1;}
}
@media(max-width:620px) {
  html:has(body.catalog-page) {--nav-height: 96px; --header: 96px;}
  .catalog-page .header-inner {grid-template-rows: 60px 20px; row-gap: 0; padding-block: 8px;}
  .catalog-page .reverse-logo {width: 112px; min-width: 112px;}
  .catalog-page .header-inner .brand-endorsement {font-size: 14px; line-height: 20px;}
  .catalog-page .mobile-nav {width: auto; left: 0; right: 0; padding-inline: var(--gutter);}
  .catalog-page .footer-bottom .motion-toggle {margin-left: 0;}
  .catalog-page {--section-gap: 64px; --block-gap: 32px;}
  .parts-register .catalog-grid {grid-template-columns: minmax(0,1fr); gap: 48px;}
  .parts-register .catalog-card-label h3 {font-size: 24px;}
  .featured-system-card {padding-bottom: 48px; margin-bottom: 48px;}
  .featured-system-card .equipment-entry-copy {grid-template-columns: minmax(0,1fr); gap: 10px; padding-top: 22px;}
  .featured-system-card .equipment-entry-copy>.catalog-kicker,.featured-system-card .equipment-entry-copy> :not(.catalog-kicker) {grid-column: 1; grid-row: auto;}
  .featured-system-card .equipment-entry-copy>.catalog-kicker {padding-top: 0;}
  .equipment-register .catalog-grid {gap: 48px;}
  .equipment-register .featured-system-list {gap: 0;}
  .secondary-system-card .catalog-card-label h3,.training-system-card .catalog-card-label h3 {font-size: 21px;}
  .catalog-page {--catalog-space: 48px;}
  .material-heading {margin-bottom: 28px;}
  .chapter-tabs,#part-categories .chapter-tabs {justify-content: space-between; gap: 8px; overflow-x: visible;}
  .chapter-tabs button,#part-categories .chapter-tabs button {min-height: 52px; gap: 0; padding-block: 12px; font-size: 14px; white-space: nowrap;}
  .chapter-tabs .chapter-number {display: none;}
  #part-categories .chapter-tabs {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 16px; border-bottom: 0;}
  #part-categories .chapter-tabs button {width: 100%; min-height: 56px; white-space: normal; text-align: left; line-height: 1.3; border-bottom: 1px solid var(--line);}
  .chapter-panel {margin-bottom: 32px;}
}
