/* Radivue design-system fidelity layer, based on p80-style-guide.liquid. */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/inter-latin-variable.woff2") format("woff2-variations");
}

@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/inter-latin-variable-italic.woff2")
    format("woff2-variations");
}

:root {
  --font-body-family: "Inter", Arial, sans-serif;
  --font-heading-family: "Inter", Arial, sans-serif;
  --color-brand-primary: 7, 86, 202;
  --color-brand-primary-dark: 5, 65, 157;
  --color-brand-navy: 8, 41, 101;
  --color-text-primary: 23, 23, 23;
  --color-text-muted: 85, 85, 85;
  --color-border: 228, 228, 228;
  --color-surface: 255, 255, 255;
  --color-surface-subtle: 248, 248, 248;
  --color-white: 255, 255, 255;
  --color-black: 0, 0, 0;
  --color-background: var(--color-white);
  --color-foreground: var(--color-text-primary);
  --color-error: 152, 0, 0;
  --color-success: 23, 99, 58;
  --input-focus-color: var(--color-brand-primary);
  --inputs-border-opacity: 0.2;
  --inputs-border-width: 0.1rem;
  --color-primary: rgb(var(--color-brand-primary));
  --color-primary-dark: rgb(var(--color-brand-primary-dark));
  --color-primary-hover: #0649ac;
  --color-primary-light: #075bd2;
  --color-primary-bright: #075cd4;
  --color-primary-deep: #063c96;
  --color-accent: #0874df;
  --color-accent-bright: #0d6eea;
  --color-navy: rgb(var(--color-brand-navy));
  --color-navy-dark: #062a70;
  --color-navy-mid: #06347d;
  --color-navy-deep: #061e4e;
  --color-navy-blue: #082e76;
  --color-navy-slate: #0c2d5a;
  --color-ink: #11223b;
  --color-text: rgb(var(--color-text-primary));
  --color-muted: rgb(var(--color-text-muted));
  --color-muted-blue: #5c6878;
  --color-muted-slate: #718095;
  --color-surface-white: rgb(var(--color-white));
  --color-surface-soft: rgb(var(--color-surface-subtle));
  --color-surface-blue: #f3f7fc;
  --color-surface-blue-light: #f7faff;
  --color-surface-blue-pale: #f1f7ff;
  --color-surface-blue-muted: #f2f7fd;
  --color-surface-cool: #fafcff;
  --color-surface-success: #effaf4;
  --color-border-default: rgb(var(--color-border));
  --color-border-blue: #dce5f0;
  --color-border-blue-strong: #b9c7d7;
  --color-border-primary-soft: #a9c9f1;
  --color-success-solid: rgb(var(--color-success));
  --color-success-border: #8cc5a6;
  --color-blue-100: #eaf3ff;
  --color-blue-200: #dceaff;
  --color-blue-300: #d8e8ff;
  --color-blue-400: #c8ddf6;
  --color-blue-500: #bad7fa;
  --color-blue-600: #9fd3ff;
  --color-blue-700: #83c6ff;
  --color-blue-800: #7fc3ff;
  --color-blue-900: #7ec1ff;
  --color-gray-blue: #a9b9ca;
  --color-gray-blue-light: #b8cbe1;
  --color-overlay-white-5: rgb(var(--color-white) / 5%);
  --color-overlay-white-10: rgb(var(--color-white) / 10%);
  --color-overlay-white-12: rgb(var(--color-white) / 12%);
  --color-overlay-white-13: rgb(var(--color-white) / 13%);
  --color-overlay-white-14: rgb(var(--color-white) / 14%);
  --color-overlay-white-15: rgb(var(--color-white) / 15%);
  --color-overlay-white-18: rgb(var(--color-white) / 18%);
  --color-overlay-white-20: rgb(var(--color-white) / 20%);
  --color-overlay-white-22: rgb(var(--color-white) / 22%);
  --color-overlay-white-24: rgb(var(--color-white) / 24%);
  --color-overlay-white-25: rgb(var(--color-white) / 25%);
  --color-overlay-white-28: rgb(var(--color-white) / 28%);
  --color-overlay-white-30: rgb(var(--color-white) / 30%);
  --color-overlay-white-42: rgb(var(--color-white) / 42%);
  --color-overlay-white-82: rgb(var(--color-white) / 82%);
  --color-overlay-white-84: rgb(var(--color-white) / 84%);
  --color-overlay-white-88: rgb(var(--color-white) / 88%);
  --color-overlay-primary-8: rgb(var(--color-brand-primary) / 8%);
  --color-overlay-primary-12: rgb(var(--color-brand-primary) / 12%);
  --color-overlay-primary-20: rgb(var(--color-brand-primary) / 20%);
  --color-overlay-primary-25: rgb(var(--color-brand-primary) / 25%);
  --color-overlay-primary-32: rgb(var(--color-brand-primary) / 32%);
  --color-overlay-primary-45: rgb(var(--color-brand-primary) / 45%);
  --color-overlay-navy-6: rgb(var(--color-brand-navy) / 6%);
  --color-overlay-navy-8: rgb(var(--color-brand-navy) / 8%);
  --color-overlay-navy-14: rgb(var(--color-brand-navy) / 14%);
  --color-overlay-text-3: rgb(var(--color-text-primary) / 3%);
  --color-overlay-text-4: rgb(var(--color-text-primary) / 4%);
  --color-overlay-text-8: rgb(var(--color-text-primary) / 8%);
  --color-overlay-text-50: rgb(var(--color-text-primary) / 50%);
  --color-overlay-text-75: rgb(var(--color-text-primary) / 75%);
  --color-overlay-hero-start: rgb(3 29 70 / 82%);
  --color-overlay-hero-middle: rgb(4 40 92 / 55%);
  --color-overlay-hero-end: rgb(4 33 76 / 3%);
  --color-overlay-hero-mobile-start: rgb(3 24 58 / 92%);
  --color-overlay-hero-mobile-end: rgb(4 38 85 / 20%);
  --color-overlay-gallery: rgb(2 20 48 / 90%);
  --color-overlay-dark: rgb(0 18 58 / 32%);
  --color-overlay-deep: rgb(2 13 34 / 92%);
  --color-overlay-navy-deep: rgb(3 23 61 / 92%);
  --color-overlay-sky: rgb(85 173 255 / 28%);
  --color-overlay-sky-strong: rgb(80 171 255 / 42%);
  --color-overlay-blue: rgb(73 166 255 / 30%);
  --color-shadow-blue: rgb(21 55 96 / 10%);
  --color-shadow-navy-soft: rgb(24 60 100 / 4%);
  --color-shadow-primary-focus: rgb(var(--color-brand-primary) / 12%);
  --color-shadow-primary-soft: rgb(var(--color-brand-primary) / 25%);
  --footer-gradient-start: var(--color-primary);
  --footer-gradient-end: var(--color-navy-dark);
  --font-size-h1: 4.8rem;
  --font-size-h2: 3.6rem;
  --font-size-h3: 3.2rem;
  --font-size-h4: 2.4rem;
  --font-size-h5: 1.8rem;
  --font-size-h6: 1.6rem;
  --line-height-h1: 5.6rem;
  --line-height-h2: 4.4rem;
  --line-height-h3: 4rem;
  --line-height-h4: 3.2rem;
  --line-height-h5: 2.4rem;
  --line-height-h6: 2.4rem;
  --heading-measure-hero: 18ch;
  --heading-measure-standard: 24ch;
  --font-weight-heading: 700;
  --font-weight-tagline: var(--font-weight-tagline-regular);
  --letter-spacing-heading: normal;
  --letter-spacing-tagline: 0.2rem;
  --space-tagline-heading: 0.8rem;
  --font-size-paragraph-extra-small: 1.2rem;
  --line-height-paragraph-extra-small: 1.8rem;
  --font-weight-paragraph-extra-small: 400;
  --font-size-paragraph-small: 1.4rem;
  --line-height-paragraph-small: 2rem;
  --font-weight-paragraph-small: 400;
  --font-size-paragraph-regular: 1.6rem;
  --line-height-paragraph-regular: 2.4rem;
  --font-weight-paragraph-regular: 400;
  --font-size-paragraph-large: 1.8rem;
  --line-height-paragraph-large: 3.2rem;
  --font-weight-paragraph-large: 400;
  --font-size-tagline-extra-small: 1rem;
  --line-height-tagline-extra-small: 1.4rem;
  --font-weight-tagline-extra-small: 700;
  --font-size-tagline-small: 1.1rem;
  --line-height-tagline-small: 1.6rem;
  --font-weight-tagline-small: 700;
  --font-size-tagline-regular: 1.3rem;
  --line-height-tagline-regular: 1.8rem;
  --font-weight-tagline-regular: 700;
  --font-size-tagline-large: 1.4rem;
  --line-height-tagline-large: 2rem;
  --font-weight-tagline-large: 700;
  --duration-short: 180ms;
  --duration-long: 500ms;
  --radivue-primary: var(--color-primary);
  --radivue-primary-dark: var(--color-primary-dark);
  --radivue-navy: var(--color-navy);
  --radivue-text: var(--color-text);
  --radivue-muted: var(--color-muted);
  --radivue-border: var(--color-border-default);
  --radivue-surface: var(--color-surface-soft);
  --button-font-size: var(--font-size-paragraph-extra-small);
  --button-line-height: var(--line-height-paragraph-extra-small);
  --button-font-weight: var(--font-weight-tagline-regular);
  --button-min-height: 5rem;
  --button-padding-block: 1.4rem;
  --button-padding-inline: 2.8rem;
  --button-radius: 0.5rem;
  --button-shadow: 0.5rem 0.5rem 0 var(--color-overlay-primary-8);
  --input-font-size: var(--font-size-paragraph-regular);
  --input-line-height: var(--line-height-paragraph-regular);
  --input-min-height: 5.6rem;
  --input-padding-block: 1.4rem;
  --input-padding-inline: 1.6rem;
  --input-radius: 0.4rem;
}

html,
body {
  font-family: var(--font-body-family);
}

html {
  font-size: 62.5%;
}

body {
  color: var(--radivue-text);
  font-size: var(--font-size-paragraph-regular);
  letter-spacing: normal;
  line-height: var(--line-height-paragraph-regular);
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  color: rgb(var(--color-brand-navy));
  font-family: var(--font-heading-family);
  font-style: normal;
  font-weight: var(--font-weight-heading);
  letter-spacing: var(--letter-spacing-heading);
  margin-block: 0;
}

.h1 {
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
}

.h2 {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
}

.h3 {
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
}

.h4 {
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
}

.h5 {
  font-size: var(--font-size-h5);
  line-height: var(--line-height-h5);
}

.h6 {
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
}

.heading-measure,
.heading-measure-hero {
  text-wrap: balance;
}

.heading-measure {
  max-inline-size: var(--heading-measure-standard);
}

.heading-measure-hero {
  max-inline-size: var(--heading-measure-hero);
}

.section-head.center .heading-measure {
  margin-inline: auto;
}

.paragraph-extra-small,
.paragraph-small,
.paragraph-regular,
.paragraph-large {
  color: var(--color-muted);
  font-family: var(--font-body-family);
  font-style: normal;
  letter-spacing: normal;
  margin-block: 0;
}

.paragraph-extra-small {
  font-size: var(--font-size-paragraph-extra-small);
  font-weight: var(--font-weight-paragraph-extra-small);
  line-height: var(--line-height-paragraph-extra-small);
}

.paragraph-small {
  font-size: var(--font-size-paragraph-small);
  font-weight: var(--font-weight-paragraph-small);
  line-height: var(--line-height-paragraph-small);
}

.paragraph-regular {
  font-size: var(--font-size-paragraph-regular);
  font-weight: var(--font-weight-paragraph-regular);
  line-height: var(--line-height-paragraph-regular);
}

.paragraph-large {
  font-size: var(--font-size-paragraph-large);
  font-weight: var(--font-weight-paragraph-large);
  line-height: var(--line-height-paragraph-large);
}

.tagline-extra-small,
.tagline-small,
.tagline,
.tagline-regular,
.tagline-large {
  color: var(--color-primary);
  font-family: var(--font-body-family);
  font-style: normal;
  letter-spacing: var(--letter-spacing-tagline);
  margin: 0 0 var(--space-tagline-heading);
  text-transform: uppercase;
}

.tagline-extra-small {
  font-size: var(--font-size-tagline-extra-small);
  font-weight: var(--font-weight-tagline-extra-small);
  line-height: var(--line-height-tagline-extra-small);
}

.tagline-small {
  font-size: var(--font-size-tagline-small);
  font-weight: var(--font-weight-tagline-small);
  line-height: var(--line-height-tagline-small);
}

.tagline,
.tagline-regular {
  font-size: var(--font-size-tagline-regular);
  font-weight: var(--font-weight-tagline-regular);
  line-height: var(--line-height-tagline-regular);
}

.tagline-large {
  font-size: var(--font-size-tagline-large);
  font-weight: var(--font-weight-tagline-large);
  line-height: var(--line-height-tagline-large);
}

.container,
.page-width {
  margin: 0 auto;
  max-width: 144rem;
  padding-left: 5rem;
  padding-right: 5rem;
  width: 100%;
}

.radivue-topbar {
  background: linear-gradient(100deg, var(--color-primary), var(--color-navy));
  color: var(--color-surface-white);
}

.radivue-topbar__inner {
  align-items: center;
  display: flex;
  min-height: 5.6rem;
}

.radivue-topbar__details {
  align-items: center;
  display: flex;
  gap: clamp(3rem, 4vw, 5.5rem);
}

.radivue-topbar__details a {
  align-items: center;
  display: flex;
  font-size: var(--font-size-paragraph-small);
  font-weight: var(--font-weight-paragraph-small);
  gap: 1rem;
}

.site-header {
  position: relative;
  top: auto;
}

.nav {
  display: grid;
  grid-template-columns: minmax(25rem, 1fr) auto;
  min-height: 13.2rem;
  height: auto;
  padding-block: 1.5rem;
}

.logo {
  width: 30rem;
}

.logo img {
  height: auto;
  max-height: 9.2rem;
  object-fit: contain;
  width: 100%;
}

.desktop-nav {
  gap: clamp(0.8rem, 1.5vw, 2.4rem);
  justify-self: end;
}

.desktop-nav a {
  color: var(--color-text);
  font-size: var(--font-size-paragraph-small);
  font-weight: var(--font-weight-paragraph-small);
  padding: 1.5rem 0.8rem;
  position: relative;
}

.desktop-nav a.active::after {
  background: var(--radivue-primary);
  bottom: -2.6rem;
  content: "";
  height: 0.3rem;
  left: 0.8rem;
  position: absolute;
  right: 0.8rem;
}

.desktop-nav .quote {
  color: var(--color-surface-white) !important;
  padding: 1.3rem 2.2rem;
}

.breadcrumb {
  padding-block: 1.4rem;
}

.hero {
  align-items: center;
  background: var(--color-surface-blue-light);
  min-height: min(64rem, 67vw);
}

.hero::after {
  display: none;
}

.hero picture img {
  object-position: center;
}

.hero-content {
  color: var(--radivue-navy);
  max-width: 61rem;
  padding-block: 7.2rem;
}

.hero .h1 {
  color: var(--radivue-navy);
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-heading);
  letter-spacing: normal;
  line-height: var(--line-height-h1);
  margin-bottom: 1.8rem;
}

.hero p:not(.tagline) {
  color: var(--radivue-muted);
  font-size: var(--font-size-paragraph-large);
  line-height: var(--line-height-paragraph-large);
}

.hero .secondary {
  border-color: var(--radivue-primary);
  color: var(--radivue-primary);
}

.section {
  padding-block: 6.4rem;
}

.section-head {
  margin-bottom: 4rem;
}

.ntc-heading {
  align-items: center;
  display: flex;
  gap: 1.2rem;
  justify-content: center;
}

.ntc-heading img {
  flex: 0 0 5.2rem;
  height: 5.2rem;
  width: 5.2rem;
}

.service-list {
  border: 0;
  gap: 1.6rem;
}

.service,
.service:nth-child(5n) {
  border: 0.1rem solid var(--radivue-border);
  border-radius: 1.2rem;
  min-height: 21rem;
  padding: 2.4rem;
}

.service-icon {
  align-items: center;
  border: 0.1rem solid var(--color-primary) 40;
  border-radius: 50%;
  color: var(--radivue-primary);
  display: flex;
  height: 5.2rem;
  justify-content: center;
  margin-bottom: 2rem;
  width: 5.2rem;
}

.service-icon svg {
  height: 2.8rem;
  width: 2.8rem;
}

.service h3 {
  color: var(--radivue-navy);
  font-size: var(--font-size-paragraph-regular);
  line-height: var(--line-height-paragraph-regular);
}

.feature-strip {
  background: var(--color-surface-white);
  color: var(--radivue-navy);
}

.features {
  background: linear-gradient(100deg, var(--color-primary), var(--color-navy));
  border-radius: 1rem;
  gap: 0;
  padding: 1.8rem 2.4rem;
}

.feature {
  display: grid;
  gap: 1.6rem;
  grid-template-columns: 5.6rem 1fr;
  min-height: 8rem;
  padding: 0 2rem;
}

.feature + .feature {
  border-left: 0.1rem solid var(--color-overlay-white-24);
}

.feature .icon {
  align-self: center;
  background: transparent;
  font-size: var(--font-size-h3);
  height: auto;
  margin: 0;
  width: 4.2rem;
}

.feature h3 {
  align-self: end;
  font-size: var(--font-size-paragraph-extra-small);
  line-height: var(--line-height-paragraph-extra-small);
  margin-bottom: 0.6rem;
  text-transform: uppercase;
}

.feature p {
  font-size: var(--font-size-paragraph-extra-small);
  line-height: var(--line-height-paragraph-extra-small);
}

.alt {
  background: var(--radivue-surface);
}

.cards {
  gap: 1.6rem;
}

body[data-page="home"] .cards {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.solution-card {
  align-items: center;
  border: 0.1rem solid var(--radivue-border);
  border-radius: 0.6rem;
  box-shadow: 0 0.4rem 1.4rem var(--color-navy) 0f;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 2rem 1.4rem;
  text-align: center;
}

.solution-card__media {
  align-items: center;
  display: flex;
  height: 8rem;
  justify-content: center;
  margin-bottom: 1.4rem;
  width: 100%;
}

.solution-card__media img {
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.solution-card h3,
.solution-card__title {
  color: var(--radivue-navy);
  font-size: var(--font-size-tagline-regular);
  line-height: var(--line-height-tagline-regular);
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.solution-card p,
.solution-card__description {
  color: var(--radivue-muted);
  font-size: var(--font-size-paragraph-extra-small);
  line-height: var(--line-height-paragraph-extra-small);
  margin: 0 0 1.8rem;
}

.solution-card__link {
  color: var(--radivue-primary);
  font-size: var(--font-size-paragraph-extra-small);
  font-weight: var(--font-weight-paragraph-extra-small);
  margin-top: auto;
  text-transform: uppercase;
}

.brand-logo {
  border-radius: 0.8rem;
  box-shadow: 0 0.4rem 1.6rem var(--color-navy) 0f;
  min-height: 15rem;
}

.brand-logo img {
  max-height: 8.8rem;
}

.cta {
  padding: 0;
}

.cta-inner {
  min-height: 17rem;
  padding-block: 5.6rem;
}

.button {
  border-radius: var(--button-radius);
  box-shadow: var(--button-shadow);
  font-size: var(--button-font-size);
  font-weight: var(--button-font-weight);
  line-height: var(--button-line-height);
  min-height: var(--button-min-height);
  padding: var(--button-padding-block) var(--button-padding-inline);
}

.button.secondary,
.button.light-outline {
  box-shadow: none;
}

.field {
  gap: 0.8rem;
}

.field label {
  color: var(--radivue-text);
  font-size: var(--font-size-paragraph-small);
  font-weight: var(--font-weight-paragraph-small);
  line-height: var(--line-height-paragraph-small);
}

.field input,
.field select,
.field textarea {
  background: var(--color-surface-white);
  border: 0.1rem solid var(--radivue-border);
  border-radius: var(--input-radius);
  color: var(--radivue-text);
  font-size: var(--input-font-size);
  line-height: var(--input-line-height);
  min-height: var(--input-min-height);
  padding: var(--input-padding-block) var(--input-padding-inline);
}

.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: var(--radivue-primary);
  box-shadow: 0 0 0 0.1rem var(--radivue-primary);
}

body[data-page="about"] #main > .section:first-child {
  background:
    radial-gradient(
      circle at 85% 20%,
      var(--color-overlay-sky),
      transparent 30%
    ),
    linear-gradient(115deg, var(--color-primary), var(--color-navy));
  color: var(--color-surface-white);
  padding-block: 8rem;
}

body[data-page="about"] #main > .section:first-child .about-intro {
  grid-template-columns: minmax(0, 1.2fr) minmax(30rem, 0.8fr);
  gap: 6rem;
}

body[data-page="about"] #main > .section:first-child h1 {
  color: var(--color-surface-white);
}

body[data-page="about"] #main > .section:first-child h1 {
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
}

body[data-page="about"] #main > .section:first-child .about-copy > p {
  color: var(--color-overlay-white-84);
}

.expertise {
  backdrop-filter: blur(1.2rem);
  background: var(--color-overlay-white-10);
  border: 0.1rem solid var(--color-overlay-white-22);
  border-radius: 1.6rem;
}

.capability-card {
  border-radius: 1.6rem;
  min-height: 34rem;
}

.capability-card img {
  height: 17.6rem;
}

.page-hero {
  background:
    radial-gradient(
      circle at 84% 20%,
      var(--color-overlay-sky),
      transparent 28%
    ),
    linear-gradient(115deg, var(--color-primary), var(--color-navy));
  color: var(--color-surface-white);
  padding-block: 7.6rem;
}

.page-hero .section-head .h1,
.page-hero .section-head p:not(.tagline) {
  color: var(--color-surface-white);
}

.page-hero .section-head p:not(.tagline) {
  color: var(--color-overlay-white-84);
  font-size: var(--font-size-paragraph-large);
}

.directory {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.directory .solution-card {
  align-items: flex-start;
  border-radius: 1.6rem;
  min-height: 34rem;
  padding: 2.8rem;
  text-align: left;
}

.directory .solution-card__media {
  height: 9.6rem;
  justify-content: flex-start;
}

.directory .solution-card__media img {
  width: 9.6rem;
}

.directory .solution-card h3 {
  font-size: var(--font-size-paragraph-large);
  line-height: var(--line-height-paragraph-large);
  text-transform: none;
}

.gallery-item {
  border-radius: 1.4rem;
}

.brand-directory {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.brand-card {
  border-radius: 1.4rem;
  padding: 2.4rem;
}

.brand-image {
  height: 13rem;
}

.contact-aside {
  background: linear-gradient(145deg, var(--color-primary), var(--color-navy));
  border-radius: 1.6rem;
}

.form-card {
  border-radius: 1.6rem;
}

.footer-wrap {
  padding: 0;
}

.footer-card {
  border-radius: 0;
  padding-top: 5.6rem;
}

.footer-main {
  grid-template-columns: 1.35fr 1.15fr 1fr;
  padding: 0 0 5.6rem;
}

.footer-logo {
  display: block;
  margin: 0 auto 1.8rem;
  max-width: 28rem;
}

.footer-logo img {
  filter: brightness(0) invert(1);
}

.footer-description {
  margin-inline: auto;
  text-align: center;
}

.footer-bottom {
  padding: 2.4rem 0;
}

@media (max-width: 1100px) {
  .nav {
    grid-template-columns: 22rem auto;
  }

  .logo {
    width: 22rem;
  }

  body[data-page="home"] .cards {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 749px) {
  :root {
    --font-size-h1: 3.6rem;
    --font-size-h2: 3.2rem;
    --font-size-h3: 2.4rem;
    --font-size-h4: 2rem;
    --font-size-h5: 1.7rem;
    --font-size-h6: 1.5rem;
    --line-height-h1: 4.4rem;
    --line-height-h2: 4rem;
    --line-height-h3: 3.2rem;
    --line-height-h4: 2.8rem;
    --line-height-h5: 2.4rem;
    --line-height-h6: 2.2rem;
  }

  .container,
  .page-width {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .radivue-topbar__inner {
    min-height: 4.4rem;
  }

  .radivue-topbar__details {
    justify-content: space-between;
    width: 100%;
  }

  .radivue-topbar__details a {
    font-size: var(--font-size-paragraph-extra-small);
    gap: 0.6rem;
  }

  .topbar-address {
    display: none !important;
  }

  .nav {
    display: flex;
    min-height: 7.6rem;
    padding-block: 0.8rem;
  }

  .logo {
    width: 19rem;
  }

  .logo img {
    max-height: 6.2rem;
  }

  .desktop-nav {
    inset: 12rem 0 auto;
  }

  .hero {
    display: block;
    min-height: 0;
  }

  .hero picture,
  .hero picture img {
    height: 36rem;
    position: relative;
  }

  .hero picture img {
    object-position: 72% center;
  }

  .hero-content {
    background: var(--color-surface-white);
    max-width: none;
    padding: 3.2rem 0 5.4rem;
    text-align: center;
  }

  .hero .h1 {
    font-size: var(--font-size-h1);
    letter-spacing: normal;
    line-height: var(--line-height-h1);
  }

  .hero p:not(.tagline) {
    font-size: var(--font-size-paragraph-regular);
  }

  .ntc-heading img {
    height: 4.4rem;
    width: 4.4rem;
  }

  .features {
    border-radius: 0;
    display: grid;
    grid-template-columns: 1fr;
    padding: 1.6rem;
  }

  .feature {
    padding: 2rem;
  }

  .feature + .feature {
    border-left: 0;
    border-top: 0.1rem solid var(--color-overlay-white-24);
  }

  body[data-page="home"] .cards,
  .directory,
  .brand-directory {
    grid-template-columns: 1fr;
  }

  .solution-card__media {
    height: 20rem;
  }

  .solution-card h3,
  .solution-card__title {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
  }

  body[data-page="about"] #main > .section:first-child .about-intro {
    grid-template-columns: 1fr;
  }

  .footer-main {
    grid-template-columns: 1fr;
    padding-inline: 1.5rem;
  }
}
