:root {
  --carbon: #171b1d;
  --mineral: #f2f0ea;
  --white: #fcfcfa;
  --steel: #626b6f;
  --amber: #f4b41a;
  --blue: #275c70;
  --oxide: #b84531;
  --line: color-mix(in srgb, var(--carbon) 16%, transparent);
  --max: 1280px;
  --pad: clamp(1rem, 4vw, 4rem);
  --display: "Manrope", "Avenir Next", Avenir, sans-serif;
  --body: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
  --mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--white);
  color: var(--carbon);
  font-family: var(--body);
  font-size: 16px;
  line-height: 1.55;
}
a {
  color: inherit;
}
button,
input,
select,
textarea {
  font: inherit;
}
.skip {
  position: fixed;
  left: 1rem;
  top: 1rem;
  z-index: 20;
  background: var(--amber);
  padding: 0.8rem 1rem;
  transform: translateY(-180%);
}
.skip:focus {
  transform: none;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
:focus-visible {
  outline: 3px solid var(--amber);
  outline-offset: 4px;
}
.site-header {
  position: relative;
  z-index: 10;
  max-width: var(--max);
  margin: auto;
  min-height: 96px;
  padding: 1rem var(--pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.brand {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  text-decoration: none;
  font: 800 1.2rem/1 var(--display);
  letter-spacing: 0.06em;
}
.brand small {
  display: block;
  font: 500 0.46rem/1.6 var(--mono);
  letter-spacing: 0.16em;
  color: var(--steel);
}
.brand-logo {
  width: 58px;
  height: 52px;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.desktop-nav {
  display: flex;
  gap: clamp(1rem, 2.3vw, 2.4rem);
}
.desktop-nav a {
  text-decoration: none;
  font-size: 0.86rem;
  font-weight: 650;
}
.header-actions {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.language {
  position: relative;
}
.language summary {
  list-style: none;
  cursor: pointer;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font: 650 0.78rem var(--mono);
}
.language summary::-webkit-details-marker {
  display: none;
}
.language > div {
  position: absolute;
  right: 0;
  top: calc(100% + 0.5rem);
  background: var(--white);
  box-shadow: 0 16px 40px rgba(23, 27, 29, 0.15);
  padding: 0.5rem;
  min-width: 170px;
}
.language:not([open]) > div {
  display: none;
}
.language a {
  display: flex;
  gap: 0.8rem;
  padding: 0.75rem;
  text-decoration: none;
}
.language a:hover {
  background: var(--mineral);
}
.button {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  min-height: 52px;
  padding: 0.45rem 0.45rem 0.45rem 1.25rem;
  background: var(--amber);
  color: var(--carbon);
  font-weight: 750;
  text-decoration: none;
  border: 0;
  cursor: pointer;
}
.button i {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  background: var(--carbon);
  color: white;
  font-style: normal;
  transition: transform 0.55s cubic-bezier(0.32, 0.72, 0, 1);
}
.button:hover i {
  transform: translate(0.18rem, -0.12rem);
}
.button-small {
  min-height: 44px;
  font-size: 0.83rem;
}
.button-small i {
  width: 34px;
  height: 34px;
}
.menu-button,
.mobile-nav {
  display: none;
}
.hero {
  max-width: var(--max);
  margin: auto;
  padding: clamp(3rem, 8vw, 8.5rem) var(--pad) clamp(4rem, 9vw, 9rem);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
  gap: clamp(3rem, 7vw, 8rem);
  align-items: center;
  min-height: 720px;
}
.eyebrow {
  font: 650 0.68rem/1 var(--mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--blue);
  margin: 0 0 1.5rem;
}
.hero h1,
.section h2 {
  font-family: var(--display);
  font-weight: 760;
  letter-spacing: -0.052em;
  line-height: 0.98;
  margin: 0;
}
.hero h1 {
  font-size: clamp(3.3rem, 6.6vw, 6.7rem);
  max-width: 900px;
}
.lede {
  font-size: clamp(1.05rem, 1.5vw, 1.3rem);
  color: #4e565a;
  max-width: 650px;
  margin: 2rem 0;
}
.hero-ctas {
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
}
.text-link {
  display: flex;
  gap: 0.6rem;
  font-weight: 700;
  text-underline-offset: 0.4rem;
}
.surface-art {
  position: relative;
  min-height: 560px;
  background: repeating-linear-gradient(110deg, #333a3d 0 2px, #252a2c 2px 9px);
  overflow: hidden;
  clip-path: polygon(0 0, 89% 0, 100% 10%, 100% 100%, 11% 100%, 0 90%);
}
.surface-art .treated {
  position: absolute;
  inset: 0 42% 0 0;
  background: linear-gradient(145deg, #406c78, #183b49);
  opacity: 0.88;
}
.surface-art .layer {
  position: absolute;
  left: 54%;
  top: -10%;
  bottom: -10%;
  width: 9%;
  background: var(--amber);
  transform: rotate(7deg);
  box-shadow: 0 0 0 8px rgba(244, 180, 26, 0.13);
}
.surface-art > p {
  position: absolute;
  right: 7%;
  bottom: 7%;
  color: white;
  font: 750 clamp(2rem, 4vw, 4rem)/0.82 var(--display);
  letter-spacing: -0.05em;
  text-align: right;
}
.spec {
  position: absolute;
  z-index: 2;
  left: 7%;
  top: 7%;
  color: white;
  display: flex;
  gap: 1rem;
  font: 600 0.7rem var(--mono);
}
.spec b {
  color: var(--amber);
}
.proof {
  background: var(--carbon);
  color: white;
  padding: 1.25rem var(--pad);
  display: flex;
  justify-content: center;
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
}
.proof p {
  font: 600 0.65rem var(--mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #aeb5b7;
}
.proof div {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1.3rem, 4vw, 4rem);
}
.proof span {
  font: 750 0.85rem var(--display);
  letter-spacing: 0.07em;
}
.section {
  padding: clamp(5.5rem, 10vw, 10rem) var(--pad);
}
.section-heading {
  max-width: var(--max);
  margin: 0 auto clamp(3rem, 6vw, 6rem);
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 5rem;
  align-items: end;
}
.section h2 {
  font-size: clamp(2.7rem, 5vw, 5.1rem);
  max-width: 900px;
}
.section-heading > p {
  max-width: 550px;
  color: #51595d;
}
.applications {
  background: var(--mineral);
}
.category-grid {
  max-width: var(--max);
  margin: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.category {
  min-height: 520px;
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-rows: 240px 1fr;
  overflow: hidden;
  transition:
    background 0.55s cubic-bezier(0.32, 0.72, 0, 1),
    transform 0.55s cubic-bezier(0.32, 0.72, 0, 1);
}
.category-media {
  overflow: hidden;
  background: var(--carbon);
}
.category-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: saturate(0.78) contrast(1.05);
  transition: transform 0.75s cubic-bezier(0.32, 0.72, 0, 1);
}
.category:hover .category-media img {
  transform: scale(1.035);
}
.category-body {
  padding: 2rem;
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 1rem;
}
.category:nth-child(odd) {
  border-right: 1px solid var(--line);
}
.category:hover {
  background: var(--white);
  transform: translateY(-4px);
}
.category-index {
  font: 600 0.72rem var(--mono);
  color: var(--steel);
}
.category-index span {
  display: block;
  margin-top: 0.6rem;
  color: var(--blue);
  font-size: 0.6rem;
}
.category h3,
.news h3 {
  font: 700 clamp(1.5rem, 2.4vw, 2.25rem)/1.08 var(--display);
  letter-spacing: -0.035em;
  margin: 0 0 1rem;
}
.category p {
  color: #5b6265;
  max-width: 440px;
}
.category a {
  display: inline-flex;
  gap: 0.6rem;
  margin-top: 2rem;
  font-weight: 750;
  text-underline-offset: 0.35rem;
}
.category-featured {
  background: var(--carbon);
  color: white;
}
.category-featured p {
  color: #bcc2c3;
}
.process {
  background: var(--white);
}
.process ol {
  max-width: var(--max);
  margin: auto;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.process li {
  padding: 2rem;
  border-top: 2px solid var(--carbon);
}
.process li + li {
  border-left: 1px solid var(--line);
}
.process li > span {
  font: 650 0.75rem var(--mono);
  color: var(--blue);
}
.process h3 {
  font: 700 1.6rem var(--display);
  margin: 4rem 0 1rem;
}
.process p {
  color: var(--steel);
}
.service {
  background: var(--blue);
  color: white;
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  padding: 0;
}
.service-visual {
  min-height: 650px;
  background: var(--carbon);
  position: relative;
  overflow: hidden;
}
.service-visual img {
  width: 100%;
  height: 100%;
  min-height: 650px;
  display: block;
  object-fit: cover;
  object-position: 52% center;
  filter: saturate(.78) contrast(1.04) brightness(.9);
}
.service-copy {
  padding: clamp(4rem, 8vw, 9rem);
  align-self: center;
}
.service .eyebrow {
  color: #ffd66d;
}
.service h2 {
  max-width: 700px;
}
.service-copy > p:not(.eyebrow) {
  color: #dbe5e8;
  max-width: 600px;
  margin: 2rem 0;
}
.button-light {
  background: white;
}
.partners {
  background: var(--white);
}
.news-grid {
  max-width: var(--max);
  margin: auto;
  display: grid;
  grid-template-columns: 1.3fr 0.85fr 0.85fr;
  gap: 1.4rem;
}
.news-art {
  height: 260px;
  background: var(--mineral);
  position: relative;
  overflow: hidden;
}
.news-art:after {
  content: "";
  position: absolute;
  inset: 18% 10%;
  background: var(--blue);
  clip-path: polygon(0 20%, 80% 0, 100% 75%, 22% 100%);
}
.art-2:after {
  background: repeating-linear-gradient(
    90deg,
    var(--amber) 0 18px,
    var(--carbon) 18px 34px
  );
}
.art-3:after {
  background: var(--oxide);
  clip-path: circle(42%);
}
.news p {
  font: 600 0.62rem var(--mono);
  color: var(--steel);
  margin: 1.3rem 0 0.8rem;
}
.company {
  background: var(--mineral);
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: clamp(4rem, 9vw, 10rem);
  align-items: center;
}
.company > div {
  max-width: 700px;
}
.company-code {
  font: 800 clamp(9rem, 20vw, 20rem)/0.65 var(--display);
  letter-spacing: -0.11em;
  color: transparent;
  -webkit-text-stroke: 2px #bec0ba;
}
.company > div > p:not(.eyebrow) {
  font-size: 1.15rem;
  color: #525a5d;
  margin: 2rem 0;
}
.company ul {
  padding: 0;
  list-style: none;
}
.company li {
  padding: 1rem 0;
  border-top: 1px solid var(--line);
  font-weight: 700;
}
.shop {
  position: relative;
  overflow: hidden;
  background: var(--carbon);
  color: white;
}
.shop-inner {
  max-width: var(--max);
  margin: auto;
  position: relative;
  z-index: 1;
}
.shop-inner h2 {
  max-width: 850px;
}
.shop-inner > p:not(.eyebrow) {
  max-width: 620px;
  color: #bdc4c6;
  margin: 2rem 0;
}
.status {
  display: inline-block;
  background: var(--amber);
  color: var(--carbon);
  font: 700 0.65rem var(--mono);
  letter-spacing: 0.14em;
  padding: 0.6rem 0.8rem;
  margin-bottom: 4rem;
}
.shop-lines {
  position: absolute;
  right: -10%;
  top: -30%;
  width: 55%;
  height: 180%;
  background: repeating-linear-gradient(
    100deg,
    transparent 0 28px,
    rgba(244, 180, 26, 0.16) 28px 30px
  );
  transform: rotate(8deg);
}
.contact {
  max-width: var(--max);
  margin: auto;
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: clamp(3rem, 8vw, 9rem);
}
.contact-intro > p:not(.eyebrow) {
  color: var(--steel);
  max-width: 440px;
}
.direct {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin-top: 4rem;
}
.direct small {
  font: 600 0.65rem var(--mono);
  color: var(--steel);
  text-transform: uppercase;
}
.direct a {
  font: 700 1.2rem var(--display);
}
.inquiry {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
.field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.field-wide {
  grid-column: 1/-1;
}
.field label {
  font: 650 0.72rem var(--mono);
  letter-spacing: 0.04em;
}
.field input,
.field select,
.field textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid #92999b;
  background: var(--mineral);
  padding: 1rem;
  min-height: 52px;
  border-radius: 0;
}
.field textarea {
  resize: vertical;
}
.demo-note,
.form-status {
  grid-column: 1/-1;
  color: var(--steel);
  font-size: 0.8rem;
  margin: 0;
}
.inquiry .button {
  justify-self: start;
}
.form-status {
  color: var(--blue);
  font-weight: 700;
}
.site-footer {
  background: #0d1011;
  color: white;
  padding: 0 var(--pad);
  border-top: 6px solid var(--blue);
}
.footer-grid {
  max-width: var(--max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(17rem, 1.55fr) repeat(2, minmax(9rem, 0.75fr)) minmax(13rem, 1fr);
  gap: clamp(2rem, 4vw, 4.5rem);
  padding: 1.5rem 0 1rem;
}
.site-footer p {
  color: #b6bdc0;
  margin: 0.75rem 0 0;
  max-width: 25rem;
  font-size: 0.9rem;
  line-height: 1.45;
}
.footer-brand {
  padding-right: clamp(1rem, 3vw, 3.5rem);
  border-right: 1px solid #2b3032;
}
.footer-column {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 0.42rem;
}
.site-footer a {
  text-underline-offset: 0.2em;
}
.footer-column > strong {
  color: #fff;
  margin-bottom: 0.3rem;
  font: 700 0.68rem/1 var(--mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.footer-column a {
  color: #cbd0d2;
  font-size: 0.84rem;
  text-decoration: none;
}
.footer-column a:hover,
.footer-column a:focus-visible {
  color: var(--yellow);
  text-decoration: underline;
}
.footer-contact address {
  display: grid;
  gap: 0.42rem;
  font-style: normal;
}
.footer-contact address span {
  color: #aab1b4;
  margin-top: 0.2rem;
  font-size: 0.8rem;
  line-height: 1.4;
}
.footer-contact address b {
  display: block;
  color: #7f898d;
  margin-bottom: 0.12rem;
  font: 650 0.62rem/1.2 var(--mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.footer-bottom {
  max-width: var(--max);
  margin: 0 auto;
  color: #8d9699;
  border-top: 1px solid #2b3032;
  padding: 0.45rem 0 0.55rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: 0.72rem;
}
.footer-bottom span {
  font: 650 0.62rem/1 var(--mono);
  letter-spacing: 0.12em;
}
.brand-footer .brand-logo {
  background: var(--white);
  padding: 0.2rem;
  mix-blend-mode: normal;
}
.brand-footer span {
  font-size: 1.2rem;
}
.legal-header {
  top: 0;
}
.legal-page {
  background: var(--mineral);
  padding: clamp(4rem, 8vw, 8rem) var(--pad);
}
.legal-page > header {
  max-width: 70rem;
  margin-bottom: clamp(3rem, 6vw, 6rem);
}
.legal-page h1 {
  max-width: 14ch;
  margin: 0.5rem 0 1.5rem;
  font-size: clamp(3rem, 7vw, 7rem);
  line-height: 0.9;
  overflow-wrap: anywhere;
}
.legal-page > header > p:not(.eyebrow) {
  max-width: 58ch;
  color: var(--steel);
  font-size: 1.15rem;
}
.legal-page > header small {
  display: block;
  margin-top: 1.25rem;
  color: var(--blue);
  font-weight: 700;
}
.legal-layout {
  display: grid;
  grid-template-columns: minmax(12rem, 0.7fr) minmax(0, 2fr);
  gap: clamp(3rem, 8vw, 9rem);
  border-top: 1px solid #c6c8c4;
  padding-top: 2rem;
}
.legal-layout aside {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  color: var(--steel);
  font-size: 0.8rem;
}
.legal-layout article {
  max-width: 48rem;
}
.legal-layout article section {
  padding: 0 0 2.5rem;
  margin-bottom: 2.5rem;
  border-bottom: 1px solid #c6c8c4;
}
.legal-layout h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.5rem, 2.2vw, 2.25rem);
}
.legal-layout p {
  color: var(--steel);
  line-height: 1.7;
}
.reveal {
  opacity: 1;
  transform: none;
}
@media (max-width: 980px) {
  .desktop-nav,
  .header-actions > .button-small {
    display: none;
  }
  .menu-button {
    position: relative;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    background: transparent;
    border: 0;
    display: grid;
    place-content: center;
    gap: 6px;
    cursor: pointer;
  }
  .menu-button::before {
    position: absolute;
    top: 21px;
    left: 10px;
    width: 24px;
    height: 2px;
    content: "";
    background: var(--carbon);
    transition: opacity 0.2s ease;
  }
  .menu-button span:not(.sr-only) {
    position: absolute;
    left: 10px;
    display: block;
    width: 24px;
    height: 2px;
    background: var(--carbon);
    transition: top 0.25s ease, transform 0.5s cubic-bezier(0.32, 0.72, 0, 1);
  }
  .menu-button span:first-child {
    top: 13px;
  }
  .menu-button span:nth-child(2) {
    top: 29px;
  }
  .menu-button[aria-expanded="true"]::before {
    opacity: 0;
  }
  .menu-button[aria-expanded="true"] span:first-child {
    top: 21px;
    transform: rotate(45deg);
  }
  .menu-button[aria-expanded="true"] span:nth-child(2) {
    top: 21px;
    transform: rotate(-45deg);
  }
  .mobile-nav {
    position: absolute;
    left: var(--pad);
    right: var(--pad);
    top: 82px;
    background: var(--carbon);
    color: white;
    padding: 2rem;
  }
  .mobile-nav:not([hidden]) {
    display: block;
  }
  .mobile-nav nav {
    display: flex;
    flex-direction: column;
  }
  .mobile-nav nav a {
    padding: 1rem 0;
    font: 700 1.5rem var(--display);
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }
  .mobile-nav .button {
    margin-top: 1.5rem;
    color: var(--carbon);
  }
  .hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .surface-art {
    min-height: 420px;
  }
  .category-grid {
    grid-template-columns: 1fr;
  }
  .category:nth-child(odd) {
    border-right: 0;
  }
  .section-heading {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .service {
    grid-template-columns: 1fr;
  }
  .service-visual {
    min-height: 400px;
  }
  .service-visual img {
    min-height: 400px;
  }
  .news-grid {
    grid-template-columns: 1fr 1fr;
  }
  .news:first-child {
    grid-column: 1/-1;
  }
  .company,
  .contact {
    grid-template-columns: 1fr;
  }
  .company-code {
    display: none;
  }
  .footer-grid {
    grid-template-columns: minmax(15rem, 1.25fr) repeat(3, minmax(7.5rem, 1fr));
    gap: 2rem;
  }
}
@media (max-width: 600px) {
  .site-footer {
    padding-inline: 1rem;
  }
  :root {
    --pad: 1rem;
  }
  .site-header {
    min-height: 76px;
  }
  .brand small {
    display: none;
  }
  .language > div {
    right: 0;
  }
  .hero {
    padding-top: 3.5rem;
  }
  .hero h1 {
    font-size: clamp(3rem, 14vw, 4.4rem);
  }
  .surface-art {
    min-height: 340px;
  }
  .proof {
    align-items: flex-start;
    flex-direction: column;
  }
  .category {
    grid-template-rows: 210px 1fr;
    min-height: 0;
  }
  .category-body {
    grid-template-columns: 1fr;
    padding: 1.5rem 0 2rem;
  }
  .process ol {
    grid-template-columns: 1fr;
  }
  .process li + li {
    border-left: 0;
  }
  .process h3 {
    margin: 2rem 0 1rem;
  }
  .news-grid {
    grid-template-columns: 1fr;
  }
  .news:first-child {
    grid-column: auto;
  }
  .news-art {
    height: 220px;
  }
  .service-copy {
    padding: 4rem 1rem;
  }
  .inquiry {
    grid-template-columns: 1fr;
  }
  .field-wide {
    grid-column: auto;
  }
  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.25rem 1.5rem;
    padding: 2.25rem 0 1.75rem;
  }
  .footer-brand {
    grid-column: 1/-1;
    padding: 0 0 1.5rem;
    border-right: 0;
    border-bottom: 1px solid #2b3032;
  }
  .footer-contact {
    grid-column: 1/-1;
  }
  .footer-column,
  .footer-contact address {
    gap: 0.65rem;
  }
  .footer-column a {
    padding-block: 0.15rem;
  }
  .footer-contact address {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .footer-contact address span {
    grid-column: 1/-1;
  }
  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
  .legal-layout {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
@media (max-width: 600px) {
  .legal-header .desktop-nav {
    display: none;
  }
  .legal-page {
    padding-top: 3rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  .reveal {
    opacity: 1;
    transform: none;
  }
}

/* Shared resilient states. */
main,
.wp-site-blocks,
.wp-block-post-content {
  min-width: 0;
}
.wp-site-blocks {
  overflow-x: clip;
}
.form-errors {
  margin: 0 0 1.25rem;
  padding: 1rem 1.2rem;
  border-left: 5px solid var(--oxide, #b84531);
  background: #fff;
  color: var(--carbon);
  font-weight: 700;
}
.form-errors:focus-visible {
  outline: 3px solid var(--amber);
  outline-offset: 3px;
}
.field-error {
  display: block;
  margin-top: .4rem;
  color: var(--oxide, #9f3525);
  font-size: .82rem;
  font-weight: 700;
}
[aria-invalid="true"] {
  border-color: var(--oxide, #b84531) !important;
  box-shadow: inset 5px 0 0 var(--oxide, #b84531);
}
.delai-404 {
  min-height: clamp(32rem, 72vh, 48rem);
  padding: clamp(5rem, 10vw, 10rem) var(--pad);
  background: var(--carbon);
  color: #fff;
}
.delai-404 h1 {
  color: var(--amber);
  font: 800 clamp(6rem, 20vw, 18rem)/.72 var(--display);
}
.delai-404 p {
  max-width: 38ch;
  margin: 2rem 0;
}

/* Inner pages */
.inner-main{padding-top:var(--header)}
.inner-hero{min-height:76vh;padding:clamp(5rem,9vw,9rem) max(5vw,calc((100vw - var(--max))/2));display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:clamp(3rem,8vw,9rem);align-items:end;background:var(--mineral);border-bottom:1px solid var(--line)}
.inner-hero h1{max-width:980px;font-size:clamp(3.6rem,7.2vw,8rem);line-height:.87;letter-spacing:-.075em}.inner-hero .lede{max-width:760px;margin-top:2.4rem;color:#51595d;font-size:clamp(1.08rem,1.4vw,1.32rem)}
.inner-hero blockquote{margin:0;padding:2rem 0 0;border-top:5px solid var(--yellow);font-size:clamp(1.8rem,3vw,3.6rem);font-weight:750;line-height:1.04;letter-spacing:-.04em}
.about-sections{display:grid;grid-template-columns:repeat(3,1fr);max-width:var(--max);margin:auto;padding:clamp(5rem,8vw,9rem) 0}.about-sections article{padding:0 clamp(2rem,4vw,4rem);border-left:1px solid var(--line)}.about-sections article:first-child{padding-left:0;border-left:0}.about-sections article:last-child{padding-right:0}
.about-sections span,.partner-number{color:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:.12em}.about-sections h2{margin:2rem 0 1rem;font-size:clamp(1.8rem,2.6vw,3rem)}.about-sections p,.inner-section-head>p,.inner-cta>p{color:#535b5e;max-width:680px}
.about-principles{min-height:650px;padding:clamp(5rem,8vw,9rem) max(5vw,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1fr 1fr;align-items:center;background:var(--carbon);color:white}.about-principles .company-code{color:transparent;-webkit-text-stroke:1px #3f4749}.about-principles ul{list-style:none;padding:0;margin:2rem 0 0}.about-principles li{padding:1.35rem 0;border-top:1px solid #394143;font-size:clamp(1.3rem,2vw,2rem);font-weight:700}
.company-facts{padding:clamp(5rem,8vw,9rem) max(5vw,calc((100vw - var(--max))/2));display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem}.company-facts h2,.inner-section-head h2,.inner-cta h2{font-size:clamp(2.8rem,5vw,5.5rem)}.company-facts dl{margin:0}.company-facts dl div{display:grid;grid-template-columns:180px 1fr;gap:2rem;padding:1.35rem 0;border-top:1px solid var(--line)}.company-facts dt{color:#6b7274;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.company-facts dd{margin:0;font-weight:700}
.partner-count{display:flex;align-items:flex-end;justify-content:flex-end;gap:1rem;color:var(--blue)}.partner-count strong{font-size:clamp(7rem,14vw,14rem);line-height:.7;letter-spacing:-.09em}.partner-count span{font-size:.72rem;font-weight:800;letter-spacing:.12em}
.partner-section{padding:clamp(5rem,8vw,9rem) max(5vw,calc((100vw - var(--max))/2))}.inner-section-head{display:grid;grid-template-columns:.35fr 1fr;gap:2rem;align-items:end;margin-bottom:4rem}.inner-section-head>p:last-child{grid-column:2}
.partner-grid,.sales-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.partner-grid li:nth-child(odd),.sales-grid li:not(:last-child){border-right:1px solid var(--line)}
.partner-grid a{min-height:330px;padding:1.5rem 2rem 2rem;display:grid;grid-template-columns:40px 1fr auto;grid-template-rows:1fr auto;gap:1rem;color:inherit;border-bottom:1px solid var(--line);transition:background .2s,transform .2s}.partner-grid .logo-box{grid-column:2/4;display:flex;align-items:center;justify-content:center;min-height:180px}.partner-grid li:nth-child(7) .logo-box{background:var(--carbon);padding:1.5rem}.partner-grid img{width:min(100%,300px);height:120px;object-fit:contain}.partner-grid b,.sales-grid b{display:block;font-size:1.25rem}.partner-grid small{display:block;margin-top:.5rem;color:#636b6e}.partner-grid i,.sales-grid i{font-style:normal;align-self:end}.partner-grid a:hover,.partner-grid a:focus-visible,.sales-grid a:hover,.sales-grid a:focus-visible{background:white;transform:translateY(-3px)}
.sales-section{background:var(--mineral)}.sales-grid{grid-template-columns:repeat(3,1fr)}.sales-grid a{min-height:270px;padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;color:inherit;border-bottom:1px solid var(--line);transition:background .2s,transform .2s}.sales-grid li:nth-child(2) a{background:var(--carbon);color:white}.sales-grid img{width:180px;height:100px;object-fit:contain}.sales-grid i{position:absolute}
.source-note{max-width:var(--max);margin:2rem auto 4rem;padding:1rem 0;color:#687073;border-top:1px solid var(--line);font-size:.78rem}.inner-cta{padding:clamp(5rem,8vw,8rem) max(5vw,calc((100vw - var(--max))/2));background:var(--blue);color:white}.inner-cta>p{color:#d8e5e8;margin:1.5rem 0 2rem}.desktop-nav a[aria-current="page"]{border-bottom:2px solid var(--amber)}
@media(max-width:900px){.inner-hero{min-height:auto;grid-template-columns:1fr;padding-top:5rem}.inner-hero h1{font-size:clamp(3.5rem,13vw,6rem)}.inner-hero blockquote{max-width:620px}.about-sections{grid-template-columns:1fr;padding-left:5vw;padding-right:5vw}.about-sections article,.about-sections article:first-child,.about-sections article:last-child{padding:2.5rem 0;border-left:0;border-top:1px solid var(--line)}.about-principles,.company-facts{grid-template-columns:1fr;gap:3rem}.about-principles .company-code{font-size:10rem}.inner-section-head{grid-template-columns:1fr}.inner-section-head>p:last-child{grid-column:auto}}
@media(max-width:640px){.partner-count{justify-content:flex-start}.partner-count strong{font-size:7rem}.partner-grid,.sales-grid{grid-template-columns:1fr}.partner-grid li:nth-child(odd),.sales-grid li:not(:last-child){border-right:0}.partner-grid a{min-height:300px;padding:1.25rem}.company-facts dl div{grid-template-columns:1fr;gap:.5rem}.source-note{margin-left:5vw;margin-right:5vw}}

/* Compact premium redesign */
:root{--max:1440px}
.utility-bar{min-height:32px;padding:.35rem max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));display:flex;justify-content:space-between;align-items:center;background:var(--carbon);color:#d9ddde;font:600 .68rem/1.4 var(--mono);letter-spacing:.05em}.utility-bar>div{display:flex;gap:1.25rem}.utility-bar a{text-decoration:none}.utility-bar span{color:var(--amber)}
.site-header{position:sticky;top:0;z-index:10;max-width:none;min-height:78px;margin:0;padding:.7rem max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));background:rgba(252,252,250,.97);border-bottom:1px solid var(--line);box-shadow:0 12px 32px rgba(23,27,29,.055);backdrop-filter:blur(12px)}
.brand-logo{width:50px;height:46px}.brand{font-size:1.12rem}.desktop-nav a{font-size:.9rem}.shop-nav span{display:flex;flex-direction:column;line-height:1.05}.shop-nav small{font:600 .55rem/1.2 var(--mono);text-transform:uppercase;letter-spacing:.09em;margin-top:.25rem}
.video-hero{position:relative;max-width:none;min-height:clamp(620px,78svh,820px);margin:0;padding:0;display:block;overflow:hidden;background:var(--carbon);color:white}.hero-media{position:absolute;inset:0 0 0 38%;overflow:hidden;background:var(--carbon);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 100%);mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 100%)}.hero-media img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;max-width:none;transform:none;object-fit:cover;object-position:left center;filter:brightness(.76) contrast(.96);-webkit-mask-image:none;mask-image:none}.hero-media video{z-index:1}.hero-scrim{position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,#171b1d 0%,rgba(23,27,29,.98) 30%,rgba(23,27,29,.72) 44%,rgba(23,27,29,.18) 62%,transparent 76%)}
.video-hero .hero-copy{position:relative;z-index:4;width:min(760px,53vw);padding:clamp(5rem,8vw,8rem) var(--pad);margin-left:max(0px,calc((100vw - var(--max))/2))}.video-hero h1{font-size:clamp(3.35rem,5.5vw,6.1rem);max-width:11ch;line-height:.94;letter-spacing:-.058em}.video-hero .eyebrow{color:#8bb4c3}.video-hero .lede{color:#d6dcdd;max-width:54ch}.video-hero .text-link{color:white}.video-toggle{position:absolute;right:var(--pad);bottom:var(--pad);z-index:5;width:48px;height:48px;border:1px solid rgba(255,255,255,.4);background:rgba(23,27,29,.78);color:white;cursor:pointer;font-weight:800}.video-toggle:hover{background:var(--amber);color:var(--carbon)}
.proof{min-height:62px;padding:.8rem max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}.proof>p{max-width:380px}.proof>div{gap:2rem}.proof span{font-size:.7rem}
.section{padding:clamp(4.5rem,7vw,7rem) var(--pad)}.section-heading{margin-bottom:clamp(2.5rem,4vw,4rem)}.section h2{font-size:clamp(2.7rem,4.4vw,4.6rem)}
.category-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.category{position:relative;display:block;min-height:360px;grid-column:span 3;border:0!important;background:var(--carbon);color:white;overflow:hidden}.category:nth-child(1),.category:nth-child(4),.category:nth-child(7){grid-column:span 6}.category:nth-child(10){grid-column:span 12;min-height:320px}.category>.category-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.08);transition:transform .75s cubic-bezier(.32,.72,0,1)}.category:hover>.category-media{transform:scale(1.035)}.category-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(10,13,14,.88) 100%)}
.category-body{position:absolute;z-index:2;left:0;right:0;bottom:0;min-height:30%;max-height:34%;padding:1.2rem 1.35rem;display:grid;grid-template-columns:52px 1fr;gap:.75rem;align-items:end;background:rgba(15,18,19,.82);backdrop-filter:blur(8px)}.category-index{color:#d7dcdd}.category-index span{color:#86aebe;font-size:.55rem}.category h3{font-size:clamp(1.15rem,1.65vw,1.75rem);margin:0 0 .6rem}.category p{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.category{text-decoration:none}.category-link-label{display:inline-flex;gap:.6rem;color:white;font-size:.82rem;font-weight:750;text-decoration:underline;text-underline-offset:.35rem}.category:focus-visible{outline:4px solid var(--amber);outline-offset:4px}.category:hover{background:var(--carbon);transform:translateY(-3px)}

.shop-placeholder-page{min-height:100vh;background:var(--carbon);color:white}.shop-placeholder-header{position:relative;color:var(--carbon)}.shop-placeholder-header nav a{font-weight:750;text-underline-offset:.3rem}.shop-placeholder-header>span{font:650 .72rem var(--mono);color:var(--steel)}.shop-placeholder{min-height:calc(100vh - 78px);padding:clamp(5rem,9vw,9rem) max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(3rem,8vw,8rem);align-items:center}.shop-placeholder h1{max-width:11ch;font-size:clamp(3.5rem,7vw,7.5rem);line-height:.9;letter-spacing:-.055em}.shop-placeholder h2{max-width:22ch;margin:2rem 0 1rem;font-size:clamp(1.45rem,2vw,2.2rem)}.shop-placeholder p:not(.eyebrow){max-width:62ch;color:#cbd2d4}.shop-placeholder .text-link{color:white}.shop-placeholder-mark{min-height:420px;display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;background:linear-gradient(145deg,var(--blue),#17343e);border-bottom:10px solid var(--amber)}.shop-placeholder-mark span{font:800 clamp(4rem,9vw,9rem)/.75 var(--display);opacity:.13}.shop-placeholder-mark strong{margin-top:auto;font:700 .8rem var(--mono);letter-spacing:.16em;color:#ffd66d}@media(max-width:760px){.shop-placeholder-header nav{display:none}.shop-placeholder{grid-template-columns:1fr;padding-top:4rem}.shop-placeholder-mark{min-height:220px;order:-1}.shop-placeholder h1{font-size:clamp(3rem,14vw,5rem)}}

.home-contact-cta{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2rem;background:var(--mineral)}.home-contact-cta .eyebrow,.home-contact-cta h2,.home-contact-cta>p{grid-column:1}.home-contact-cta h2{max-width:14ch;font-size:clamp(2.8rem,5vw,5.4rem)}.home-contact-cta>p{max-width:60ch;color:var(--steel)}.home-contact-cta .button{grid-column:2;grid-row:1/4;align-self:center}.contact-page{background:var(--mineral)}.contact-page-hero{min-height:560px;padding:clamp(5rem,8vw,8rem) max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:4rem;align-items:end;background:var(--carbon);color:white}.contact-page-hero h1{max-width:12ch;font-size:clamp(3.4rem,6.5vw,7rem);line-height:.9;letter-spacing:-.055em}.contact-page-hero>div>p:not(.eyebrow){max-width:64ch;color:#cbd2d4}.contact-page-hero .direct{margin-top:2rem}.contact-page-hero .direct a{font-size:clamp(1.15rem,1.8vw,1.7rem)}.contact-page-code{font:800 clamp(7rem,15vw,15rem)/.68 var(--display);color:rgba(255,255,255,.07)}.contact-details{padding:clamp(4.5rem,7vw,7rem) max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,8vw,8rem)}.contact-details h2{font-size:clamp(2.6rem,4vw,4.5rem)}.contact-details>div>p:last-child{max-width:48ch;color:var(--steel)}.contact-details dl div{display:grid;grid-template-columns:minmax(150px,.7fr) 1.3fr;gap:1.5rem;padding:1rem 0;border-top:1px solid var(--line)}.contact-details dt{font:650 .72rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--steel)}.contact-details dd{margin:0;font-weight:700}.contact-details dd a{text-underline-offset:.3rem}.contact-page-form{padding-top:clamp(4.5rem,7vw,7rem);padding-bottom:clamp(4.5rem,7vw,7rem)}@media(max-width:820px){.home-contact-cta{grid-template-columns:1fr}.home-contact-cta .button{grid-column:1;grid-row:auto;justify-self:start}.contact-page-hero,.contact-details{grid-template-columns:1fr}.contact-page-code{display:none}.contact-details dl div{grid-template-columns:1fr;gap:.45rem}}
.process li{padding:1.5rem}.service{min-height:560px}.shop{min-height:520px}.contact{padding-top:clamp(4.5rem,7vw,7rem);padding-bottom:clamp(4.5rem,7vw,7rem)}
@media(max-width:980px){.utility-bar{display:none}.site-header{min-height:72px}.desktop-nav,.header-actions>.shop-nav{display:none}.menu-button{display:flex}.video-hero{min-height:auto;padding:0}.hero-media{position:relative;inset:auto;width:auto;height:46svh;min-height:330px;-webkit-mask-image:none;mask-image:none}.hero-media img,.hero-media video{inset:0;width:100%;height:100%;max-width:100%;transform:none;object-fit:cover;object-position:50% 50%}.hero-scrim{background:linear-gradient(180deg,rgba(23,27,29,.05),rgba(23,27,29,.55))}.video-hero .hero-copy{width:auto;margin:0;padding:3.5rem var(--pad) 4.5rem}.video-hero h1{max-width:13ch}.video-toggle{top:calc(46svh - 64px);bottom:auto}.category-grid{grid-template-columns:repeat(2,1fr)}.category,.category:nth-child(1),.category:nth-child(4),.category:nth-child(7),.category:nth-child(10){grid-column:span 1;min-height:330px}}
@media(max-width:620px){.brand span{font-size:.95rem}.video-hero h1{font-size:clamp(2.75rem,12vw,4.2rem)}.hero-media{height:42svh;min-height:280px}.video-toggle{top:calc(42svh - 62px)}.proof>div{display:none}.category-grid{grid-template-columns:1fr;gap:10px}.category,.category:nth-child(1),.category:nth-child(4),.category:nth-child(7),.category:nth-child(10){min-height:290px}.category-body{max-height:38%;grid-template-columns:42px 1fr;padding:1rem}.section{padding-top:4rem;padding-bottom:4rem}.section-heading{gap:1.5rem}.service{min-height:auto}.shop{min-height:480px}}

.inner-main{padding-top:0}.inner-hero{min-height:560px;padding:0;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;background:var(--mineral)}.inner-hero-copy{padding:clamp(3.5rem,6vw,6rem) max(var(--pad),calc((100vw - var(--max))/2 + var(--pad))) clamp(3.5rem,6vw,6rem) max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}.inner-hero h1{font-size:clamp(3.2rem,5.2vw,5.8rem);line-height:.92}.inner-hero .lede{margin-top:1.75rem;font-size:1.08rem}.inner-hero>img{width:100%;height:100%;min-height:560px;object-fit:cover}.inner-hero blockquote{margin-top:2rem;padding-top:1.2rem;font-size:clamp(1.45rem,2vw,2.3rem)}
.partner-count{justify-content:flex-start;margin-top:1.5rem;gap:.8rem}.partner-count strong{font-size:clamp(4.5rem,7vw,7rem)}.partner-count span{max-width:120px}
.about-sections{padding:clamp(4rem,6vw,6rem) var(--pad)}.about-sections article{padding:0 2rem}.about-sections h2{margin:1.2rem 0 .8rem;font-size:clamp(1.6rem,2vw,2.3rem)}.about-principles{min-height:460px;padding-top:4rem;padding-bottom:4rem}.about-principles .company-code{font-size:clamp(8rem,14vw,14rem)}.about-principles li{padding:1rem 0;font-size:clamp(1.15rem,1.6vw,1.65rem)}.company-facts{padding-top:4.5rem;padding-bottom:4.5rem}.company-facts h2{font-size:clamp(2.5rem,4vw,4.2rem)}.company-facts dl div{padding:1rem 0}
.partner-section{padding-top:clamp(4rem,6vw,6rem);padding-bottom:clamp(4rem,6vw,6rem)}.inner-section-head{margin-bottom:2.5rem}.inner-section-head h2{font-size:clamp(2.5rem,4vw,4.2rem)}.partner-grid{grid-template-columns:repeat(4,1fr);gap:10px;border-top:0}.partner-grid li:nth-child(odd){border-right:0}.partner-grid a{min-height:225px;padding:1rem;display:grid;grid-template-columns:30px 1fr auto;grid-template-rows:120px auto;gap:.6rem;border:1px solid var(--line);background:var(--white)}.partner-grid .logo-box{min-height:100px}.partner-grid img{height:82px;max-width:190px}.partner-grid b{font-size:.98rem}.partner-grid small{font-size:.75rem;line-height:1.35}.partner-grid li:nth-child(7) .logo-box{padding:.7rem}.sales-grid{gap:10px;border-top:0}.sales-grid li:not(:last-child){border-right:0}.sales-grid a{min-height:180px;padding:1.25rem;border:1px solid var(--line)}.sales-grid img{height:72px;width:140px}.source-note{margin-top:1.5rem;margin-bottom:2rem}.inner-cta{padding-top:4.5rem;padding-bottom:4.5rem}.inner-cta h2{font-size:clamp(2.6rem,4vw,4.4rem)}
@media(max-width:1100px){.partner-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.inner-hero{grid-template-columns:1fr}.inner-hero>img{min-height:360px;max-height:460px;order:-1}.inner-hero-copy{padding:3.5rem var(--pad)}.partner-grid{grid-template-columns:repeat(2,1fr)}.about-sections{padding-left:var(--pad);padding-right:var(--pad)}}
@media(max-width:560px){.inner-hero>img{min-height:280px;height:38svh}.inner-hero h1{font-size:clamp(2.7rem,12vw,4rem)}.partner-grid{grid-template-columns:1fr}.partner-grid a{min-height:210px}.sales-grid{grid-template-columns:1fr}.sales-grid a{min-height:150px}.about-principles .company-code{display:none}}

/* Contact page: separate legal details from the enquiry task. */
.contact-page-form{max-width:none;margin:0;padding:clamp(5rem,8vw,8rem) max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));background:var(--carbon);color:white}
.contact-page-form .contact-intro{align-self:start}
.contact-page-form .contact-intro h2{max-width:10ch;font-size:clamp(2.8rem,4.4vw,4.8rem);line-height:.95}
.contact-page-form .contact-intro .eyebrow{color:var(--amber)}
.contact-page-form .contact-intro>p:not(.eyebrow){color:#cbd2d4}
.contact-page-form .field label{color:#e9eded}
.contact-page-form .field input,.contact-page-form .field select,.contact-page-form .field textarea{border:1px solid #51595c;background:#f5f3ec;color:var(--carbon);transition:border-color .2s,box-shadow .2s}
.contact-page-form .field input:focus,.contact-page-form .field select:focus,.contact-page-form .field textarea:focus{border-color:var(--amber);outline:3px solid rgba(244,180,26,.3);outline-offset:2px}
.contact-page-form .demo-note{color:#b9c1c3}
.contact-page-form .form-status{color:#a9d7e5}
.contact-page-form .button{background:var(--amber);color:var(--carbon)}
.shop .eyebrow,.contact-page-hero .eyebrow{color:#86aebe}
@media(max-width:820px){.contact-page-form{grid-template-columns:1fr;gap:3rem}}

/* Keep manufacturer cards aligned across every grid row and locale. */
.partner-grid{grid-auto-rows:1fr}
.partner-grid>li,.partner-grid>li>a{height:100%}

/* Rebalance the homepage consultation CTA toward the visual center. */
.home-contact-cta {
  width: auto;
  max-width: none;
  margin-inline: 0;
  padding-inline: max(var(--pad), calc((100vw - var(--max)) / 2));
  grid-template-columns: minmax(0, 3fr) minmax(20rem, 2fr);
  column-gap: clamp(3rem, 6vw, 6rem);
}
.home-contact-cta .eyebrow,
.home-contact-cta h2,
.home-contact-cta > p {
  grid-column: 1;
}
.home-contact-cta h2 {
  font-size: clamp(2.5rem, 4.1vw, 4.4rem);
}
.home-contact-cta .button {
  grid-column: 2;
  justify-self: end;
}
@media (max-width: 820px) {
  .home-contact-cta {
    grid-template-columns: 1fr;
  }
  .home-contact-cta .eyebrow,
  .home-contact-cta h2,
  .home-contact-cta > p,
  .home-contact-cta .button {
    grid-column: 1;
  }
  .home-contact-cta .button {
    justify-self: start;
  }
}
