
@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;}}


