@font-face {
  font-family:Inter;
  src:url('/assets/inter.3100e775e8616cd2.woff2') format('woff2');
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
}
@font-face {
  font-family:Barlow;
  src:url('/assets/barlow-condensed.e3e520cb7468f2ef.woff2') format('woff2');
  font-style:normal;
  font-weight:700;
  font-display:swap;
}
:root {
  --black:#141414;
  --white:#fff;
  --red:#a12109;
  --line:#c9c9c9;
  --display:Barlow,'Arial Narrow',sans-serif;
  color:var(--black);
  background:var(--white);
  font-family:Inter,Arial,sans-serif;
  scroll-behavior:smooth;
  scroll-padding-top:108px;
}
* {
  box-sizing:border-box;
}
body {
  margin:0;
  -webkit-font-smoothing:antialiased;
  font-size:16px;
  line-height:1.7;
}
h1,h2,h3,p,figure {
  margin:0;
}
h1,h2,h3 {
  font-weight:700;
  line-height:1.05;
}
a {
  color:inherit;
  text-underline-offset:5px;
}
a:hover {
  text-decoration-thickness:2px;
}
a:focus-visible {
  outline:3px solid currentColor;
  outline-offset:6px;
}
img {
  display:block;
  max-width:100%;
  height:auto;
}
svg {
  width:22px;
  height:22px;
  flex-shrink:0;
  vertical-align:middle;
}
::selection {
  color:white;
  background:var(--red);
}
.wrap {
  max-width:1440px;
  margin-inline:auto;
  padding-inline:72px;
}
.eyebrow,.section-label {
  font-size:11px;
  font-weight:600;
  letter-spacing:.075em;
  text-transform:uppercase;
  line-height:1.5;
}
.section-label {
  letter-spacing:.02em;
  font-size:13px;
}
.site-header-shell {
  position:sticky;
  top:0;
  z-index:10;
  background:var(--white);
  box-shadow:0 1px 0 var(--line);
}
.site-header {
  display:flex;
  align-items:center;
  gap:34px;
  height:84px;
}
.brand {
  flex-shrink:0;
}
.brand img {
  width:104px;
}
.header-note {
  max-width:150px;
  font-size:11px;
  line-height:1.55;
}
.navigation {
  display:flex;
  gap:32px;
  align-items:center;
  margin-left:auto;
  font-size:13px;
}
.navigation a {
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.navigation a:hover {
  color:var(--red);
}
.navigation svg {
  width:17px;
}
.languages {
  display:flex;
  gap:12px;
  margin-left:18px;
  font-size:11px;
}
.languages a {
  text-decoration:none;
  padding-block:7px;
}
.languages a[aria-current] {
  border-bottom:2px solid var(--red);
}
.dark-stage {
  background:var(--black);
  color:var(--white);
}
.hero {
  padding-top:32px;
  padding-bottom:30px;
  position:relative;
}
.hero-label {
  display:inline-block;
  background:var(--red);
  padding:8px 12px;
  font-size:10px;
  letter-spacing:.08em;
}
.hero-layout {
  display:grid;
  grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);
  gap:90px;
  align-items:end;
  margin-top:23px;
}
h1 {
  font-family:var(--display);
  text-transform:uppercase;
  font-size:clamp(76px,8.3vw,120px);
  letter-spacing:-.025em;
  line-height:.82;
}
h1 span {
  display:block;
}
h1 span+span {
  margin-top:14px;
}
.hero-intro {
  padding-bottom:7px;
}
.lead {
  font-size:18px;
  line-height:1.7;
  max-width:340px;
  color:#e8e8e8;
}
.primary-link {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-top:32px;
  padding:17px 20px;
  background:white;
  color:var(--black);
  text-decoration:none;
  font-size:13px;
  font-weight:600;
  max-width:340px;
}
.primary-link:hover {
  background:#e9e9e9;
}
.primary-link svg {
  width:23px;
}
.work-link {
  display:inline-flex;
  align-items:center;
  gap:16px;
  font-size:11px;
  text-decoration:none;
  margin-top:26px;
}
.work-link svg {
  transform:rotate(90deg);
  width:16px;
}
.work-link:hover {
  text-decoration:underline;
}
.platform-case {
  padding-top:0;
  padding-bottom:38px;
}
.platform-case>.section-label {
  border-top:1px solid #555;
  padding-top:24px;
}
.project-feature {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);
  gap:100px;
  align-items:center;
  padding-top:26px;
}
.case-copy h3 {
  font-family:var(--display);
  font-size:50px;
  line-height:1.02;
  letter-spacing:-.012em;
  margin-top:17px;
  max-width:470px;
}
.project-body {
  font-size:15px;
  line-height:1.85;
  margin-top:24px;
}
.project-feature .project-body {
  color:#c9c9c9;
  max-width:435px;
}
.project-feature .eyebrow {
  color:#ccc;
}
.assembly {
  min-width:0;
  padding-left:0;
  border-left:0;
}
.assembly figcaption {
  font-size:10px;
  color:#bbb;
  line-height:1.6;
  margin-top:8px;
  text-align:center;
}
.work-rest {
  padding-top:48px;
  padding-bottom:48px;
}
.telemetry {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:100px;
  align-items:center;
  padding-bottom:40px;
}
.scale-proof {
  color:var(--red);
  border-bottom:10px solid var(--red);
  padding-bottom:28px;
  align-self:center;
}
.scale-proof span:first-child {
  font-family:var(--display);
  font-size:clamp(100px,12.8vw,184px);
  letter-spacing:-.045em;
  line-height:.9;
  display:block;
}
.scale-proof span:last-child {
  display:block;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:600;
  margin-top:25px;
}
.telemetry .case-copy h3 {
  font-size:48px;
}
.telemetry .project-body {
  color:#404040;
}
.project-list .project {
  border-top:1px solid var(--line);
}
.project-list .project:last-child {
  border-bottom:1px solid var(--line);
}
.project-heading {
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  gap:24px;
  align-items:center;
  padding-block:19px;
}
.project-heading h3 {
  font-family:var(--display);
  font-size:34px;
  line-height:1.1;
  letter-spacing:-.01em;
}
.project-meta {
  font-size:11px;
  color:#555;
}
.project-heading h3 {
  color:var(--red);
}
.project-list .project-body {
  max-width:760px;
  margin-top:0;
  margin-bottom:28px;
  color:#404040;
}
.own {
  padding-top:12px;
  padding-bottom:40px;
}
.section-heading {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:100px;
  border-top:4px solid var(--black);
  padding-top:26px;
  align-items:end;
  margin-bottom:26px;
}
.section-heading h2 {
  font-family:var(--display);
  font-size:62px;
  line-height:.94;
  letter-spacing:-.02em;
  text-transform:uppercase;
  max-width:620px;
}
.section-heading>p {
  font-size:15px;
  line-height:1.8;
  max-width:340px;
  padding-bottom:5px;
}
.product {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  padding-block:27px;
  border-top:1px solid var(--line);
}
.product-heading h3 {
  font-family:var(--display);
  font-size:54px;
  line-height:1;
  max-width:410px;
  letter-spacing:-.02em;
  margin-top:21px;
}
.product:first-child h3 {
  font-size:68px;
  color:var(--red);
}
.product-copy>p {
  font-size:15px;
  line-height:1.85;
  color:#404040;
}
.product-copy .product-detail {
  font-size:12px;
  color:var(--black);
  font-weight:600;
  border-left:3px solid var(--red);
  padding-left:15px;
  margin-top:23px;
  line-height:1.65;
}
.expertise {
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:100px;
  padding-top:26px;
  padding-bottom:50px;
}
.expertise>h2 {
  font-family:var(--display);
  font-size:56px;
  text-transform:uppercase;
  max-width:260px;
  line-height:.98;
}
.services {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:35px 40px;
}
.service {
  border-top:1px solid var(--black);
  padding-top:18px;
}
.service h3 {
  font-size:17px;
  line-height:1.3;
  margin-bottom:15px;
}
.service p {
  font-size:13px;
  line-height:1.85;
  color:#404040;
}
.approach {
  background:var(--black);
  color:#fff;
  padding-block:46px;
}
.approach-intro {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:100px;
  align-items:center;
}
.approach-intro h2 {
  font-family:var(--display);
  text-transform:uppercase;
  font-size:68px;
  letter-spacing:-.02em;
  line-height:.94;
  max-width:620px;
}
.approach-intro>p {
  font-size:18px;
  line-height:1.8;
  color:#e0e0e0;
}

.steps {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  list-style:none;
  padding:0;
  margin:42px 0 0;
}
.steps li { min-width:0; }
.steps h3 {
  display:flex;
  align-items:center;
  min-height:88px;
  padding:20px 42px;
  background:var(--red);
  color:#fff;
  font-family:var(--display);
  font-size:30px;
  line-height:1.1;
  clip-path:polygon(0 0,calc(100% - 25px) 0,100% 50%,calc(100% - 25px) 100%,0 100%,25px 50%);
}
.steps li:first-child h3 {
  padding-left:24px;
  clip-path:polygon(0 0,calc(100% - 25px) 0,100% 50%,calc(100% - 25px) 100%,0 100%);
}
.steps li:nth-child(2) h3 { background:#fff; color:var(--black); }
.steps p {
  margin-top:20px;
  padding-inline:24px;
  font-size:14px;
  line-height:1.8;
  color:#c9c9c9;
}
@media(max-width:1100px) {
  .steps { gap:16px; }
  .steps h3 { font-size:27px; min-height:96px; padding-inline:36px; }
  .steps p { padding-inline:18px; font-size:13px; }
}
@media(max-width:760px) {
  .steps { grid-template-columns:1fr; gap:30px; margin-top:30px; }
  .steps h3, .steps li:first-child h3 {
    justify-content:center;
    min-height:86px;
    padding:18px 24px 32px;
    font-size:28px;
    text-align:center;
    clip-path:polygon(0 0,100% 0,100% calc(100% - 17px),50% 100%,0 calc(100% - 17px));
  }
  .steps p { padding-inline:14px; margin-top:12px; font-size:14px; }
}
.email-wrap {
  display:flex;
  gap:30px;
  align-items:center;
}
.email {
  font-size:32px;
  line-height:1.3;
  letter-spacing:-.035em;
  overflow-wrap:anywhere;
}
.email-wrap svg {
  width:34px;
  height:34px;
}
.footer {
  display:flex;
  align-items:center;
  gap:80px;
  padding-block:32px;
  font-size:10px;
  line-height:1.8;
  color:#555;
}
.footer strong {
  font-weight:600;
  color:var(--black);
  font-size:12px;
}
.back-top {
  margin-left:auto;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  color:var(--black);
}
.skip {
  position:fixed;
  left:12px;
  top:12px;
  padding:12px 18px;
  background:white;
  color:var(--black);
  transform:translateY(-200%);
  z-index:20;
}
.skip:focus {
  transform:none;
}
.missing {
  max-width:950px;
  margin:auto;
  padding:45px 30px;
}
.missing .brand {
  display:inline-block;
}
.missing>.eyebrow {
  margin-top:80px;
}
.missing h1 {
  font-size:clamp(64px,9vw,100px);
  margin-block:24px 30px;
}
.missing h1 em {
  font-style:normal;
  color:var(--red);
}
.missing>p:last-child {
  margin-top:25px;
}
@media(min-width:1600px) {
  .hero {
    padding-block:38px;
  }
  .hero-layout {
    gap:110px;
  }
  .hero h1 {
    font-size:124px;
  }
}
@media(max-width:1100px) {
  .wrap {
    padding-inline:42px;
  }
  .site-header {
    gap:24px;
  }
  .header-note {
    display:none;
  }
  .hero-layout,.project-feature,.telemetry,.section-heading,.product,.expertise,.approach-intro {
    gap:50px;
  }
  .hero-layout {
    grid-template-columns:1.65fr 1fr;
  }
  h1 {
    font-size:8.6vw;
  }
  .lead {
    font-size:16px;
  }
  .hero {
    padding-top:40px;
  }
  .case-copy h3 {
    font-size:48px;
  }
  .telemetry .case-copy h3 {
    font-size:40px;
  }
  .project-body,.product-copy>p {
    font-size:14px;
  }
  .section-heading h2 {
    font-size:54px;
  }
  .product-heading h3 {
    font-size:56px;
  }
  .product:first-child h3 {
    font-size:64px;
  }
  .expertise {
    grid-template-columns:1fr 2fr;
  }
  .expertise>h2 {
    font-size:48px;
  }
  .services {
    gap:30px;
  }
  .approach-intro h2 {
    font-size:70px;
  }
  .approach-intro>p {
    font-size:16px;
  }
  .email {
    font-size:27px;
  }
}
@media(max-width:760px) {
  .wrap {
    padding-inline:26px;
  }
  .site-header {
    height:85px;
    gap:20px;
  }
  .brand img {
    width:90px;
  }
  .navigation {
    gap:18px;
    font-size:11px;
  }
  .languages {
    margin-left:0;
    gap:10px;
  }
  .hero-layout {
    gap:30px;
    grid-template-columns:1.5fr 1fr;
  }
  h1 {
    font-size:9vw;
  }
  .hero-label {
    font-size:9px;
  }
  .lead {
    font-size:14px;
    line-height:1.75;
  }
  .primary-link {
    padding:14px;
    font-size:11px;
    margin-top:22px;
    gap:10px;
  }
  .project-feature {
    gap:35px;
    grid-template-columns:1fr 1fr;
  }
  .case-copy h3 {
    font-size:40px;
  }
  .project-body {
    font-size:13px;
  }
  .assembly {
    padding-left:0;
  }
  .work-rest {
    padding-block:36px;
  }
  .telemetry {
    gap:35px;
    grid-template-columns:1fr 1fr;
    padding-bottom:32px;
  }
  .telemetry .case-copy h3 {
    font-size:35px;
  }
  .scale-proof span:first-child {
    font-size:14vw;
  }
  .scale-proof span:last-child {
    font-size:9px;
    letter-spacing:.05em;
    margin-top:18px;
  }
  .scale-proof {
    border-bottom-width:7px;
    padding-bottom:20px;
  }
  .project-heading {
    grid-template-columns:minmax(0,1fr) 150px;
    gap:18px;
    padding-block:22px;
  }
  .project-heading h3 {
    font-size:28px;
  }
  .project-meta {
    font-size:10px;
  }
  .section-heading,.product {
    gap:35px;
  }
  .section-heading h2 {
    font-size:54px;
  }
  .section-heading>p {
    font-size:13px;
  }
  .product-heading h3 {
    font-size:46px;
  }
  .product:first-child h3 {
    font-size:67px;
  }
  .product-copy>p {
    font-size:13px;
  }
  .own {
    padding-bottom:40px;
  }
  .expertise {
    gap:30px;
    grid-template-columns:1fr 2fr;
    padding-bottom:55px;
  }
  .expertise>h2 {
    font-size:42px;
  }
  .services {
    gap:30px 25px;
  }
  .service h3 {
    font-size:15px;
  }
  .service p {
    font-size:12px;
  }
  .approach {
    padding-block:36px;
  }
  .approach-intro {
    gap:35px;
  }
  .approach-intro h2 {
    font-size:50px;
  }
  .approach-intro>p {
    font-size:14px;
  }
  .email-wrap {
    gap:15px;
  }
  .email {
    font-size:24px;
  }
  .email-wrap svg {
    width:25px;
    height:25px;
  }
}
@media(max-width:580px) {
  :root {
    scroll-padding-top:156px;
  }
  .wrap {
    padding-inline:22px;
  }
  .site-header {
    height:auto;
    min-height:88px;
    flex-wrap:wrap;
    padding-block:18px;
    gap:18px;
  }
  .brand img {
    width:87px;
  }
  .languages {
    margin-left:auto;
  }
  .navigation {
    order:3;
    width:100%;
    margin-left:0;
    justify-content:space-between;
    border-top:1px solid var(--line);
    padding-top:12px;
    font-size:12px;
  }
  .hero {
    padding-top:30px;
    padding-bottom:30px;
  }
  .hero-layout {
    grid-template-columns:minmax(0,1fr);
    gap:27px;
    margin-top:26px;
  }
  h1 {
    font-size:clamp(45px,14.8vw,82px);
  }
  h1 span+span {
    margin-top:10px;
  }
  .hero-intro {
    padding-bottom:0;
  }
  .lead {
    font-size:16px;
    line-height:1.75;
    max-width:430px;
  }
  .primary-link {
    font-size:12px;
    padding:16px 18px;
    max-width:100%;
    margin-top:23px;
  }
  .work-link {
    margin-top:24px;
  }
  .platform-case {
    padding-bottom:35px;
  }
  .platform-case>.section-label {
    padding-top:22px;
  }
  .project-feature {
    grid-template-columns:1fr;
    gap:20px;
    padding-top:25px;
  }
  .case-copy h3 {
    font-size:48px;
    max-width:390px;
    margin-top:13px;
  }
  .project-body {
    font-size:14px;
    line-height:1.8;
    margin-top:18px;
  }
  .assembly {
    padding:0;
    border-left:0;
    border-top:0;
  }
  .assembly figcaption {
    font-size:10px;
    margin-top:18px;
    text-align:left;
  }
  .work-rest {
    padding-top:30px;
    padding-bottom:32px;
  }
  .telemetry {
    grid-template-columns:1fr;
    gap:25px;
    padding-bottom:38px;
  }
  .scale-proof {
    padding-bottom:20px;
    border-bottom-width:6px;
  }
  .scale-proof span:first-child {
    font-size:clamp(100px,30vw,170px);
  }
  .scale-proof span:last-child {
    font-size:10px;
    margin-top:18px;
  }
  .telemetry .case-copy h3 {
    font-size:43px;
    max-width:400px;
  }
  .project-heading {
    grid-template-columns:minmax(0,1fr);
    gap:8px 15px;
    padding-block:17px;
  }
  .project-heading h3 {
    font-size:29px;
  }
  .project-meta {
    grid-column:1;
    font-size:10px;
  }
  .project-list .project-body {
    font-size:14px;
    margin-bottom:23px;
  }
  .section-heading {
    grid-template-columns:1fr;
    gap:22px;
    padding-top:25px;
    margin-bottom:26px;
  }
  .section-heading h2 {
    font-size:50px;
    max-width:400px;
  }
  .section-heading>p {
    font-size:14px;
    max-width:400px;
  }
  .product {
    grid-template-columns:1fr;
    gap:20px;
    padding-block:28px;
  }
  .product-heading h3 {
    font-size:52px;
    max-width:370px;
    margin-top:13px;
  }
  .product:first-child h3 {
    font-size:64px;
  }
  .product-copy>p {
    font-size:14px;
  }
  .product-copy .product-detail {
    font-size:11px;
  }
  .own {
    padding-bottom:20px;
  }
  .expertise {
    grid-template-columns:1fr;
    gap:25px;
    padding-top:25px;
    padding-bottom:40px;
  }
  .expertise>h2 {
    font-size:48px;
    max-width:350px;
  }
  .services {
    grid-template-columns:1fr;
    gap:22px;
  }
  .service {
    padding-top:18px;
  }
  .service h3 {
    font-size:17px;
    margin-bottom:11px;
  }
  .service p {
    font-size:14px;
  }
  .approach {
    padding-block:27px;
  }
  .approach-intro {
    grid-template-columns:minmax(0,1fr);
    gap:25px;
  }
  .approach-intro h2 {
    font-size:clamp(46px,13vw,56px);
    max-width:440px;
  }
  .approach-intro>p {
    font-size:16px;
  }
  .email-wrap {
    margin-top:25px;
    justify-content:space-between;
    gap:18px;
  }
  .email {
    font-size:30px;
  }
  .email-wrap svg {
    width:30px;
    height:30px;
  }
  .footer {
    gap:20px;
    flex-wrap:wrap;
    padding-block:19px;
  }
  .footer>div {
    flex:1;
  }
  .footer>p {
    order:3;
    width:100%;
  }
}
@media(prefers-reduced-motion:reduce) {
  :root {
    scroll-behavior:auto;
  }
}



.consolidation-art {
  width:100%;
  max-width:560px;
  margin-inline:auto;
}
/* Both product illustrations share the same layout and delivery dimensions. */
.product-heading {
  display:grid;
  grid-template-columns:minmax(0,1fr) 180px;
  gap:16px 20px;
  align-items:center;
}
.product-heading>.eyebrow { grid-column:1 / -1; }
.product-heading h3 { margin-top:0; }
.product-art {
  grid-column:2;
  grid-row:2;
  width:180px;
  mix-blend-mode:multiply;
}
.product { align-items:center; }
@media(max-width:1100px) {
  .product-heading { grid-template-columns:minmax(0,1fr) 130px; gap:14px; }
  .product-art { width:130px; }
}
@media(max-width:760px) {
  .product-heading { grid-template-columns:minmax(0,1fr) 100px; }
  .product-heading h3 { font-size:36px; }
  .product:first-child h3 { font-size:48px; }
  .product-art { width:100px; }
}
@media(max-width:580px) {
  .consolidation-art { max-width:390px; }
  .product-heading h3 { font-size:clamp(32px,9vw,42px); }
  .product:first-child h3 { font-size:clamp(40px,13vw,52px); }
}

.product-heading h3 a { text-decoration:none; }
.product-heading h3 a:hover { text-decoration:underline; text-decoration-thickness:2px; }
.product-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--red);
  font-size:12px;
  font-weight:600;
  margin-top:18px;
}
.product-link svg { width:17px; height:17px; }
/* Compact page layouts share the same navigation, contact panel and footer. */
.navigation a[aria-current] {
  text-decoration:underline;
  text-decoration-color:var(--red);
  text-decoration-thickness:2px;
  text-underline-offset:7px;
}
.home-hero .hero-layout { align-items:center; gap:64px; }
.home-hero h1 { font-size:clamp(64px,6.5vw,94px); line-height:.98; }
.home-hero h1 span+span { font-size:clamp(46px,4.7vw,68px); line-height:1.04; text-wrap:balance; max-width:650px; margin-top:15px; }
.home-capabilities { display:flex; gap:28px; align-items:baseline; padding-bottom:28px; }
.home-capabilities>.section-label { flex-shrink:0; text-decoration:none; }
.home-capabilities>.section-label svg { width:15px; height:15px; margin-left:7px; }
.home-capabilities>div { display:flex; flex-wrap:wrap; gap:10px 24px; }
.home-capabilities>div a { font-size:12px; color:#ddd; text-decoration-color:#777; }
.case-link { display:inline-flex; align-items:center; gap:12px; font-size:12px; margin-top:22px; }
.case-link svg { width:17px; height:17px; }
.home-products { padding-block:42px; }
.home-section-heading { display:flex; justify-content:space-between; align-items:end; gap:28px; margin-bottom:26px; }
.home-section-heading h2 { font-family:var(--display); font-size:46px; text-transform:uppercase; max-width:570px; }
.home-section-heading>a { display:inline-flex; align-items:center; gap:12px; font-size:12px; flex-shrink:0; }
.home-section-heading svg { width:17px; height:17px; }
.product-previews { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:50px; }
.product-preview { display:grid; grid-template-columns:130px minmax(0,1fr); gap:24px; border-top:1px solid var(--line); padding-top:24px; align-items:center; }
.product-preview>img { width:130px; mix-blend-mode:multiply; }
.product-preview .eyebrow { font-size:9px; }
.product-preview h3 { font-family:var(--display); font-size:38px; margin-block:11px 12px; }
.product-preview h3 a { text-decoration:none; }
.product-preview h3 a:hover { text-decoration:underline; text-decoration-thickness:2px; }
.product-preview p:not(.eyebrow) { font-size:13px; line-height:1.7; }
.product-preview .product-link { margin-top:13px; }
.page-intro { padding-top:30px; padding-bottom:42px; }
.page-intro>.eyebrow { margin-bottom:16px; }
.page-intro h1 { font-size:clamp(64px,7vw,100px); line-height:.95; max-width:1000px; }
.page-lead { font-size:17px; line-height:1.8; max-width:730px; margin-top:25px; }
.dark-stage .page-lead { color:#ddd; }
.expertise-page { padding-bottom:42px; }
.expertise-page .services { gap:38px 60px; }
.expertise-page .service { padding-top:23px; }
.expertise-page .service h2 { font-family:var(--display); font-size:36px; line-height:1.1; margin-bottom:15px; }
.expertise-page .service p { font-size:15px; line-height:1.85; max-width:530px; }
.next-page { display:flex; align-items:center; justify-content:space-between; gap:30px; border-top:2px solid var(--black); padding-block:24px; margin-top:40px; text-decoration:none; }
.next-page>span { font-family:var(--display); font-size:32px; line-height:1.1; }
.next-page:hover { color:var(--red); }
.page-projects>.wrap:last-of-type { padding-bottom:24px; }
@media(max-width:1100px) {
  .home-hero .hero-layout { gap:40px; }
  .home-capabilities { display:block; }
  .home-capabilities>div { margin-top:12px; }
  .product-previews { gap:32px; }
  .product-preview { grid-template-columns:100px minmax(0,1fr); gap:20px; }
  .product-preview>img { width:100px; }
}
@media(max-width:760px) {
  .site-header { gap:16px; }
  .navigation { gap:14px; }
  .home-hero h1 { font-size:clamp(46px,6.5vw,66px); }
  .home-hero h1 span+span { font-size:clamp(36px,4.9vw,48px); }
  .home-hero .hero-layout { gap:28px; }
  .home-section-heading h2 { font-size:38px; }
  .product-preview { grid-template-columns:1fr; gap:15px; align-items:start; }
  .product-preview>img { width:135px; }
  .product-preview h3 { font-size:34px; }
  .expertise-page .services { gap:28px; }
  .expertise-page .service h2 { font-size:32px; }
  .expertise-page .service p { font-size:14px; }
}
@media(max-width:580px) {
  .home-hero h1 { font-size:clamp(42px,12.2vw,65px); }
  .home-hero h1 span+span { font-size:clamp(32px,9.7vw,48px); max-width:390px; }
  .home-capabilities { padding-bottom:24px; }
  .home-capabilities>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 18px; }
  .home-capabilities>div a { font-size:11px; }
  .home-products { padding-block:30px; }
  .home-section-heading { display:block; margin-bottom:24px; }
  .home-section-heading h2 { font-size:38px; }
  .home-section-heading>a { margin-top:17px; }
  .product-previews { grid-template-columns:1fr; gap:25px; }
  .product-preview { grid-template-columns:95px minmax(0,1fr); gap:18px; align-items:center; padding-top:22px; }
  .product-preview>img { width:95px; }
  .product-preview h3 { font-size:30px; }
  .product-preview p:not(.eyebrow) { font-size:12px; }
  .page-intro { padding-top:24px; padding-bottom:30px; }
  .page-intro h1 { font-size:clamp(48px,13vw,70px); }
  .page-lead { font-size:15px; line-height:1.75; margin-top:20px; }
  .expertise-page { padding-bottom:25px; }
  .expertise-page .services { grid-template-columns:1fr; }
  .expertise-page .service { padding-top:20px; }
  .next-page { padding-block:22px; margin-top:28px; gap:20px; }
  .next-page>span { font-size:28px; }
  .footer>a:not(.back-top) { order:4; }
}

.home-hero .work-link svg { transform:none; }

/* Concrete applications complement the homepage introduction. */
.home-foundation { padding-bottom:38px; }
.foundation-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:70px; align-items:center; border-top:1px solid #555; padding-top:32px; }
.foundation-copy h2 { font-family:var(--display); font-size:50px; line-height:1.02; max-width:470px; }
.foundation-copy>p { font-size:15px; line-height:1.85; color:#c9c9c9; max-width:480px; margin-top:22px; }
.foundation-stack { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.foundation-stack li { position:relative; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:19px 24px; border:1px solid #777; }
.foundation-stack li:first-child { background:var(--red); border-color:var(--red); }
.foundation-stack li:nth-child(2) { background:var(--white); border-color:var(--white); color:var(--black); }
.foundation-stack strong { font-family:var(--display); font-size:32px; line-height:1.1; }
.foundation-stack span { font-size:11px; line-height:1.5; max-width:160px; }
@media(max-width:1100px) {
  .foundation-layout { gap:36px; }
  .foundation-stack li { padding:18px; gap:16px; }
  .foundation-stack strong { font-size:28px; }
}
@media(max-width:760px) {
  .foundation-layout { grid-template-columns:1fr; gap:28px; }
  .foundation-copy h2 { font-size:42px; }
  .foundation-copy>p { max-width:560px; }
}
@media(max-width:580px) {
  .foundation-copy h2 { font-size:38px; }
  .foundation-copy>p { font-size:14px; }
  .foundation-stack strong { font-size:26px; }
  .foundation-stack span { max-width:140px; }
}

.contact-prompt { background:var(--red); color:var(--white); padding-block:25px; }
.contact-prompt>.wrap { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.contact-prompt p { font-family:var(--display); font-size:36px; line-height:1.1; }
.contact-prompt a { display:inline-flex; align-items:center; gap:20px; font-size:14px; flex-shrink:0; }
.contact-details { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:80px; padding-block:48px 60px; }
.contact-details h2 { margin-bottom:24px; }
.contact-email .email-wrap { color:var(--red); gap:18px; }
.contact-email .email { font-size:clamp(24px,3vw,42px); }
.contact-email>p { margin-top:24px; max-width:400px; font-size:14px; color:#555; }
.contact-company { border-left:1px solid var(--line); padding-left:40px; font-size:14px; }
.contact-company>p { margin-top:22px; }
.contact-company strong { display:block; margin-bottom:8px; }
.page-contact+.footer { border-top:1px solid var(--line); }
@media(max-width:760px) {
  .contact-details { gap:30px; }
  .contact-company { padding-left:24px; }
}
@media(max-width:580px) {
  .foundation-stack li { align-items:start; flex-direction:column; gap:10px; }
  .foundation-stack span { max-width:none; }
  .contact-prompt>.wrap { align-items:start; flex-direction:column; gap:18px; }
  .contact-prompt p { font-size:30px; }
  .contact-details { grid-template-columns:1fr; padding-block:30px 38px; }
  .contact-company { border-left:0; border-top:1px solid var(--line); padding:26px 0 0; }
  .contact-email .email-wrap { gap:10px; }
  .contact-email .email-wrap svg { width:24px; height:24px; }
}
