:root {
  --ink: #121719;
  --ink-2: #1b2225;
  --steel: #d9dfe1;
  --paper: #f5f7f6;
  --white: #ffffff;
  --orange: #ff5a1f;
  --orange-dark: #c83700;
  --muted: #5d686c;
  --line-dark: rgba(255,255,255,.17);
  --line-light: #c8cfd1;
  --content: 1320px;
  --header: 74px;
  --ease: cubic-bezier(.2,.75,.25,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px)}
body{margin:0;background:var(--ink);color:var(--white);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
address{font-style:normal}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:700;letter-spacing:-.035em;line-height:1.02;text-wrap:balance}
h1{font-size:clamp(3rem,5.4vw,5.6rem)}
h2{font-size:clamp(2.15rem,3.6vw,4.1rem)}
h3{font-size:1.35rem}
::selection{background:var(--orange);color:var(--ink)}
:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.screen-reader-text{position:absolute!important;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:10px;left:10px;z-index:9999;padding:12px 16px;background:var(--white);color:var(--ink);transform:translateY(-160%)}
.skip-link:focus{transform:none}
.content-shell{width:min(calc(100% - 80px),1180px);margin-inline:auto}
.content-shell--wide{width:min(calc(100% - 80px),var(--content))}
.section-light{background:var(--paper);color:var(--ink)}
.eyebrow{margin:0 0 24px;font-family:"Courier New",monospace;font-size:.78rem;line-height:1.25;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.eyebrow--dark{color:#4b565a}
.button{display:inline-flex;min-height:50px;align-items:center;justify-content:space-between;gap:28px;padding:13px 18px;border:1px solid transparent;border-radius:0;font-size:.9rem;font-weight:700;transition:background-color .2s,color .2s,border-color .2s}
.button span{font-size:1.1em;transition:transform .2s var(--ease)}
.button:hover span{transform:translate(2px,-2px)}
.button--orange{background:var(--orange);color:var(--ink)}
.button--orange:hover{background:#ff7a49}
.button--dark{background:var(--ink);color:var(--white)}
.button--dark:hover{background:#2a3336}
.text-link{display:inline-flex;align-items:center;gap:30px;font-weight:700;border-bottom:1px solid currentColor;padding:5px 0}
.text-link span{transition:transform .2s var(--ease)}
.text-link:hover span{transform:translateX(5px)}
.media-protect,.protected-media{position:relative;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}
.media-protect::after{content:"";position:absolute;inset:0;z-index:2;background:transparent;pointer-events:none}
.media-protect img,.protected-media img{user-select:none;-webkit-user-select:none;-webkit-user-drag:none;user-drag:none;pointer-events:none}

/* Header */
.site-header{position:sticky;top:0;z-index:1000;height:var(--header);background:var(--ink);border-bottom:1px solid var(--line-dark)}
.site-header__inner{height:100%;display:grid;grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;padding:0 24px 0 30px;gap:32px}
.brand-link{display:block;width:210px;color:var(--white)}
.brand-link img,.site-footer__brand img{width:210px;height:auto}
.primary-nav__list{display:flex;align-items:center;gap:30px;padding:0;margin:0;list-style:none}
.primary-nav a{font-size:.78rem;font-weight:700;color:#e8eeee;position:relative}
.primary-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:2px;background:var(--orange);transition:right .25s var(--ease)}
.primary-nav a:hover::after,.primary-nav .current-menu-item>a::after{right:0}
.header-quote{min-height:42px;display:flex;align-items:center;gap:24px;padding:9px 13px;background:var(--orange);color:var(--ink);font-size:.78rem;font-weight:700}
.menu-toggle{display:none;background:none;border:0;color:var(--white);padding:10px;font-weight:700}
.menu-toggle__lines,.menu-toggle__lines::before{display:block;width:24px;height:2px;background:currentColor;content:""}
.menu-toggle__lines::before{transform:translateY(7px)}

/* Home */
.hero-cutline{min-height:680px;display:grid;grid-template-columns:minmax(390px,40%) minmax(0,60%);background:var(--ink)}
.hero-cutline__copy{padding:clamp(70px,8vw,120px) clamp(32px,5vw,82px) 44px;display:flex;flex-direction:column;align-items:flex-start;border-right:1px solid var(--line-dark);position:relative;z-index:2}
.hero-cutline__copy>*{position:relative;z-index:2}
.hero-cutline__copy::before{content:"";position:absolute;z-index:0;width:190px;inset:-1px -150px -1px auto;background:var(--ink);clip-path:polygon(0 0,30% 0,100% 100%,0 100%);pointer-events:none}
.hero-cutline__copy::after{content:"";position:absolute;z-index:1;width:24px;height:58%;right:-69px;bottom:-12%;background:var(--orange);transform:rotate(-11deg);opacity:.95;pointer-events:none}
.hero-cutline h1{font-size:clamp(3rem,4.7vw,4.65rem);max-width:650px;margin:0 0 30px}
.hero-cutline__intro{max-width:460px;color:#c8d0d2;font-size:1.12rem;margin-bottom:32px}
.hero-cutline__datum{margin-top:auto;width:100%;display:grid;grid-template-columns:minmax(40px,1fr) auto auto auto minmax(110px,1fr);align-items:center;gap:10px;padding-top:38px;font-family:"Courier New",monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#aeb8bb}
.hero-cutline__datum span{height:1px;background:#899397}.hero-cutline__datum i{font-style:normal;color:#606b6f}.hero-cutline__datum em{font-style:normal;text-align:right}
.hero-cutline__media{min-height:680px;overflow:hidden;background:#252c2f}
.hero-cutline__media img{width:100%;height:100%;object-fit:cover;object-position:center}
.category-ledger{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line-dark)}
.category-ledger__item{min-height:220px;padding:28px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto 1fr auto;border-right:1px solid var(--line-dark);transition:background .2s}
.category-ledger__item:last-child{border-right:0}.category-ledger__item:hover{background:var(--ink-2)}
.category-ledger__item>span{grid-column:1/3;color:var(--orange);font:700 .76rem/1 "Courier New",monospace;letter-spacing:.12em}
.category-ledger__item strong{grid-column:1/3;margin-top:30px;font-size:1.15rem}
.category-ledger__item small{grid-column:1/2;align-self:end;max-width:210px;color:#aeb8bb;font-size:.82rem;line-height:1.4}
.category-ledger__item i{align-self:end;font-style:normal;color:var(--orange)}
.featured-tools{padding:105px 0 120px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:50px}
.section-heading h2{max-width:750px;margin-bottom:0}
.product-rail{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-light);border-left:1px solid var(--line-light)}
.product-card{min-width:0;border-right:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}
.product-card__image{display:block;aspect-ratio:1;overflow:hidden;background:#dfe4e5}
.product-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.product-card:hover img{transform:scale(1.025)}
.product-card__copy{min-height:135px;padding:20px;position:relative}.product-card__copy p{font:700 .72rem/1 "Courier New",monospace;color:var(--muted);letter-spacing:.1em}.product-card__copy h3{font-size:1.15rem;padding-right:25px;margin:0}.product-card__copy>span{position:absolute;right:18px;bottom:18px;color:var(--orange-dark)}
.capability-split{display:grid;grid-template-columns:52% 48%;min-height:720px}
.capability-split__media{overflow:hidden}.capability-split__media img{width:100%;height:100%;object-fit:cover}
.capability-split__copy{padding:80px clamp(40px,6vw,95px);display:flex;flex-direction:column}
.capability-split__copy h2{font-size:clamp(2.4rem,3.5vw,4rem);margin-bottom:55px}
.indexed-links{list-style:none;padding:0;margin:auto 0 0;border-top:1px solid var(--line-dark)}
.indexed-links a{display:grid;grid-template-columns:38px 1fr auto;gap:15px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line-dark);font-size:.93rem}
.indexed-links span{color:var(--orange);font:700 .7rem/1 "Courier New",monospace}.indexed-links i{font-style:normal;transition:transform .2s}.indexed-links a:hover i{transform:translateX(5px)}
.working-principles{padding:120px 0}.working-principles__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12vw;align-items:end}.working-principles h2{margin-bottom:0}.working-principles__body p{font-size:1.2rem;line-height:1.65;color:#3f4b4f;margin-bottom:35px}
.van-band{min-height:520px;display:grid;grid-template-columns:42% 58%;overflow:hidden;position:relative;background:#20282b}
.van-band::before{content:"";position:absolute;left:40%;top:-40%;width:80px;height:150%;background:var(--orange);transform:rotate(12deg)}
.van-band__copy{padding:90px clamp(32px,6vw,92px);z-index:2}.van-band__copy h2{max-width:540px}.van-band__copy>p:not(.eyebrow){max-width:500px;color:#c9d1d3;font-size:1.08rem;margin-bottom:32px}
.van-band__vehicle{align-self:end;height:100%;display:flex;align-items:flex-end;justify-content:center;padding:30px 30px 0}.van-band__vehicle img{width:min(100%,950px);height:auto;filter:drop-shadow(30px 32px 24px rgba(0,0,0,.38))}

/* Footer */
.site-footer{background:#0b0e0f;color:#e9eeee;padding:0 40px 24px}.site-footer__cutline{height:8px;background:var(--orange);width:34%;margin-left:66%}
.site-footer__lead{padding:85px 0;border-bottom:1px solid var(--line-dark);display:grid;grid-template-columns:1fr 3fr;gap:30px}.site-footer__lead>a{font-size:clamp(2rem,4.2vw,4.8rem);font-weight:700;letter-spacing:-.045em;line-height:1.02;display:flex;justify-content:space-between;gap:30px}.site-footer__lead>a span{color:var(--orange)}
.site-footer__grid{padding:60px 0;display:grid;grid-template-columns:1.5fr 1fr 1.25fr;gap:70px}.site-footer__brand p{color:#a9b2b5;max-width:280px}.site-footer__grid>div:nth-child(2){display:flex;flex-direction:column;align-items:flex-start;gap:8px}.site-footer__grid address{color:#a9b2b5;margin-top:15px}.footer-label{font:700 .7rem/1 "Courier New",monospace!important;letter-spacing:.15em;text-transform:uppercase;color:var(--orange)!important;margin-bottom:18px!important}.footer-menu{list-style:none;padding:0;margin:0;columns:2;column-gap:35px}.footer-menu li{break-inside:avoid;margin-bottom:7px}.footer-menu a{font-size:.88rem;color:#c9d0d2}.footer-menu a:hover{color:var(--white)}
.site-footer__legal{border-top:1px solid var(--line-dark);padding-top:20px;display:flex;justify-content:space-between;gap:30px;color:#899497;font-size:.76rem}.site-footer__legal p{margin:0}

/* Shared internal pages */
.internal-hero{padding:110px 0 80px;background:var(--ink);border-bottom:1px solid var(--line-dark)}.internal-hero h1{margin:0;max-width:900px}
.prose{font-size:1.05rem;color:#333e42}.prose p{margin:0 0 1.5em}.prose h2{font-size:2rem;margin:2.2em 0 .65em;color:var(--ink)}.prose a{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px}.prose ul{padding-left:1.2em}
.prose--legal{padding-top:80px;padding-bottom:120px;max-width:900px}.prose--legal>h2:first-child{margin-top:0}.legal-table-wrap{overflow-x:auto}.prose table{border-collapse:collapse;width:100%;min-width:620px}.prose th,.prose td{text-align:left;vertical-align:top;border:1px solid var(--line-light);padding:14px}.prose th{background:var(--ink);color:var(--white)}
.page-standard{background:var(--paper);color:var(--ink);min-height:65vh}

/* About */
.about-hero{min-height:520px;display:grid;grid-template-columns:72% 28%;border-bottom:1px solid var(--line-dark)}.about-hero__title{padding:90px max(40px,6vw)}.about-hero h1{max-width:900px;margin:0}.about-hero__index{border-left:1px solid var(--line-dark);padding:60px 35px;display:grid;grid-template-rows:auto 1fr auto;color:#aab4b7}.about-hero__index span{color:var(--orange);font:700 .8rem "Courier New",monospace}.about-hero__index i{width:1px;background:var(--line-dark);margin:30px 0}.about-hero__index strong{font:700 .8rem/1.5 "Courier New",monospace;letter-spacing:.1em}
.about-profile{display:grid;grid-template-columns:44% 56%;min-height:0;align-items:start}.about-profile__media{overflow:hidden;aspect-ratio:4/3;align-self:start;margin:100px 0 100px max(32px,4vw)}.about-profile__media img{width:100%;height:100%;object-fit:cover}.about-profile__copy{padding:100px max(50px,8vw);max-width:900px}
.about-values{padding:110px max(40px,6vw)}.about-values>div{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:70px}.about-values h2{max-width:700px;margin:0}.about-values ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark)}.about-values li{padding:30px;min-height:260px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.about-values li>span{color:var(--orange);font:700 .75rem "Courier New",monospace}.about-values h3{margin-top:60px}.about-values li p{color:#aeb8bb}

/* Catalogue */
.catalogue-hero{padding:90px max(40px,6vw);display:grid;grid-template-columns:2fr 1fr;gap:9vw;align-items:end;min-height:490px}.catalogue-hero h1{max-width:900px;margin:0}.catalogue-hero>p{color:#c4cdcf;font-size:1.08rem;line-height:1.65}
.catalogue-index{display:flex;overflow-x:auto;border-block:1px solid var(--line-dark)}.catalogue-index a{flex:1;min-width:175px;padding:20px 24px;border-right:1px solid var(--line-dark);font-size:.8rem;font-weight:700}.catalogue-index a span{display:block;color:var(--orange);font-family:"Courier New",monospace;margin-bottom:8px}
.catalogue-groups{padding:70px max(30px,5vw) 120px}.catalogue-group{scroll-margin-top:100px;margin-bottom:100px}.catalogue-group__heading{display:grid;grid-template-columns:70px 1fr auto;align-items:end;gap:20px;padding-bottom:25px;border-bottom:2px solid var(--ink);margin-bottom:0}.catalogue-group__heading>span{color:var(--orange-dark);font:700 .85rem "Courier New",monospace}.catalogue-group__heading h2{font-size:clamp(2rem,3vw,3.5rem);margin:0}.catalogue-group__heading p{color:var(--muted);margin:0;font-size:.8rem}.catalogue-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line-light)}
.catalogue-card{border-right:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}.catalogue-card__media{display:block;aspect-ratio:1;overflow:hidden;background:#dce2e3}.catalogue-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.catalogue-card:hover img{transform:scale(1.025)}.catalogue-card__body{padding:25px;min-height:290px;display:flex;flex-direction:column}.catalogue-card__body>p{font:700 .73rem "Courier New",monospace;color:var(--muted);letter-spacing:.08em}.catalogue-card h3{font-size:1.4rem;margin-bottom:18px}.catalogue-card__body>div{color:#536065;font-size:.93rem;margin-bottom:25px}.catalogue-card .text-link{margin-top:auto;align-self:flex-start;font-size:.82rem}
.catalogue-close{padding:90px max(40px,6vw);display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end}.catalogue-close h2{max-width:820px;margin:0}

/* Capabilities */
.capabilities-hero{padding:95px max(40px,6vw);min-height:500px;display:grid;grid-template-columns:2fr 1fr;gap:10vw;align-items:end}.capabilities-hero h1{max-width:900px;margin:0}.capabilities-hero>p{font-size:1.1rem;color:#c7d0d2}
.capability-chapter{display:grid;grid-template-columns:52% 48%;background:var(--paper);color:var(--ink);min-height:610px}.capability-chapter--reverse{grid-template-columns:48% 52%}.capability-chapter--reverse .capability-chapter__media{order:2}.capability-chapter__media{overflow:hidden}.capability-chapter__media img{width:100%;height:100%;object-fit:cover}.capability-chapter__copy{padding:80px clamp(40px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.capability-chapter__copy h2{font-size:clamp(2.2rem,3.3vw,3.7rem)}.capability-chapter__copy>p:not(.eyebrow){color:#475357;font-size:1.04rem;line-height:1.65}.capability-chapter__copy ul{list-style:none;padding:0;margin:25px 0 35px;border-top:1px solid var(--line-light)}.capability-chapter__copy li{padding:10px 0;border-bottom:1px solid var(--line-light)}.capability-chapter__copy .text-link{align-self:flex-start}

/* Support */
.support-opening{min-height:530px;display:grid;grid-template-columns:18% 82%}.support-opening__rail{border-right:1px solid var(--line-dark);padding:60px 30px;display:grid;grid-template-rows:auto 1fr auto}.support-opening__rail p,.support-opening__rail b{font:700 .72rem "Courier New",monospace;letter-spacing:.11em}.support-opening__rail span{width:1px;background:var(--line-dark);margin:30px 0}.support-opening__copy{padding:90px max(40px,9vw);max-width:1150px}.support-opening__copy h1{max-width:950px}.support-opening__copy>p:last-child{max-width:650px;color:#b9c3c6;font-size:1.1rem}
.support-layout{display:grid;grid-template-columns:30% 70%;padding:100px max(35px,6vw);gap:8vw}.support-index{align-self:start;position:sticky;top:calc(var(--header) + 30px)}.support-index a{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--line-light);font-size:.88rem}.support-index a span{color:var(--orange-dark);font-family:"Courier New",monospace}.support-stages{border-top:2px solid var(--ink)}.support-stages section{display:grid;grid-template-columns:80px 1fr;gap:25px;padding:45px 0;border-bottom:1px solid var(--line-light);scroll-margin-top:110px}.support-stages section>span{color:var(--orange-dark);font:700 .8rem "Courier New",monospace}.support-stages h2{font-size:2.2rem}.support-stages p{max-width:680px;color:#4a575b;font-size:1.04rem}
.support-guidance{padding:95px max(40px,6vw);display:grid;grid-template-columns:1fr 1fr;gap:50px 10vw;align-items:start}.support-guidance h2{margin:0}.support-guidance ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--line-dark)}.support-guidance li{padding:12px 0;border-bottom:1px solid var(--line-dark);color:#ced5d7}.support-guidance .button{grid-column:2;justify-self:start}

/* Contact */
.contact-opening{padding:90px max(40px,6vw);min-height:430px;display:grid;grid-template-columns:2fr 1fr;gap:9vw;align-items:end}.contact-opening h1{margin:0}.contact-opening>p{color:#c6cfd1;font-size:1.08rem}.contact-workspace{display:grid;grid-template-columns:56% 44%;min-height:900px}.contact-map{display:flex;flex-direction:column;border-right:1px solid var(--line-light)}.contact-map__frame{min-height:600px;flex:1;background:#cdd3d5}.contact-map iframe{display:block;width:100%;height:100%;min-height:600px;border:0;filter:grayscale(1) contrast(.95)}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding:35px}.contact-details a{display:block;font-weight:700;margin-bottom:7px}.contact-details address{font-size:1.15rem;margin-bottom:10px}.contact-form-panel{padding:70px clamp(35px,6vw,90px)}.contact-form-panel h2{font-size:clamp(2.2rem,3.2vw,3.6rem)}.contact-form{display:flex;flex-direction:column;gap:20px;margin-top:35px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:flex;flex-direction:column;gap:7px;font-size:.82rem;font-weight:700}.contact-form label span{letter-spacing:.03em}.contact-form label b{color:var(--orange-dark)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #8d999d;background:var(--white);color:var(--ink);border-radius:0;padding:13px 12px;min-height:50px;font-size:1rem}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:3px solid var(--orange);outline-offset:1px;border-color:var(--ink)}.form-privacy{font-size:.8rem;color:#596569}.form-privacy a{text-decoration:underline;text-decoration-color:var(--orange-dark)}.contact-form .button{align-self:flex-start}.honeypot{position:absolute;left:-9999px}.form-notice{padding:14px;border-left:5px solid}.form-notice--success{background:#dcebdd;border-color:#176f2c}.form-notice--error{background:#f7dcd6;border-color:#9c2400}

/* Product detail */
.product-breadcrumb{padding:18px max(30px,4vw);display:flex;gap:12px;color:#adb7ba;font-size:.78rem;border-bottom:1px solid var(--line-dark)}.product-breadcrumb a{color:var(--white)}
.product-hero{display:grid;grid-template-columns:43% 57%;min-height:670px}.product-hero__copy{padding:80px max(35px,6vw);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.product-hero__copy h1{font-size:clamp(3rem,4.8vw,5.2rem)}.product-hero__copy>p:not(.eyebrow){color:#c3ccce;font-size:1.12rem;max-width:540px}.product-hero__media{background:#dce1e2}.product-hero__media img{width:100%;height:100%;object-fit:cover}
.product-overview{padding:100px max(40px,7vw);display:grid;grid-template-columns:42% 58%;gap:8vw}.product-overview__intro h2{font-size:clamp(2.3rem,3.6vw,4rem)}.product-overview__body{max-width:730px}
.product-data{display:grid;grid-template-columns:1fr 1fr}.product-features,.product-specification{padding:90px max(40px,7vw)}.product-features{background:#1b2225}.product-features h2{font-size:3rem}.product-features ul{list-style:none;padding:0;margin:40px 0 0;border-top:1px solid var(--line-dark)}.product-features li{display:flex;gap:15px;padding:15px 0;border-bottom:1px solid var(--line-dark)}.product-features li span{width:8px;height:8px;background:var(--orange);margin-top:8px}.product-specification{background:#252d30}.product-specification dl{margin:35px 0}.product-specification dl div{display:grid;grid-template-columns:120px 1fr;gap:25px;padding:15px 0;border-top:1px solid var(--line-dark)}.product-specification dt{color:#a8b2b5;font-size:.8rem}.product-specification dd{margin:0}.product-specification__note{color:#aeb8bb;font-size:.82rem}
.related-products{padding:100px max(40px,6vw)}.related-products__grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line-light)}.related-card{display:grid;grid-template-columns:1fr auto;padding-bottom:20px;border-right:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}.related-card>span{grid-column:1/3;display:block;aspect-ratio:1;overflow:hidden;margin-bottom:20px}.related-card img{width:100%;height:100%;object-fit:cover}.related-card small,.related-card strong{padding-left:20px}.related-card small{grid-column:1;color:var(--muted);font-family:"Courier New",monospace}.related-card strong{grid-column:1;font-size:1.2rem}.related-card i{grid-column:2;grid-row:2/4;padding-right:20px;color:var(--orange-dark);font-style:normal;align-self:end}.product-enquiry{padding:95px max(40px,6vw);display:grid;grid-template-columns:1fr 1fr;gap:20px 9vw;align-items:end}.product-enquiry h2{margin:0}.product-enquiry>p:not(.eyebrow){color:#bdc7c9}.product-enquiry .button{grid-column:2;justify-self:start}

/* 404 */
.not-found{min-height:680px;display:grid;grid-template-columns:55% 45%;overflow:hidden}.not-found__index{font-size:clamp(12rem,30vw,34rem);font-weight:800;letter-spacing:-.1em;color:#20272a;line-height:.8;align-self:center;transform:translateX(-8%)}.not-found__copy{padding:100px 8vw 80px 30px;align-self:center}.not-found__copy h1{font-size:clamp(3rem,5vw,5rem)}.not-found__copy>p:not(.eyebrow){color:#bac4c6;margin-bottom:30px}

/* Motion enhancement: content is visible before JS opts in. */
.js .reveal{opacity:0;transform:translateY(18px)}.js .reveal.is-visible{opacity:1;transform:none;transition:opacity .55s var(--ease),transform .55s var(--ease)}

@media (max-width:1100px){
  .site-header__inner{grid-template-columns:1fr auto auto}.primary-nav__list{gap:17px}.primary-nav a{font-size:.72rem}.header-quote{gap:10px}
  .hero-cutline{grid-template-columns:43% 57%}.category-ledger{grid-template-columns:repeat(2,1fr)}.category-ledger__item:nth-child(2){border-right:0}
  .product-rail{grid-template-columns:repeat(2,1fr)}
  .catalogue-grid{grid-template-columns:repeat(2,1fr)}
  .site-footer__lead{grid-template-columns:1fr}.site-footer__grid{grid-template-columns:1.2fr 1fr}.site-footer__grid nav{grid-column:1/3}
  .contact-workspace{grid-template-columns:50% 50%}.form-grid{grid-template-columns:1fr}
}

@media (max-width:820px){
  :root{--header:68px}.content-shell,.content-shell--wide{width:min(calc(100% - 36px),var(--content))}
  h1{font-size:clamp(2.6rem,12vw,4.2rem)}h2{font-size:clamp(2rem,9vw,3.2rem)}
  .site-header__inner{padding:0 15px 0 18px;grid-template-columns:1fr auto}.brand-link,.brand-link img{width:170px}.header-quote{display:none}.menu-toggle{display:flex;align-items:center;gap:12px}
  .primary-nav{position:fixed;inset:var(--header) 0 0;background:var(--ink);padding:36px 24px;visibility:hidden;opacity:0;transform:translateY(-10px);transition:opacity .2s,transform .2s,visibility .2s}.primary-nav.is-open{visibility:visible;opacity:1;transform:none}.primary-nav__list{display:block}.primary-nav li{border-bottom:1px solid var(--line-dark)}.primary-nav a{display:block;padding:16px 0;font-size:1.1rem}.primary-nav a::after{display:none}
  .hero-cutline{display:flex;flex-direction:column;min-height:auto}.hero-cutline__copy{min-height:540px;padding:65px 24px 28px;order:1;overflow:hidden}.hero-cutline__copy::before{display:none}.hero-cutline__copy::after{right:32px;bottom:-55px;width:20px;height:170px}.hero-cutline h1{font-size:clamp(2.85rem,13vw,4.2rem)}.hero-cutline__media{order:2;min-height:0;aspect-ratio:4/3}.hero-cutline__datum{grid-template-columns:1fr auto auto auto}.hero-cutline__datum em{display:none}
  .category-ledger{grid-template-columns:1fr}.category-ledger__item,.category-ledger__item:nth-child(2){border-right:0;min-height:180px}
  .featured-tools{padding:75px 0}.section-heading{align-items:flex-start;flex-direction:column}.product-rail{grid-template-columns:1fr 1fr}.product-card__copy{min-height:125px;padding:16px}.product-card__copy h3{font-size:1rem}
  .capability-split{grid-template-columns:1fr}.capability-split__media{aspect-ratio:4/3}.capability-split__copy{padding:65px 24px}
  .working-principles{padding:75px 0}.working-principles__grid{grid-template-columns:1fr;gap:45px}
  .van-band{display:flex;flex-direction:column;min-height:auto}.van-band::before{left:80%;width:35px}.van-band__copy{padding:65px 24px}.van-band__vehicle{min-height:270px;padding:0 10px}.van-band__vehicle img{max-width:680px}
  .site-footer{padding:0 20px 20px}.site-footer__cutline{width:45%;margin-left:55%}.site-footer__lead{padding:65px 0}.site-footer__lead>a{font-size:clamp(2rem,9vw,3.2rem)}.site-footer__grid{grid-template-columns:1fr;gap:42px}.site-footer__grid nav{grid-column:auto}.site-footer__legal{flex-direction:column}
  .about-hero{grid-template-columns:1fr;min-height:auto}.about-hero__title{padding:65px 24px}.about-hero__index{display:none}.about-profile{grid-template-columns:1fr}.about-profile__media{aspect-ratio:4/3;margin:0;width:100%}.about-profile__copy{padding:65px 24px}.about-values{padding:70px 24px}.about-values>div{display:block}.about-values ol{grid-template-columns:1fr}.about-values li{min-height:auto}.about-values h3{margin-top:35px}
  .catalogue-hero,.capabilities-hero,.contact-opening{grid-template-columns:1fr;gap:35px;min-height:auto;padding:65px 24px}.catalogue-group__heading{grid-template-columns:45px 1fr}.catalogue-group__heading p{grid-column:2}.catalogue-groups{padding:55px 18px}.catalogue-grid{grid-template-columns:1fr}.catalogue-close{grid-template-columns:1fr;padding:65px 24px}
  .capability-chapter,.capability-chapter--reverse{grid-template-columns:1fr;min-height:auto}.capability-chapter--reverse .capability-chapter__media{order:0}.capability-chapter__media{aspect-ratio:4/3}.capability-chapter__copy{padding:65px 24px}
  .support-opening{grid-template-columns:1fr;min-height:auto}.support-opening__rail{display:none}.support-opening__copy{padding:65px 24px}.support-layout{grid-template-columns:1fr;padding:65px 24px}.support-index{position:static}.support-stages section{grid-template-columns:50px 1fr}.support-guidance{grid-template-columns:1fr;padding:65px 24px}.support-guidance .button{grid-column:auto}
  .contact-workspace{grid-template-columns:1fr}.contact-map{border-right:0}.contact-map__frame,.contact-map iframe{min-height:430px}.contact-details{grid-template-columns:1fr}.contact-form-panel{padding:65px 24px}
  .product-hero{grid-template-columns:1fr}.product-hero__copy{padding:65px 24px}.product-hero__media{aspect-ratio:1}.product-overview{grid-template-columns:1fr;padding:65px 24px}.product-data{grid-template-columns:1fr}.product-features,.product-specification{padding:65px 24px}.related-products{padding:65px 18px}.related-products__grid{grid-template-columns:1fr 1fr}.product-enquiry{grid-template-columns:1fr;padding:65px 24px}.product-enquiry .button{grid-column:auto}
  .not-found{grid-template-columns:1fr;min-height:620px}.not-found__index{position:absolute;font-size:15rem;opacity:.5}.not-found__copy{padding:80px 24px;z-index:1}
  .prose--legal{padding-top:60px;padding-bottom:80px}.internal-hero{padding:70px 0 55px}
}

@media (max-width:520px){
  .product-rail,.related-products__grid{grid-template-columns:1fr}.catalogue-index a{min-width:155px}.contact-map__frame,.contact-map iframe{min-height:360px}.product-specification dl div{grid-template-columns:1fr;gap:4px}.footer-menu{columns:1}.site-footer__lead>a{display:block}.site-footer__lead>a span{display:block;margin-top:20px}.hero-cutline__intro{font-size:1rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}
}

@supports not (aspect-ratio:1){
  .product-card__image,.catalogue-card__media,.related-card>span{height:320px}.capability-chapter__media,.about-profile__media{min-height:420px}
}
