@font-face{font-family:"Instrument Sans";src:url("/fonts/instrument-sans.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
:root{--paper:#f7f8f9;--ink:#1c232a;--muted:#4c5863;--line:#cdd4da;--graphite:#242b33;--accent:#a92538;--surface:#fff;--display:"Instrument Sans",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--display)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
figure,dl,dd{margin:0}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.site-wrap{width:min(1320px,100% - clamp(36px,8.5vw,144px));margin-inline:auto}
.site-header{background:var(--graphite);color:#f5f7fa;border-bottom:2px solid var(--accent)}
.site-nav{min-height:clamp(56px,5.3vw,76px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.site-brand{display:inline-flex;justify-self:start;align-items:center;gap:8px;width:max-content;font:bold clamp(20px,2vw,27px)/1 var(--display);letter-spacing:-.055em}
.brand-dot{color:#fa7482;margin-left:-7px}
.brand-mark{width:21px;height:21px;background:currentColor;clip-path:polygon(0 0,100% 0,100% 24%,24% 24%,24% 45%,78% 45%,78% 68%,24% 68%,24% 100%,0 100%)}
.site-nav nav{display:flex;align-items:center;gap:clamp(14px,3vw,40px);font-size:14px}
.site-nav nav a{padding:9px 0;border-bottom:1px solid transparent}
.site-nav nav a:is(:hover,[aria-current=page]){border-color:currentColor}
.site-button{display:inline-flex;justify-content:space-between;align-items:center;gap:17px;min-height:44px;padding:0 15px;border:1px solid var(--ink);font:700 14px/1.2 var(--display);background:var(--graphite);color:#fff}
.site-button:hover{background:#3b424b;color:#fff}
.site-nav-cta{justify-self:end}
.site-nav-cta .site-button{min-height:36px;white-space:nowrap}
.site-button-accent{background:var(--accent);border-color:var(--accent)}
.site-button-accent:hover{background:#851b2a}
.site-text-link{display:inline-block;font-weight:700;font-size:14px;border-bottom:1px solid currentColor;padding-bottom:3px;width:max-content;max-width:100%}
.site-text-link:hover{color:#921e30}
.site-kicker{display:flex;align-items:center;gap:8px;margin-bottom:9px;color:#6e3440;font:bold 11px/1.3 "Menlo",monospace;letter-spacing:.09em;text-transform:uppercase}
.site-kicker::before{content:"";width:8px;height:8px;flex:none;background:var(--accent)}
.site-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.site-section{padding-block:clamp(34px,4.5vw,64px)}
.home-catalog{padding-block:clamp(28px,3.5vw,50px)}
.home-catalog h2{font-size:clamp(30px,5.15vw,58px)}
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:19px}
.site-section h2,.site-final h2,.engineering-note h2,.policy-text h2{margin:0;font-size:clamp(30px,3.65vw,53px);line-height:1.02;letter-spacing:-.055em}
.section-lead{max-width:68ch;color:var(--muted);margin:10px 0 19px;font-size:clamp(14px,1.2vw,17px)}
.page-intro{padding-block:clamp(34px,5vw,72px) 14px}
.page-intro h1,.gallery-title h1{margin:0;max-width:21ch;font-size:clamp(42px,5.8vw,83px);line-height:.99;letter-spacing:-.065em}
.page-intro p,.gallery-title p{max-width:62ch;margin:13px 0 0;color:var(--muted);font-size:clamp(16px,1.4vw,20px)}
.engineering-hero {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  align-items: center;
  gap: clamp(22px, 4vw, 58px);
  padding-bottom: clamp(22px, 3vw, 40px);
}
.engineering-hero h1 {
  font-size: clamp(39px, 4.35vw, 68px);
  text-wrap: balance;
}
.engineering-hero img {
  width: 100%;
  height: auto;
}
@media (max-width: 720px) {
  .engineering-hero {
    grid-template-columns: 1fr;
  }
}
.inner-section{padding-block:18px clamp(36px,5vw,68px)}
.solution-catalog{--catalog-tracks:minmax(0,1.05fr) minmax(0,1.1fr) minmax(76px,.37fr) minmax(100px,.45fr) minmax(90px,.39fr);--catalog-gap:clamp(12px,1.7vw,24px)}
.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 13px}
.catalog-toolbar>a{margin-left:auto;color:#8d2333}
.catalog-filters{display:flex;gap:clamp(12px,3.5vw,35px);width:max-content;max-width:100%}
.catalog-filters button{min-height:39px;padding:0;color:var(--ink);font:700 14px/1 var(--display);white-space:nowrap;background:transparent;border:0;border-bottom:2px solid transparent;cursor:pointer}
.catalog-filters button:hover{color:#8d2333}
.catalog-filters button[aria-pressed=true]{border-color:var(--accent)}
.catalog-head,.catalog-row{display:grid;grid-template-columns:var(--catalog-tracks);gap:var(--catalog-gap);align-items:center}
.catalog-head{padding:9px 0;border-block:1px solid var(--line);color:var(--muted);font:bold 11px/1.35 "Menlo",monospace;text-transform:uppercase;letter-spacing:.045em}
.catalog-head span:first-child{grid-column:span 2}
.catalog-row{padding:clamp(9px,1.15vw,15px) 0;border-bottom:1px solid var(--line)}
.catalog-photo{aspect-ratio:2.14;display:block;overflow:hidden;background:#dce1e5}
.catalog-photo img{width:100%;height:100%;object-fit:cover;transition:transform 180ms ease}
.catalog-photo:hover img{transform:scale(1.035)}
.catalog-copy h3{margin:3px 0 5px;font-size:clamp(18px,2.55vw,30px);line-height:1.09;letter-spacing:-.04em}
.catalog-copy h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.catalog-copy p{margin:0;color:var(--muted);font-size:clamp(13px,1.1vw,15px);line-height:1.38}
.catalog-copy .catalog-category{color:#6e3440;font-weight:700;font-size:11px;letter-spacing:.035em;text-transform:uppercase}
.catalog-platform,.catalog-time{font-size:clamp(13px,1.2vw,16px);font-weight:700;font-variant-numeric:tabular-nums}
.catalog-platform span,.catalog-time span{display:none}
@media(min-width:841px){.catalog-platform,.catalog-time{align-self:stretch;display:grid;align-items:center;border-left:1px solid var(--line);padding-left:clamp(9px,1.2vw,17px)}.catalog-head span:not(:first-child){padding-left:clamp(9px,1.2vw,17px)}}
.catalog-link{color:#8d2333;white-space:nowrap}
.catalog-note{color:var(--muted);font-size:12px;margin:10px 0 0}
.dark-band{background:var(--graphite);color:#f5f7fa}
.dark-band .site-kicker{color:#f1a9b3}
.deployment-cases-head p{color:#c7cfd8;font-size:12px;margin:0}
.deployment-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(13px,2vw,30px)}
.deployment-case{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(10px,1.6vw,23px);min-width:0}
.deployment-case img{width:100%;height:100%;min-height:125px;max-height:195px;object-fit:cover;align-self:start}
.deployment-case-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.deployment-case-copy h3{margin:0 0 6px;font-size:clamp(19px,2vw,30px);line-height:1.04;letter-spacing:-.035em}
.deployment-case-copy p{margin:0 0 10px;color:#dce3eb;font-size:clamp(13px,1.1vw,15px);line-height:1.4}
.deployment-case-copy .site-text-link{margin-top:auto;color:#ffc0c8;font-size:13px}
.deployment-case-copy .site-text-link:hover{color:#fff}
.deployment-value{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);gap:clamp(16px,4vw,58px);align-items:start}
.deployment-value p{max-width:70ch;margin:0;color:var(--muted);font-size:clamp(15px,1.25vw,18px);line-height:1.6}
@media(max-width:720px){.deployment-value{grid-template-columns:1fr}}
.platform-grid,.step-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2.2vw,32px)}
.platform-card{min-width:0;background:var(--surface);border:1px solid var(--line)}
.platform-card>img{width:100%;aspect-ratio:2.6;object-fit:cover}
.platform-spec{padding:clamp(15px,2vw,26px)}
.platform-card h2{font-size:clamp(30px,4vw,54px);line-height:1;margin:0 0 8px;letter-spacing:-.05em}
.platform-card p{margin:0 0 16px;font-size:15px;color:var(--muted)}
.platform-card dl{margin-bottom:15px}
.platform-card dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:13px}
.platform-card dd{text-align:right;font-weight:700}
.platform-card .site-text-link{color:#8d2333}
.step-grid{grid-template-columns:repeat(3,minmax(0,1fr));counter-reset:steps;list-style:none;margin:0;padding:0}
.step-grid li{padding:19px 0 10px;border-top:2px solid var(--line);counter-increment:steps}
.step-grid li::before{content:"0" counter(steps);color:#922639;font:700 12px/1 "Menlo",monospace}
.step-grid h3{font-size:clamp(20px,2.3vw,32px);line-height:1.08;letter-spacing:-.035em;margin:12px 0 6px}
.step-grid p,.engineering-note p,.policy-text p{max-width:70ch;color:var(--muted)}
.step-grid p{font-size:15px;margin:0}
.engineering-note{background:#e9edf0;margin-top:25px;padding:clamp(17px,2.8vw,34px);border-left:3px solid var(--accent)}
.engineering-note h2,.policy-text h2{font-size:clamp(24px,3vw,38px)}
.engineering-note p{margin-bottom:0}
.policy-text h2:not(:first-child){margin-top:28px}
.site-final{background:#e9edf0;padding:clamp(18px,2.5vw,32px);margin-bottom:clamp(34px,5vw,66px);display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid var(--line)}
.site-final h2{font-size:clamp(27px,3vw,44px)}
.site-final p{margin:6px 0 0;color:var(--muted);max-width:72ch}
.site-final>.site-button{flex-shrink:0}
.home-enquiry{background:#e9edf0}
.home-enquiry .site-final{padding-inline:0;margin-bottom:0;border:0}
.site-footer{background:var(--graphite);color:#f5f7fa;padding:30px 0 15px}
.footer-main{display:flex;justify-content:space-between;gap:24px}
.footer-main p{color:#c7cfd8;font-size:14px;margin:10px 0 18px}
.footer-main nav{display:flex;gap:17px;flex-wrap:wrap;font-size:14px}
.footer-main nav a:hover{text-decoration:underline}
.footer-base{display:flex;justify-content:space-between;gap:12px;padding-top:13px;border-top:1px solid #596472;color:#c7cfd8;font-size:12px}
.solution-intro{padding-top:25px}
.back-link{display:inline-block;margin-bottom:20px;font-size:14px;font-weight:700;color:var(--muted)}
.back-link:hover{text-decoration:underline}
.solution-overview{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(20px,4vw,62px);padding-bottom:clamp(24px,4vw,56px);border-bottom:1px solid var(--line)}
.solution-title h1{margin:0;font-size:clamp(37px,4.8vw,73px);line-height:.99;letter-spacing:-.062em}
.solution-title p{color:var(--muted);max-width:61ch;font-size:clamp(15px,1.3vw,18px);margin:13px 0 19px}
.solution-facts{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);border-block:1px solid var(--line);margin-bottom:20px}
.solution-facts div{padding:9px 0}
.solution-facts div+div{padding-left:15px;border-left:1px solid var(--line)}
.solution-facts dt{color:var(--muted);font-size:12px}
.solution-facts dd{font-size:clamp(19px,2.1vw,30px);font-weight:700;letter-spacing:-.025em}
.solution-hero img,.solution-cutaway img{width:100%;height:auto}
.solution-hero figcaption,.solution-cutaway figcaption{display:flex;justify-content:space-between;gap:12px;padding:8px 11px;background:var(--graphite);color:#eaf0f4;font-size:12px}
.solution-hero figcaption span:first-child{text-transform:capitalize}
.solution-detail{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(22px,3.6vw,56px);padding-block:clamp(30px,4vw,56px)}
.solution-detail h2{font-size:clamp(27px,3.3vw,45px);line-height:1.05;letter-spacing:-.047em;margin:0 0 15px}
.solution-cutaway{background:#d9dee3}
.scope-note{color:var(--muted);max-width:70ch}
.solution-bom table{width:100%;border-collapse:collapse;text-align:left;font-size:15px}
.solution-bom th,.solution-bom td{border-bottom:1px solid var(--line);padding:9px 4px}
.solution-bom thead th{border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.solution-bom tbody th{font-weight:500}
.solution-bom th:last-child,.solution-bom td:last-child{text-align:right}
.solution-bom h3{font-size:16px;margin:17px 0 5px}
.solution-bom ul{color:var(--muted);font-size:14px;margin:0;padding-left:19px}
.enquiry-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:clamp(16px,3vw,42px);align-items:start}
.enquiry-form,.enquiry-guide{background:var(--surface);border:1px solid var(--line);padding:clamp(16px,2.4vw,30px)}
.enquiry-guide{background:#e9edf0}
.enquiry-guide h2{margin:0;font-size:24px;letter-spacing:-.035em}
.enquiry-guide ul{padding-left:18px;color:var(--muted);margin:9px 0 15px}
.enquiry-guide li+li{margin-top:7px}
.enquiry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.enquiry-form label{display:grid;gap:6px;font-weight:700;font-size:14px;margin-bottom:15px;min-width:0}
.enquiry-form input:not([type=checkbox]),.enquiry-form select,.enquiry-form textarea{width:100%;min-width:0;min-height:42px;padding:8px 10px;border:1px solid #9ea9b4;background:#fff;color:var(--ink);font:inherit;font-weight:400}
.enquiry-form fieldset{border:1px solid var(--line);margin:0 0 16px;padding:14px}
.enquiry-form .enquiry-consent{display:flex;align-items:center;flex-wrap:wrap;font-weight:400}
.enquiry-consent a{text-decoration:underline}
.enquiry-form button{cursor:pointer}
.enquiry-form button:disabled{opacity:.55;cursor:wait}
#enquiry-status{font-size:14px;color:var(--muted);margin-bottom:0}
.cutaway-stage{position:relative;isolation:isolate}
.equipment-pin{position:absolute;z-index:1;left:var(--pin-x);top:var(--pin-y);transform:translate(-50%,-50%);display:grid;place-items:center;width:clamp(16px,2.1vw,25px);aspect-ratio:1;border:1px solid #faf1f2;border-radius:50%;background:#252a30;color:#fff;font-size:clamp(9px,1.05vw,12px);font-weight:700;box-shadow:0 1px 3px #181d2560}
.equipment-pin:hover,.equipment-pin:focus-visible{z-index:2;background:var(--accent);color:#fff}
.equipment-pin span{position:absolute;pointer-events:none;opacity:0;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);width:max-content;max-width:115px;padding:4px 7px;background:#252a30;color:#fff;font-size:11px;line-height:1.2;text-align:center}
.equipment-pin:hover span,.equipment-pin:focus-visible span{opacity:1}
.equipment-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 13px;list-style:none;margin:12px 0 0;padding:0;font-size:13px}
.equipment-key li{display:flex;gap:7px;align-items:baseline;padding:3px 4px;scroll-margin-top:35vh}
.equipment-key li:target{background:#f3dfe3}
.equipment-key span{display:inline-grid;place-items:center;width:18px;min-width:18px;aspect-ratio:1;border:1px solid #b8c2cc;border-radius:50%;font-size:10px;font-weight:700}
@media (max-width:390px){.equipment-key{gap:5px;font-size:12px}.equipment-key li{padding-inline:0}}

.site-nav-cta .site-button{border-color:#606975}
.site-header :focus-visible,.site-footer :focus-visible,.dark-band :focus-visible{outline-color:#ffa0ac}
.gallery-intro{padding-top:34px}
.gallery-intro .back-link{margin-bottom:16px}
.gallery-title{border-bottom:1px solid var(--line);padding:0 0 23px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-block:22px 56px}
.gallery-card{min-width:0;background:var(--surface);border:1px solid var(--line)}
.gallery-image{display:block;position:relative;background:#d9dee3}
.gallery-image img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.gallery-image span{position:absolute;bottom:9px;right:9px;background:#252a30e8;color:#fff;display:grid;place-items:center;width:32px;height:32px;font-size:20px}
.gallery-image:hover span,.gallery-image:focus-visible span{background:var(--accent)}
.gallery-caption{display:flex;justify-content:space-between;align-items:start;gap:10px;padding:12px 13px 14px}
.gallery-caption h2{font-size:17px;line-height:1.2;margin:0}
.gallery-caption h2 a:hover{text-decoration:underline}
.gallery-caption p{font-size:13px;text-transform:capitalize;color:var(--muted);margin:5px 0 0}
.gallery-size{background:#edf0f2;color:#333d48;padding:2px 6px;white-space:nowrap;font-size:12px;font-weight:700}
.hero-dialog{position:fixed;max-width:min(1440px,calc(100vw - 32px));max-height:calc(100dvh - 24px);width:max-content;padding:0;border:1px solid #505964;background:var(--graphite);color:#fff}
.hero-dialog::backdrop{background:#10151ae0}
.hero-dialog-toolbar,.hero-dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 14px}
.hero-dialog h2{font-size:16px;margin:0}
.hero-dialog img{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 145px);object-fit:contain;margin:auto}
.hero-dialog-actions{display:flex;gap:5px}
.hero-dialog button{width:34px;height:34px;color:#fff;background:#39424d;border:1px solid #606975;font:inherit;cursor:pointer}
.hero-dialog button:hover{background:var(--accent)}
.hero-dialog :focus-visible{outline-color:#ffa0ac;outline-offset:2px}
.hero-dialog-footer{color:#eaf0f4;font-size:13px}
.hero-dialog-footer a:hover{color:#f5b0b8}
@media(max-width:960px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.gallery-grid{grid-template-columns:1fr;gap:13px}.gallery-intro{padding-top:22px}.hero-dialog-toolbar,.hero-dialog-footer{padding-inline:8px}}

.barge-hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(474px, 50vw, 735px);
  display: grid;
  align-items: start;
  background: #202a34;
  color: #fff;
}
.barge-copy {
  position: relative;
  z-index: 2;
  pointer-events: none;
  padding-block: clamp(46px, 5.2vw, 88px) 40px;
}
.barge-copy h1 {
  margin: 0;
  max-width: 17ch;
  font-size: clamp(43px, 5.1vw, 81px);
  font-weight: 700;
  line-height: .95;
  letter-spacing: -.068em;
}
.barge-copy p {
  margin: 13px 0 17px;
  max-width: 34ch;
  font-size: clamp(16px, 1.5vw, 21px);
  line-height: 1.5;
  color: #e8edf2;
}
.barge-copy a { pointer-events: auto; }
.barge-visual {
  position: absolute;
  inset: 0;
  overflow: hidden;
  container-type: size;
}
.barge-frame::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(105deg, #162432d9 0%, #1624329c 31%, #16243200 60%);
}
.barge-frame {
  position: absolute;
  top: 50%;
  left: 50%;
  width: max(100%, 177.577cqh);
  transform: translate(-50%, -50%);
}
.barge-frame img { width: 100%; height: auto; }
.barge-visual figcaption {
  position: absolute;
  z-index: 2;
  right: max(18px, 5vw, calc((100% - 1320px) / 2));
  bottom: 15px;
  padding: 3px 6px;
  background: #172029bb;
  color: #f3f6f9;
  font-size: 11px;
}
.barge-module {
  --leader-length: clamp(16px, 2.6vw, 42px);
  position: absolute;
  z-index: 2;
  top: var(--module-y);
  left: var(--module-x);
  display: flex;
  align-items: center;
  transform: translateY(-50%);
}
.barge-module:is(:hover, :focus-visible) { z-index: 3; }
.barge-module:focus-visible,.barge-copy a:focus-visible { outline-color: #ffabb5; }
.barge-leader {
  position: relative;
  flex: none;
  width: var(--leader-length);
  height: 1px;
  background: #f4e9eb;
  box-shadow: 0 0 3px #181b21;
}
.barge-leader::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 7px;
  height: 7px;
  border: 1px solid #fff;
  border-radius: 50%;
  background: #bd3f4e;
  transform: translate(-50%, -50%);
}
.barge-label {
  display: flex;
  gap: 7px;
  align-items: center;
  min-height: 38px;
  padding-inline: 10px;
  border: 1px solid #a5aab5;
  background: #20262ded;
  box-shadow: 0 2px 9px #151d2866;
  color: #fff;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.1;
  white-space: nowrap;
}
.barge-label span { color: #ffb7bf; }
.barge-module:is(:hover, :focus-visible) .barge-label { background: #8d1b2b; }
@media(min-width:846px){
  .barge-module:nth-of-type(2){--leader-length:41px;flex-direction:row-reverse;transform:translate(calc(-100% + 16px),calc(-50% - 32px))}
  .barge-module:nth-of-type(2) .barge-leader{transform:rotate(52deg);transform-origin:left center}
  .barge-module:nth-of-type(2) .barge-leader::before{top:50%;left:100%}
}
@media (min-width: 721px) and (max-width: 845px) {
  .barge-hero {
    grid-template-rows: auto minmax(0, 1fr);
    align-items: stretch;
  }
  .barge-copy { padding-block: 45px 18px; }
  .barge-copy h1 { font-size: clamp(55px, 7vw, 89px); }
  .barge-visual { position: relative; inset: auto; min-height: 390px; }
  .barge-frame::after { background: linear-gradient(180deg, #202a34 0%, transparent 16%); }
  .barge-frame { top: 0; left: auto; right: 0; width: max(110%, 177.577cqh); transform: none; }
}
@media (max-width: 720px) {
  .barge-hero {
    min-height: clamp(540px, 115vw, 660px);
    grid-template-rows: auto minmax(300px, 1fr);
    align-items: stretch;
  }
  .barge-copy {
    padding-block: 29px 12px;
    align-self: start;
  }
  .barge-copy h1 { font-size: clamp(39px, 8.4vw, 61px); }
  .barge-copy p { margin: 12px 0 14px; font-size: 15px; }
  .barge-visual { position: relative; inset: auto; }
  .barge-frame::after {
    background: linear-gradient(180deg, #202a34 0%, transparent 19%);
  }
  .barge-frame {
    left: auto;
    right: 4%;
    width: clamp(142%, 181cqh, 210%);
    transform: translateY(-50%);
  }
  .barge-label { min-height: 44px; padding-inline: 7px; gap: 5px; font-size: 13px; }
  .barge-visual figcaption { bottom: 7px; font-size: 10px; }
}

@media (max-width: 1020px) {
  .barge-module:first-of-type {
    flex-direction: column-reverse;
    transform: translate(-52%, -100%);
  }
  .barge-module:first-of-type .barge-leader {
    width: 1px;
    height: 18px;
  }
  .barge-module:first-of-type .barge-leader::before {
    top: 100%;
    left: 50%;
  }
}
@media(max-width:720px){
  .barge-module:first-of-type{flex-direction:row-reverse;transform:translate(-100%,-50%)}
  .barge-module:first-of-type .barge-leader{width:var(--leader-length);height:1px}
  .barge-module:first-of-type .barge-leader::before{top:50%;left:100%}
}
@media(max-width:360px){.barge-frame{right:8%}}

@media(max-width:840px){
  .catalog-head{display:none}
  .catalog-rows{border-top:1px solid var(--line)}
  .catalog-row{grid-template-columns:minmax(100px,.85fr) minmax(0,1.15fr) auto;gap:8px 13px}
  .catalog-photo{grid-row:span 2;aspect-ratio:1.78;align-self:start}
  .catalog-copy{grid-column:2/-1}
  .catalog-platform,.catalog-time{grid-area:2/2;font-size:13px;line-height:1.25;align-self:start}
  .catalog-time{margin-left:58px}
  .catalog-platform span,.catalog-time span{display:block;color:var(--muted);font-size:10px;font-weight:500}
  .catalog-link{grid-area:2/3;font-size:12px;align-self:end}
  .deployment-case-grid{grid-template-columns:1fr}
  .deployment-case{grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr)}
  .deployment-case img{max-height:170px}
}
@media(max-width:720px){
  .site-wrap{width:calc(100% - 34px)}
  .site-nav{grid-template-columns:1fr auto;gap:0;min-height:0;padding-top:9px}
  .site-nav nav{grid-row:2;grid-column:1/-1;gap:23px;padding-top:2px}
  .site-nav-cta{grid-area:1/2}
  .brand-mark{width:18px;height:18px}
  .solution-overview,.solution-detail,.enquiry-layout{grid-template-columns:1fr}
  .solution-overview{gap:19px}
  .solution-title h1{font-size:clamp(37px,9vw,60px)}
  .site-final,.footer-main{align-items:flex-start;flex-direction:column;gap:12px}
  .footer-main nav{margin-bottom:17px}
}
@media(max-width:550px){
  .platform-grid,.step-grid,.enquiry-grid{grid-template-columns:1fr}
  .step-grid{gap:14px}
  .catalog-row{grid-template-columns:minmax(82px,.65fr) minmax(0,1.35fr);padding-block:13px;align-items:start}
  .catalog-photo{grid-row:1;aspect-ratio:1.18}
  .catalog-copy{grid-column:2}
  .catalog-platform,.catalog-time{grid-area:2/2}
  .catalog-link{grid-area:2/1;white-space:normal}
  .catalog-toolbar>a{font-size:12px;white-space:nowrap}
  .catalog-filters button{min-height:44px;font-size:12px}
  .deployment-case{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}
  .deployment-case img{height:auto;min-height:0;aspect-ratio:1.1}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.catalog-photo img{transition:none}}
